Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje pokyny pro týmy úloh, které mají stávající investice do operací strojového učení (MLOps) a chtějí tyto investice rozšířit tak, aby zahrnovaly technologie a vzory generování umělé inteligence ve svých úlohách. Pokud chcete zprovoznit funkce úloh generující AI, musíte investice mlOps rozšířit o operace generování AI (GenAIOps), někdy označované jako LLMOps. Tento článek popisuje technické vzory, které jsou společné pro tradiční úlohy strojového učení i generování úloh umělé inteligence a vzory jedinečné pro generování umělé inteligence. Zjistěte, kde můžete použít stávající investice do operacionalizace a kde je potřeba tyto investice rozšířit.
Plánování a implementace MLOps a GenAIOps jsou součástí základní oblasti návrhu v úlohách AI v Azure. Další informace o tom, proč tyto úlohy potřebují specializované operace, najdete v tématu MLOps a GenAIOps pro úlohy AI v Azure.
Technické vzory pro generativní AI
Generování úloh umělé inteligence se liší od tradičních úloh strojového učení několika způsoby:
Zaměřte se na generování modelů. Tradiční úlohy strojového učení se zaměřují na trénování nových modelů pro konkrétní úlohy. Úlohy generativní umělé inteligence spotřebovávají a někdy dolaďují generativní modely, které mohou řešit širší spektrum případů použití. Některé z těchto modelů jsou multimodální.
Zaměřte se na rozšíření modelů. Klíčovým aktivem v tradičním strojovém učení je natrénovaný a nasazený model. Přístup k modelu se poskytuje klientskému kódu v jedné nebo více úlohách, ale úloha obvykle není součástí procesu MLOps. U řešení generující umělé inteligence je klíčovým aspektem řešení výzva poskytnutá generativnímu modelu. Výzva se musí skládat z pokynů a často obsahuje kontextová data z jednoho nebo více úložišť dat. Systém, který orchestruje logiku, volání různých back-endů nebo agentů, vygeneruje výzvu a volání generujícího modelu je součástí systému generující umělé inteligence, který řídíte s GenAIOps.
Některá řešení generující AI používají tradiční postupy strojového učení, jako je trénování modelů a vyladění. Tato řešení však přinášejí nové vzory, které byste měli standardizovat. Existují tři široké kategorie technických vzorů pro generování řešení umělé inteligence:
- Jemné doladění
- Výzva
- Generování s podporou vyhledávání (RAG)
Vyladění jazykových modelů
Řada řešení generující AI používá existující základní jazykové modely, které před použitím nevyžadují jemné ladění. Některé případy použití ale můžou těžit z vyladění základního modelu, což může být malý jazykový model nebo velký jazykový model.
Vyladění základního modelu se řídí logickými procesy podobnými procesům pro trénování tradičních modelů strojového učení, jako je příprava dat, trénování modelu, vyhodnocení a nasazení. Tyto procesy by měly využívat vaše stávající investice do MLOps k zajištění škálovatelnosti, reprodukovatelnosti a zásad správného řízení.
Výzva
Promptování je umění a věda vytváření efektivních vstupů pro jazykové modely. Tyto vstupy obvykle spadají do dvou kategorií. Systémové výzvy definují osobu, tón nebo chování modelu. Výzvy uživatele představují interakci uživatele s jazykovým modelem.
Orchestrátor obvykle spravuje pracovní postup, který generuje tyto výzvy. Dokáže načíst základní data z různých zdrojů, a to buď přímo, nebo prostřednictvím agentů, a použít logiku pro vytvoření nejúčinnější pobídky. Tento orchestrátor se často nasazuje jako koncový bod rozhraní API, který umožňuje klientským aplikacím přístup jako součást inteligentního systému.
Následující diagram znázorňuje architekturu pro prompt engineering.
Tato kategorie technických vzorů může řešit mnoho případů použití:
- Klasifikace
- Překlad
- Sumarizace
- HADR
HADR
RAG je model architektury, který vylepšuje jazykové modely začleněním dat specifických pro doménu do výzvy. Tato základní data umožňují modelu zdůvodnění informací specifických pro vaši společnost, zákazníky nebo doménu. V řešení RAG se vrstva orchestrace dotazuje na zdroje dat a do zadaného úkolu vloží nejrelevantnější výsledky. Orchestrátor pak odešle tuto rozšířenou výzvu do jazykového modelu, obvykle vystavený prostřednictvím koncového bodu rozhraní API pro použití v inteligentních aplikacích.
Typickou implementací RAG je rozdělení zdrojových dat do bloků dat a jejich uložení do vektorového úložiště spolu s metadaty. Vektorová úložiště, jako je Azure AI Search, umožňují provádět hledání textových i vektorových podobností a vracet kontextově relevantní výsledky. Řešení RAG mohou také použít jiná úložiště dat k vrácení podkladových dat.
Následující diagram znázorňuje architekturu RAG, která zahrnuje data z dokumentů.
Rozšíření MLOps pro generativní umělou inteligenci a její technické vzory
Proces MLOps řeší vnitřní smyčku i procesy vnější smyčky. Technické vzory generující umělé inteligence mají také mnoho stejných aktivit. V některých případech použijete své stávající investice do MLOps. V jiných případech je potřeba je rozšířit:
Vnitřní smyčka
Vnější smyčka
- Nasazení
- Odvozování a monitorování
- Cyklus zpětné vazby
DataOps
MlOps i GenAIOps používají základy datových operací (DataOps) k vytváření rozšiřitelných a reprodukovatelných pracovních postupů. Tyto pracovní postupy zajišťují, aby se data správně vyčistila, transformovala a naformátovala pro experimentování a hodnocení. Reprodukovatelnost pracovních postupů a správa verzí dat jsou důležité funkce DataOps pro všechny technické vzory. Zdroje, typy a záměry dat závisí na vzoru.
Trénování a vyladění
Tento technický model by měl plně využívat stávající investice do DataOps z implementace MLOps. Reprodukovatelnost a správa verzí dat umožňují experimentovat s různými technickými daty funkcí, porovnávat výkon různých modelů a reprodukovat výsledky.
RAG a návrh výzev
Záměrem dat v řešeních RAG je poskytnout podkladová data (nebo kontext), která jsou prezentována jazykovému modelu jako součást výzvy. Řešení RAG často vyžadují zpracování velkých dokumentů nebo datových sad do kolekce správných sémanticky relevantních bloků dat a zachování těchto bloků dat v úložišti vektorů. Další informace najdete v tématu Návrh a vývoj řešení RAG. Reprodukovatelnost a správa verzí dat pro řešení RAG umožňuje experimentovat s různými strategiemi vytváření bloků dat a vkládáním, porovnávat výkon a vrátit se zpět k předchozím verzím.
Datové linky pro zpracování dokumentů po částech nejsou součástí DataOps v tradičním MLOps, proto je nutné rozšířit vaši architekturu a provoz. Datové kanály mohou číst data z různorodých zdrojů, které zahrnují strukturovaná i nestrukturovaná data. Mohou také zapisovat transformovaná data do různých úložišť. Kanály musíte rozšířit tak, aby zahrnovaly úložiště dat, která používáte k uzemnění dat. Typická úložiště dat pro tyto vzory jsou vektorová úložiště, jako je vyhledávání AI.
Stejně jako u trénování a doladění lze kanály Azure Machine Learning nebo jiné nástroje pro zpracování dat použít k orchestraci fází dělení dat na úseky.
Údržba indexu vyhledávání
Musíte také rozšířit operace, aby se zachovala aktuálnost a platnost indexů vyhledávání v úložištích dat. Pokud nemůžete přírůstkově přidávat, odebírat nebo aktualizovat data, budete možná muset tyto indexy pravidelně znovu sestavit. Aktualizace indexu musí splňovat obchodní požadavky na aktuálnost dat, nefunkční požadavky, jako je výkon a dostupnost, a požadavky na dodržování předpisů, jako je právo na zapomenuté požadavky. Abyste zajistili přesnost, dodržování předpisů a optimální výkon, musíte rozšířit stávající proces MLOps tak, aby se zohlednila údržba a aktualizace indexů vyhledávání.
Experimentování
Experimentování, která je součástí vnitřní smyčky, je iterativní proces vytváření, vyhodnocování a upřesňování řešení. Následující části popisují experimentování pro typické technické vzory generující umělé inteligence.
Trénování a vyladění
Když doladíte existující jazykový model nebo vytrénujete malý jazykový model, můžete využít aktuální investice do MLOps. Hotové sady pro Machine Learning například poskytují sadu nástrojů pro efektivní a účinné provádění experimentů. Tyto kanály umožňují spravovat celý proces vyladění od předběžného zpracování dat až po trénování a vyhodnocení modelu.
RAG a návrh výzev
Experimentování s úlohami v oblasti návrhu podnětů a RAG vyžaduje rozšíření vašich investic do operací strojového učení (MLOps). U těchto technických vzorů úloha nekončí modelem. Úloha vyžaduje orchestrátor, což je systém, který může spouštět logiku, volat úložiště dat nebo agenty pro požadované informace, jako jsou uzemnění dat, generování výzev a volání jazykových modelů. Úložiště dat a indexy v úložištích jsou také součástí úlohy. Abyste mohli tyto aspekty úlohy řídit, musíte rozšířit své operace.
Můžete experimentovat s několika dimenzemi pro různé výzvy, včetně různých systémových instrukcí, osob, příkladů, omezení a pokročilých technik, jako je řetězení výzev. Při experimentování s řešeními RAG můžete také experimentovat s dalšími oblastmi:
- Strategie vytváření bloků dat
- Metody pro rozšiřování bloků dat
- Výběr modelu zabudování
- Konfigurace indexu vyhledávání
- Typy hledání, které se mají provést, například vektorové, fulltextové a hybridní
Jak je popsáno v DataOps, reprodukovatelnost a správa verzí dat jsou klíčem k experimentování. Dobrá architektura experimentování umožňuje ukládat vstupy, jako jsou změny hyperparametrů nebo výzev, spolu s výstupy, které se mají použít při vyhodnocování experimentu.
Stejně jako ve stávajícím prostředí MLOps můžete využít výhod architektur, jako jsou kanály Machine Learning. Kanály Machine Learning mají funkce, které podporují indexování integrací s úložišti vektorů, jako je AI Search. Vaše prostředí GenAIOps může využívat těchto funkcí pipeline.
Vyhodnocení a experimentování
Vyhodnocení je klíčem k procesu iterativního experimentování při sestavování, vyhodnocování a upřesňování vašeho řešení. Vyhodnocení změn poskytuje zpětnou vazbu, kterou potřebujete k upřesnění nebo ověření, že aktuální iterace splňuje vaše požadavky. Následující části popisují vyhodnocení ve fázi experimentování pro typické technické vzory generující umělé inteligence.
Jemné doladění
Pokud chcete vyhodnotit jemně vyladěné nebo natrénované generativní modely AI, využijte své stávající investice do MLOps. Pokud například používáte kanály Machine Learning k orchestraci trénování modelu strojového učení, můžete použít stejné funkce hodnocení k vyladění základních jazykových modelů nebo k trénování nových malých jazykových modelů. Mezi tyto funkce patří komponenta Vyhodnotit model, která vypočítá standardní metriky vyhodnocení pro konkrétní typy modelů a porovnává výsledky napříč modely. Pokud vaše úloha používá Microsoft Foundry, můžete místo toho rozšířit proces MLOps tak, aby zahrnoval jeho možnosti vyhodnocení nalezené v sadě Sdk pro vyhodnocení.
RAG a výzva
Pokud chcete vyhodnotit řešení generující AI, musíte rozšířit stávající investice do MLOps. Vyhodnocení můžete použít v Foundry nebo v Evaluation SDK.
Proces experimentování zůstává konzistentní bez ohledu na případ použití vašeho řešení generující umělé inteligence. Mezi tyto případy použití patří klasifikace, shrnutí, překlad a RAG. Důležitým rozdílem jsou metriky, které používáte k vyhodnocení různých případů použití. Na základě případu použití zvažte následující metriky:
- Překlad: BLEU
- Shrnutí: ROUGE, BLEU, BERTScore, METEOR
- Klasifikace: Přesnost, Vyvolání, Důkladnost, Křížová entropie
- RAG: Založenost, relevance, koherence, plynulost
Poznámka:
Další informace o tom, jak vyhodnotit jazykové modely a řešení RAG, najdete v tématu Komplexní vyhodnocení modelu velkého jazyka.
Generování řešení umělé inteligence obecně rozšiřuje odpovědnost týmu strojového učení od trénovacích modelů až po výzvy a správu základních dat. Vzhledem k tomu, že práce s podněty a experimentování a vyhodnocování RAG nemusí nutně vyžadovat datové vědce, můžete být v pokušení využít jiné role, jako jsou softwaroví inženýři a datoví inženýři, k plnění těchto funkcí. Pokud vynecháte datové vědce z procesu experimentování s prací s prompty a řešeními RAG, můžete narazit na problémy. V jiných rolích často chybí specializované školení potřebné k vědeckému vyhodnocení výsledků stejně efektivně jako datoví vědci. Další informace najdete v tématu Návrh a vývoj řešení RAG.
Investice do generativních řešení umělé inteligence pomáhá snížit některé zátěže na vaše zdroje v oblasti datové vědy. Role softwarových inženýrů se v těchto řešeních rozšiřuje. Například softwaroví inženýři jsou skvělými odborníky pro správu odpovědnosti za orchestraci v generačních řešeních AI a jsou zkušení v nastavování metrik vyhodnocení. Je důležité, aby datoví vědci tuto práci zkontrolovali. Mají školení a zkušenosti, aby pochopili, jak správně vyhodnotit experimenty.
Je také vhodné požádat o zpětnou vazbu od odborníků na danou problematiku, když provádíte hodnocení během počáteční fáze projektu.
Nasazení
Některá řešení generující AI zahrnují nasazení vlastních vytrénovaných modelů nebo vyladění existujících modelů. U generujících řešení umělé inteligence musíte zahrnout další úlohy nasazení orchestrátorů a všech úložišť dat. Následující části popisují nasazení pro typické technické vzory generující umělé inteligence.
Jemné doladění
Pomocí stávajících investic MLOps, s některými možnými úpravami, nasaďte generativní AI modely a dolaďte základní modely. Pokud chcete například v Azure OpenAI doladit velký jazykový model, ujistěte se, že jsou trénovací a ověřovací datové sady ve formátu JSONL a nahrajte data prostřednictvím rozhraní REST API. Vytvořte také jemně vyladěnou úlohu. Pokud chcete nasadit natrénovaný malý jazykový model, využijte stávající investice do MLOps.
RAG a výzva
V případě RAG a výzvy zvažte logiku orchestrace, úpravy úložišť dat, jako jsou indexy a schémata, a úpravy logiky datového kanálu. Logika orchestrace je obvykle zapouzdřena v rámci, jako je Microsoft Agent Framework SDK. Orchestrátor můžete nasadit do různých výpočetních prostředků, včetně prostředků, ve kterých aktuálně nasazujete vlastní modely. Orchestrátory agentů mohou být také řešení s nízkými kódy, jako je služba Foundry Agent Service. Další informace o tom, jak nasadit chat agenta, najdete v bazální referenční architektuře chatu Microsoft Foundry.
Nasazení změn databázových prostředků, jako jsou změny datových modelů nebo indexů, jsou nové úlohy, které je potřeba zpracovat v GenAIOps. Běžným postupem při práci s velkými jazykovými modely je použití brány před velkým jazykovým modelem.
Mnoho architektur generující AI, které využívají jazykové modely hostované platformou, jako jsou architektury azure OpenAI, zahrnují bránu, jako je Azure API Management. Mezi případy použití brány patří vyrovnávání zatížení, ověřování a monitorování. Brána může hrát roli při nasazení nově natrénovaných nebo dolaďovaných modelů, což vám umožní postupné zavádění nových modelů. Použití brány spolu se správou verzí modelu umožňuje minimalizovat riziko při nasazování změn a vrátit se zpět k předchozím verzím, když dojde k problémům.
Nasazení prvků specifických pro generování umělé inteligence, jako je orchestrátor, by měla postupovat podle správných provozních postupů:
- Důkladné testování, včetně testů jednotek
- Integrační testy
- Testy A/B
- Kompletní testy
- Zavedení strategií, jako jsou kanárské nasazení nebo modrá-zelená nasazení
Vzhledem k tomu, že odpovědnost za nasazení generování aplikací umělé inteligence přesahuje nasazení modelu, budete možná potřebovat další role úloh ke správě nasazení a monitorování komponent, jako je uživatelské rozhraní, orchestrátor a úložiště dat. Tyto role jsou často sladěné se sadami dovedností techniků DevOps.
Odvozování a monitorování
Odvozování je proces předání vstupu do natrénovaného a nasazeného modelu, který pak vygeneruje odpověď. Měli byste monitorovat tradiční řešení strojového učení i generování umělé inteligence z pohledu provozního monitorování, učení z produkce a správy prostředků.
Provozní monitorování
Provozní monitorování je proces sledování probíhajících operací systému, včetně dataOps a trénování modelů. Tento typ monitorování hledá odchylky, včetně chyb, změn chybovosti a změn doby zpracování.
V případě trénování a vyladění modelů obecně sledujete DataOps pro zpracování dat funkcí, trénování modelů a vyladění. Monitorování těchto procesů vnitřních smyček by mělo využívat stávající investice MLOps a DataOps.
Při navádění v řešeních generujících umělou inteligenci máte dodatečné monitorovací záležitosti. Musíte monitorovat datové kanály, které zpracovávají podkladová data nebo jiná data, která se používají k vygenerování výzev. Toto zpracování může zahrnovat operace úložiště dat, jako je sestavení nebo opětovné sestavení indexů.
V systému s více agenty musíte monitorovat dostupnost, charakteristiky výkonu a kvalitu odezvy a konzistenci agentů, se kterými orchestrátor spolupracuje.
V rámci provozního monitorování je důležité sledovat metriky, jako je latence, využití tokenů a chyby 429, aby se zajistilo, že uživatelé nenarazí na významné problémy.
Poučte se z produkce
Zásadním aspektem monitorování během fáze odvozování je učení z produkce. Monitorování tradičních modelů strojového učení sleduje metriky, jako je přesnost, přesnost a úplnost. Klíčovým cílem je vyhnout se posunu předpovědí. Řešení, která používají generující modely, jako je model GPT pro klasifikaci, můžou využívat stávající investice do monitorování MLOps.
Řešení, která používají generativní modely k odvození ze zakotvených dat, používají metriky, jako je zakotvení, úplnost, využití a relevantnost. Cílem je zajistit, aby model plně odpověděl na dotaz a založil odpověď na jeho kontext. V tomto řešení se musíte pokusit zabránit problémům, jako je posun dat. Chcete zajistit, aby podkladová data a výzva, které jste zadali modelu, byly pro dotaz uživatele maximálně relevantní.
Řešení, která používají generující modely pro neprediktující úlohy, jako jsou řešení RAG, často využívají zpětnou vazbu od uživatelů k vyhodnocení mínění o užitečnosti. Uživatelská rozhraní můžou zaznamenávat zpětnou vazbu, jako je palec nahoru nebo dolů. Tato data můžete použít k pravidelnému vyhodnocení odpovědí.
Typickým vzorem pro řešení generující AI je nasadit bránu před generativní modely. Jedním z případů použití brány je monitorování základních modelů. Můžete použít rozhraní k zaznamenávání vstupních požadavků a výstupů modelu.
Další klíčovou oblastí pro monitorování generativních řešení je bezpečnost obsahu. Cílem je moderovat odpovědi a detekovat škodlivý nebo nežádoucí obsah. Microsoft Azure AI Content Safety Studio je nástroj, který můžete použít k moderování obsahu.
Řízení zdrojů
Generující řešení, která používají modely vystavené jako služba, jako je Azure OpenAI, mají různé obavy ohledně správy prostředků než modely, které nasazujete sami. U modelů, které jsou vystavené jako služba, není správa infrastruktury zájmem. Místo toho je fokus na propustnost služby, kvótu a omezování. Azure OpenAI používá tokeny pro fakturaci, omezování a kvóty. Měli byste monitorovat využití kvót pro správu nákladů a efektivitu výkonu. Azure OpenAI také poskytuje možnosti protokolování pro sledování využití tokenů.
Nástroje
Mnoho odborníků na MLOps používá standardizovanou sadu nástrojů k uspořádání aktivit, jako je automatizace, sledování, nasazení a experimentování. Tento přístup abstrahuje běžné obavy a podrobnosti implementace, díky čemuž jsou tyto procesy efektivnější a spravovatelné. Oblíbená jednotná platforma je MLflow. Než budete hledat nové nástroje pro podporu vzorců GenAIOps, měli byste zkontrolovat stávající nástroje MLOps a vyhodnotit jeho podporu pro generování umělé inteligence. MLflow například podporuje širokou škálu funkcí pro jazykové modely.
Můžete také prozkoumat výhody a nevýhody při zavádění nových nástrojů do vašeho pracovního procesu. Sada Azure AI Evaluation SDK pro Python může být například proveditelná, protože má nativní podporu na portálu Foundry.
Modely vyspělosti MLOps a GenAIOps
Možná jste použili model vyspělosti MLOps k vyhodnocení vyspělosti aktuálního MLOps a prostředí. Při rozšiřování investic MLOps do generování úloh umělé inteligence byste k vyhodnocení těchto operací měli použít model vyspělosti GenAIOps . Možná budete chtít tyto dva modely vyspělosti zkombinovat, ale doporučujeme, abyste každý model změřil nezávisle, protože MLOps a GenAIOps se vyvíjejí samostatně. Například můžete být na úrovni 4 v modelu vyspělosti MLOps, ale pouze na úrovni jedné v modelu vyspělosti GenAIOps.
Použijte posouzení modelu vyspělosti GenAIOps. Toto posouzení vám pomůže pochopit, jak vaše investice do GenAIOps postupují.
Shrnutí
Když začnete rozšiřovat investice mlOps tak, aby zahrnovaly generování umělé inteligence, je důležité pochopit, že nemusíte začínat znovu. Stávající investice do MLOps můžete použít pro několik technických vzorů generativní umělé inteligence. Skvělým příkladem je vyladění generátorů. Některé procesy v generativních řešeních umělé inteligence, jako je například prompt engineering a RAG, jsou nové. Vzhledem k tomu, že nejsou součástí tradičních pracovních postupů umělé inteligence, musíte rozšířit stávající investice do provozu a získat nové dovednosti, abyste je mohli efektivně využívat.
Přispěvatelé
Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.
- Luiz Braz | Vedoucí technický specialista
- Marco Aurelio Cardoso | Vedoucí softwarový inženýr
- Paulo Lacerda | Architekt cloudového řešení
- Ritesh Modi | Hlavní softwarový inženýr
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.