GenAIOps pro odborníky v MLOps
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 generování umělé inteligence ve svých úlohách. Pokud chcete uvést do provozu úlohu generativní umělé inteligence, je třeba rozšířit investice do MLOps rozšířením na Generative AI Ops (GenAIOps, někdy označovaných 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 specifické vzory pro generování umělé inteligence. Tento článek vám pomůže pochopit, kde můžete použít stávající investice do zprovoznění 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. Pokud chcete získat základní informace o tom, proč tyto úlohy potřebují specializované operace, přečtěte si téma MLOps a GenAIOps pro úlohy AI v Azure v rozhraní Azure Well-Architected Framework.
Technické vzory generující 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ů, které jsou natrénované tak, aby prováděly konkrétní úlohy. Generování úloh umělé inteligence využívá modely generování, které můžou řešit širší škálu případů použití a v některých případech jsou multimodální.
Zaměřte se na rozšíření modelů. Klíčovým aktivem v tradičním strojovém učení je nasazený model. Přístup k modelu se poskytuje klientskému kódu v jedné nebo více úlohách, ale úloha není součástí procesu MLOps. U generativních řešení umělé inteligence je klíčovým prvkem podnět, který je poskytnut generativnímu modelu. Výzva se musí skládat a může obsahovat data z jednoho nebo více úložišť dat. Systém, který orchestruje logiku, volání různých back-endů, vygeneruje výzvu a volání generujícího modelu je součástí systému generující umělé inteligence, který musíte řídit pomocí GenAIOps.
I když 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í, představují všechny nové vzory, které byste měli standardizovat. Tato část obsahuje přehled tří širokých kategorií technických vzorů pro generování řešení umělé inteligence:
- Předtrénování a vyladění
- Vytváření efektivních dotazů
- Generování rozšířeného načítání (RAG)
Trénování a vyladění jazykových modelů
V současné době ř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 nebo trénování nového generačního modelu AI, jako je malý jazykový model (SLM).
Trénování nového SLM a vyladění modelu generujícího základu jsou logicky stejné procesy jako trénování tradičních modelů strojového učení. Tyto procesy by měly využívat vaše stávající investice do MLOps.
Vytváření efektivních dotazů
Příprava výzvy zahrnuje všechny procesy, které se týkají generování výzvy odeslané jako vstup do generujícího modelu. Obecně existuje orchestrátor, který řídí pracovní postup, který vygeneruje výzvu. Orchestrátor může přistupovat k libovolnému počtu úložišť dat ke shromažďování informací, jako jsou základní data, a použít požadovanou logiku pro vygenerování nejúčinnější výzvy. Orchestrátor se pak nasadí jako koncový bod rozhraní API, ke kterému přistupuje klientský kód v inteligentní aplikaci.
Následující diagram znázorňuje architekturu pro prompt engineering.
Tato kategorie technických vzorů může řešit řadu případů použití, včetně:
- Klasifikace.
- Překlad.
- Sumarizace.
- Generování rozšířeného načítání, které je popsáno v další části.
Generování rozšířeného načítání
Generování rozšířeného načítání (RAG) je model architektury, který používá metodu výzvy k začlenění dat specifických pro doménu jako podkladových dat pro jazykový model. Jazykový model se vytrénuje proti konkrétní sadě dat. Vaše úloha může vyžadovat odůvodnění dat specifických pro vaši společnost, zákazníky nebo doménu. V řešeních RAG se vaše data dotazují a výsledky se do jazykového modelu zadají jako součást výzvy, obvykle prostřednictvím vrstvy orchestrace.
Běžnou implementací RAG je rozdělit dokumenty na bloky dat a uložit je 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:
Rozšíření MLOps pro technické vzory generující umělé inteligence
Tato část popisuje následující klíčové aspekty fází vnitřní a vnější smyčky pro technické vzory generativní umělé inteligence a pomáhá vám pochopit, kde můžete použít své stávající investice v oblasti MLOps a kde je potřebujete rozvinout.
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 DataOps k vytvoření rozšiřitelných a reprodukovatelných pracovních postupů, které zajišťují, že se data správně vyčistí, transformují a naformátují 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 jsou závislé na vzorech.
Trénování a vyladění
Tento technický model by měl plně využívat stávající investice do DataOps, které jste provedli v rámci 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 prompt engineering
Záměrem pro data v řešeních RAG je poskytnout základní data, která jsou prezentována jazykovému modelu jako součást výzvy. Řešení RAG často vyžadují zpracování velkých dokumentů do kolekce správných sémanticky relevantních bloků dat a uchování těchto bloků dat v úložišti vektorů. Podrobnosti 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 cílů. Architekturu musíte rozšířit tak, aby zahrnovala úložiště dat, která používáte pro zakotvení dat. Běžná ú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 vyladění můžete k orchestraci fází dělení na části použít pipeliny Azure Machine Learning nebo jiné nástroje pro datové toky. Pomocí toků výzev v kanálech Azure Machine Learning můžete zpracovávat a rozšiřovat data konzistentním a reprodukovatelným způsobem. Musíte také rozšířit operace, aby se zachovala aktuálnost a platnost indexů vyhledávání v úložištích dat.
Experimentování
Experimentování, jako součást vnitřní smyčky, je iterativní proces vytváření, vyhodnocovánía zdokonalování vašeho řešení. Následující části diskutují o experimentování pro běžné 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. Kanály Azure 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 prompt engineering
Experimentování s úlohami prompt engineering a RAG vyžaduje, abyste rozšířili investice do 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 pro požadované informace, jako jsou uzemnění dat, generování výzev, volání jazykových modelů a další. Ú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 řešení výzvy, včetně různých pokynů, osob, příkladů, omezení a pokročilých technik, jako je řetězení výzev. Při experimentování s řešeními RAGmůžete experimentovat s dalšími oblastmi:
- Strategie vytváření bloků dat
- Co a jak rozšířit bloky dat
- Váš model vkládání
- Konfigurace indexu vyhledávání
- Co se má provést (vektor, fulltext, hybridní atd.)
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 vyhodnocení experimentu.
Stejně jako ve stávajícím prostředí MLOps můžete využít výhod architektur, jako jsou kanály Azure Machine Learning. Kanály Azure Machine Learning mají funkce, které podporují indexování integrací s vektorovými úložišti, jako je AI Search. Vaše prostředí GenAIOps může využívat tyto funkce pipeline a kombinovat je s funkcemi promptního toku, které spravují inženýrství promptů a vlastní logiku předběžného zpracování.
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 diskutují o vyhodnocení ve fázi experimentování pro běžné technické vzory generující umělé inteligence.
Trénování a vyladění
Při vyhodnocování jemně vyladěných nebo natrénovaných modelů AI byste měli využít stávající investice do MLOps. Pokud například používáte kanály Azure Machine Learning k orchestraci trénování modelu strojového učení, můžete pomocí stejných funkcí vyhodnocení vyladit základní jazykové modely nebo trénovat nové malé jazykové modely. Mezi tyto funkce patří komponenta Evaluate Model, která vypočítá standardní metriky vyhodnocení pro konkrétní typy modelů a porovnává výsledky napříč modely.
RAG a prompt engineering
Pokud chcete vyhodnotit řešení generující AI, musíte rozšířit stávající investice do MLOps. Můžete použít nástroje, jako je Prompt Flow, který poskytuje rámec pro vyhodnocení. Tok podnětů umožňuje týmům definovat vlastní logiku vyhodnocení zadáním kritérií a metrik pro posouzení výkonu různých variant podnětů a velkých jazykových modelů (LLM). Tento strukturovaný přístup umožňuje porovnat různé konfigurace vedle sebe, jako jsou hyperparametry nebo varianty architektury, a identifikovat tak optimální nastavení pro konkrétní úlohy.
Úlohy v pracovním toku automaticky zaznamenávají vstupní a výstupní data během experimentálního procesu a vytvářejí tak komplexní záznam průběhu zkoušky. Můžete získat přehledy a identifikovat slibné konfigurace, které můžou informovat budoucí iterace analýzou těchto dat. Vývoj generativních řešení umělé inteligence můžete urychlit pomocí toků zadání pro efektivní a systematické experimentování.
Proces experimentování je stejný 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 dokonce i RAG. Důležitým rozdílem jsou metriky, které používáte k vyhodnocení různých případů použití. Následuje několik metrik založených na případu použití, které je potřeba vzít v úvahu.
- Překlad: BLEU
- Shrnutí: ROUGE. BLEU, BERTScore, METEOR
- Klasifikace: Přesnost, Úplnost, Přesnost, Křížová entropie
- RAG: Uzemnění, nálevnost
Poznámka:
Další informace o vyhodnocování jazykových modelů a řešení RAG najdete v tématu kompletní vyhodnocení LLM.
Obecně platí, že generující řešení umělé inteligence rozšiřují odpovědnost týmu strojového učení od trénovacích modelů až po výzvu k technickému inženýrství a správě základních dat. Protože vytváření promptů a experimentování a hodnocení RAG nemusí nutně vyžadovat datové vědce, můžete být v pokušení využít k těmto úkolům jiné role, jako jsou softwaroví inženýři a datoví inženýři. Pokud v procesu experimentování s inženýrstvím promptů a RAG řešeními vynecháte datové vědce, setkáte se s problémy. Jiné role obvykle nejsou odborně školeny na vědecké vyhodnocení výsledků, jak je tomu u mnoha datových vědců. Přečtěte si sedmidílnou sérii článků Návrh a vývoj řešení RAG, abyste pochopili složitost návrhu řešení generující AI.
Investice do generativních řešení umělé inteligence vám umožní zmírnit zátěž na vaše kapacity v oblasti datové vědy. Role softwarových inženýrů se v těchto řešeních rozšiřuje. Softwaroví inženýři jsou například skvělými odborníky pro správu odpovědnosti za orchestraci v generativních AI řešeních a jsou zkušení při nastavování metrik vyhodnocení v nástrojích, jako je prompt flow. Je důležité, aby datoví vědci tuto práci zkontrolovali. Mají školení a zkušenosti, aby pochopili, jak správně vyhodnotit experimenty.
Nasazení
Některá řešení generující AI zahrnují nasazení vlastních vytrénovaných modelů nebo vyladění existujících modelů, ale jiné ne. 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 diskutují nasazení pro běžné technické vzory generativní umělé inteligence.
Trénování a vyladění
Měli byste použít stávající investice MLOps s některými možnými úpravami k nasazení generativních modelů AI a doladění základních modelů. Pokud například chcete v Azure OpenAI doladit velký jazykový model, musíte zajistit, aby vaše trénovací a ověřovací datové sady byly ve formátu JSONL a potřebujete nahrát data přes rozhraní REST API. Potřebujete také vytvořit jemně vyladěnou úlohu. Pokud chcete nasadit trénovaný malý jazykový model, můžete využít své stávající investice do MLOps.
RAG a prompt engineering
V případě RAG a přípravy výzev existují další obavy, včetně logiky orchestrace, změn úložišť dat, jako jsou indexy a schémata, a změn logiky datového kanálu. Logika orchestrace je obvykle zapouzdřená v architekturách, jako je tok výzvy, sémantické jádro nebo LangChain. Orchestrátor můžete nasadit do různých výpočetních prostředků, včetně prostředků, do které můžete aktuálně nasazovat vlastní modely. Podívejte se na architekturu chatu Azure OpenAI pro nasazení toku promptů od začátku do konce, kde najdete příklady nasazení na online koncové body spravované službou Azure Machine Learning nebo Azure App Service. K nasazení do služby App Service architektura chatu Azure OpenAI zabalí tok a jeho závislosti jako kontejner, což zvyšuje přenositelnost a konzistenci v různých prostředích.
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 LLM.
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 jemně vyladěných modelů, což vám umožní postupně zavádět nové modely. 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ů, například:
- Důkladné testování, včetně testů jednotek.
- Integrační testy.
- Testy A/B.
- Kompletní testy.
- Zavádění strategií, jako jsou kanárské 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í věcí, 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 ze tří perspektiv: provozní 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ě operací s daty (DataOps) a trénování modelů. Tento typ monitorování hledá odchylky, včetně chyb, změn chybovosti a změn doby zpracování.
U trénování a vyladění modelů obecně sledujete operace s daty 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.
Pokud chcete požádat o přípravu v řešeních generující AI, máte další obavy z monitorování. 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ů.
Učení z produkčního prostředí
Důležitým aspektem monitorování během fáze odvozování je učení z produkčního prostředí. 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 k vytváření předpovědí, například pomocí modelu GPT pro klasifikaci, by měla využít stávající investice do monitorování MLOps.
Řešení, která používají generující modely k odůvodnění nad uzemněním dat, metriky, jako je uzemnění, úplnost, využití a využití. Cílem je zajistit, aby model plně odpověděl na dotaz a založil odpověď na jeho kontext. Tady 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í úkoly, jako jsou řešení RAG, často využívají zpětnou vazbu od koncových 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ů, a tato data můžete použít k pravidelnému vyhodnocení odpovědí.
Běžným vzorem pro generování řešení umělé inteligence je nasazení brány před generováním modelů. Jedním ze způsobů použití brány je monitorování základních modelů. Bránu můžete použít k protokolování vstupních výzev a výstupu.
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. Azure AI Content Safety Studio je příkladem nástroje, 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, se nezajímáte o infrastrukturu. Místo toho se zabýváte propustností, kvótou a omezováním služeb. 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 umožňuje protokolovat využití tokenů.
Nástroje
Řada odborníků na MLOps si osvojila standardizovanou sadu nástrojů pro organizaci různých činností, jako jsou automatizace, sledování, nasazování, experimentování a podobně, a tím zjednodušily běžné úkoly a implementační podrobnosti těchto procesů. Běžnou jednotnou platformou 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.
Modely vyspělosti MLOps a GenAIOps
Možná jste použili model vyspělosti mlOps k vyhodnocení vyspělosti aktuálních operací a prostředí strojového učení. 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 je změřili nezávisle. MLOps a GenAIOps se budou vyvíjet nezávisle na sobě. Například můžete být na úrovni 4 v modelu vyspělosti MLOps, ale na úrovni jedné pro generování umělé inteligence.
Shrnutí
Když začnete rozšiřovat investice MLOps tak, aby zahrnovaly generování umělé inteligence, je důležité si uvědomit, že nemusíte začínat znovu. Pro některé technické vzory generující AI můžete použít své stávající investice do MLOps. Skvělým příkladem je vyladění generátorů. Existují oblasti generativních řešení umělé inteligence, jako jsou rychlé inženýrství a RAG, které jsou nové procesy, takže potřebujete rozšířit své stávající investice do provozu a získat nové dovednosti.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
- 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 neveřejné profily LinkedIn, přihlaste se na LinkedIn.