Návrh trénovacích dat pro úlohy AI v Azure
Při návrhu dat pro funkce AI v aplikacích zvažte požadavky, které nejsou funkční, jako jsou provozní dostupnost, náklady a zabezpečení a funkční požadavky, které souvisejí s příjmem dat, přípravou a ověřováním.
Návrh dat a návrh aplikace nelze oddělit. Návrh aplikace vyžaduje, abyste porozuměli případům použití, vzorům dotazů a požadavkům na aktuálnost. K řešení obchodních požadavků, které vyžadují použití umělé inteligence, může aplikace potřebovat výstup z nerozlišujících modelů, generování modelů nebo kombinace typů modelů.
Aby se vytvořily smysluplné výsledky, je potřeba vytrénovat modely AI. Trénování modelu zahrnuje výuku modelu ke klasifikaci nebo predikci nových nebo nezodpovězených situací. Trénovací data musí být přizpůsobená konkrétnímu problému a kontextu úloh.
Trénování pod dohledem zahrnuje poskytování modelu s označenými ukázkami. Tento typ trénování je užitečný, pokud je požadovaný výsledek jasný. Naproti tomu učení bez dohledu umožňuje modelu identifikovat vzory a vztahy v datech bez pokynů k očekávanému výstupu. Během trénování se typ algoritmu a jeho parametry upraví tak, aby kontrolovala, jak se model učí. Přístup se liší v závislosti na typu modelu, který může zahrnovat neurální sítě, rozhodovací stromy a další.
Modely detekce obrázků se například obvykle trénují na úlohy, jako je rozpoznávání objektů, rozpoznávání obličeje nebo porozumění scéně. Učí se z anotovaných obrázků k identifikaci konkrétních objektů nebo funkcí. Mezi další běžné příklady patří algoritmy detekce podvodů a prediktivní modely cenového bodu. Tyto modely se učí z historických finančních dat, aby se mohli informovaně rozhodovat.
Tento článek se zaměřuje především na předchozí případ použití, kdy jsou modely natrénovány dříve, než můžou aplikaci poskytnout smysluplný vstup. Tento článek obsahuje pokyny ke shromažďování, zpracování, ukládání, testování a údržbě dat. Návrh dat pro průzkumné datové vědy nebo business intelligence prostřednictvím umělé inteligence se nevztahuje. Cílem je podporovat potřeby trénování prostřednictvím strategií, které jsou v souladu s požadavky na úlohy tím, že poskytují doporučení pro trénovací datový kanál úlohy AI.
Informace o návrhu dat pro modely AI, které vyžadují kontext při odvozování, najdete v tématu Návrh podkladových dat.
Důležité
Očekáváme, že návrh dat bude iterativní proces založený na statistickém experimentování. Pokud chcete dosáhnout přijatelné úrovně kvality, upravte trénovací data, jejich zpracování, vývoj funkcí modelu a hyperparametry modelu (pokud je to možné). K této smyčce experimentování obvykle dochází jak během počátečního trénování modelu, tak během průběžného vylepšování, aby se vyřešily posuny dat a modelů v průběhu životnosti funkce v úloze.
Doporučení
Tady je souhrn doporučení uvedených v tomto článku.
Doporučení | Popis |
---|---|
Vyberte zdroje dat na základě požadavků na úlohy. | Factor in available resources and whether the data source can help you reach the acceptable data quality for model training. Probírá pozitivní i negativní příklady. Kombinováním různých datových typů dosáhnete odpovídající úplnosti pro analýzu a modelování. Zvažte techniky, jako je syntetická menšinová převzorkovací technika (SMOTE), kvůli nedostatku nebo nevyváženosti dat. ▪ Příjem a analýza dat |
Proveďte analýzu dat na shromážděných datech dříve. | Provádět analytické procesy, jako je průzkumná analýza dat (EDA), offline. Vezměte v úvahu náklady a dopady na zabezpečení. U malých datových sad bez omezení prostředků můžete zvážit provedení analýzy ve zdroji. ▪ Úložiště shromažďování dat |
Pokud pro něj vyžadují obchodní a technické požadavky, udržujte segmentaci dat. | Pokud používáte zdroje dat, které mají odlišné požadavky na zabezpečení, vytvořte pro každý model samostatné kanály. Vytvořte řízení přístupu, které omezí interakci s konkrétními podmnožinami dat. ▪ Segmentace dat |
Předzpracuje data, aby byla smysluplná vůči cílům trénování. | Zpřesněte kvalitu přijatých dat filtrováním šumu, změnou rozsahu dat, adresováním duplicit a standardizací různých formátů. ▪ Předběžné zpracování dat |
Vyhněte se trénování na zastaralých datech. | Sledujte posun dat a posun konceptu v rámci vnitřních a vnějších provozních smyček, abyste zachovali přesnost a spolehlivost modelů v průběhu času. Pravidelně aktualizujte trénovací data novými pozorováními. Definujte podmínky, které aktivují opětovné trénování modelu, a určete frekvenci aktualizací. ▪ Údržba dat |
Typy dat
Pokud chcete vytvářet prediktivní výkon v modelech, musíte shromažďovat data, zpracovávat je a dávat do modelu. Tento proces je obvykle koncepční jako kanál, který je rozdělený do fází. Každá fáze kanálu se může zabývat stejnou sadou dat, ale může sloužit různým účelům. Obvykle zpracováváte data těchto typů:
Zdrojová data jsou data pozorování k určitému bodu v čase. Může to být také data, která můžou být označená jako potenciální vstup do datového kanálu.
Tato data se obvykle získávají z produkce nebo z externího zdroje. Tyto zdroje dat můžou být v účtech úložiště, databázích, rozhraních API nebo jiných zdrojích. Data můžou být v různých datových formátech, jako jsou databáze OLTP, nestrukturované dokumenty nebo soubory protokolů. Tato data slouží jako potenciální vstup do datového kanálu.
Trénovací data jsou podmnožinou zdrojových dat, která se používají k poskytování ukázek modelu. Ukázky jsou popisná předem přepočítáná data, která pomáhají modelu učit se vzory a vztahy. Bez těchto dat model nemůže vygenerovat relevantní výstup.
Data vyhodnocení jsou podmnožinou zdrojových dat, která se používají k monitorování a ověřování výkonu modelu strojového učení během trénování. Liší se od trénovacích a testovacích dat a používá se k pravidelnému vyhodnocení výkonu modelu během trénovací fáze a ladění hyperparametrů. Další informace najdete v tématu Vyhodnocení modelu.
Testovací data slouží k ověření prediktivního výkonu vytrénovaného modelu. Tato data se vzorkuje ze zdrojových dat, která nebyla použita pro trénování. Obsahuje pozorování z produkce, aby proces testování byl přesvědčivý. Z hlediska návrhu dat je potřeba tato data uložit. Informace o testovacích modelech najdete v oblasti Návrh testování .
V některých případech se informace poskytované uživateli během interakcí s aplikací můžou stát zdrojovými daty. Obecně doporučujeme, aby uživatelský vstup použitý tímto způsobem byl vysoce kvalitní. V opačném případě může být potřeba průběžně zpracovávat problémy s kvalitou v podřízeném směru. Pokyny ke zpracování uživatelských dat nejsou popsané v tomto článku.
Příjem a analýza dat
Trénovací data se shromažďují v předem určeném okně, které má dostatečné vyjádření pro trénování vybraného typu modelu. Například při trénování modelu binární klasifikace musí trénovací data obsahovat reprezentaci případu (pozitivní příklady) a to, co není případ (negativní příklady). Aby byla trénovací data smysluplná, proveďte EDA v rané fázi návrhu funkcí.
EDA pomáhá analyzovat zdrojová data a identifikovat charakteristiky, vztahy, vzory a problémy s kvalitou. EDA můžete provádět přímo ve zdrojovém úložišti dat nebo replikovat data do centralizovaných úložišť, jako je datové jezero nebo datový sklad. Výsledkem procesu je informovat shromažďování a zpracování dat pro efektivní trénování modelu.
Poznámka:
I když je EDA předprodukční proces, používá data, která pocházejí z produkčního prostředí. U tohoto procesu použijte stejnou úroveň řízení, jakou byste použili pro produkční prostředí.
Následuje několik aspektů shromažďování dat při přípravě na trénování modelu.
Zdroje dat
Data se dají shromažďovat z těchto zdrojů:
Vlastní data jsou vytvořená nebo vlastněná organizací. Není určená pro veřejnou spotřebu. Slouží k interním účelům.
Veřejné zdroje jsou přístupné komukoli. Mezi tyto zdroje patří weby, výzkumné studie a veřejně sdílené databáze. Může to být specifické pro oblast výklenku. Obsah z Wikipedie a PubMed se například považuje za veřejně přístupný.
Výběr zdrojů dat závisí na požadavcích na úlohy, dostupných prostředcích a kvalitě dat, která jsou přijatelná pro trénování modelu. Nevyvážené datové sady můžou vést k zkresleným modelům, takže je potřeba navrhnout shromažďování dat, abyste získali dostatečné vzorky reprezentativních dat. Možná budete muset převzorkovat menšinová data nebo převzorkovat většina dat. Pokud jsou data málo nebo nevyrovnaná, zvažte techniky, jako je SMOTE a syntetická generace dat.
Úložiště shromažďování dat
Pro shromažďování zdrojových dat existují dvě hlavní možnosti:
- Dotazování na data ve zdroji dat
- Kopírování dat do lokalizovaného úložiště dat a následné dotazování na toto úložiště
Volba závisí na požadavcích na úlohy a na objemu dat. Pokud máte relativně malé množství dat, může zdrojový systém zpracovávat nezpracované dotazy přímo. Běžným postupem je dotazování a analýza z lokalizovaného úložiště.
Kompromis. I když lokalizovaná úložiště dat můžou usnadnit analýzu a trénovací proces, musíte také vyvážit náklady, zabezpečení a požadavky modelu.
Duplikování dat způsobuje náklady na úložiště a výpočetní prostředky. Údržba samostatné kopie vyžaduje další prostředky. Místní kopie můžou obsahovat citlivé informace. Pokud ano, potřebujete data chránit pomocí pravidelných bezpečnostních opatření.
Pokud používáte produkční data pro trénovací data, musí být předmětem všech omezení původní klasifikace dat těchto dat.
Data je možné poskytnout trénovacímu procesu (v režimu nabízení) nebo samotný proces může dotazovat zdroj dat (režim vyžádání obsahu). Volba závisí na vlastnictví, efektivitě a omezení prostředků.
Když se data nasdílí do úlohy, je zodpovědností vlastníka zdroje dat poskytovat nová data. Vlastník úlohy poskytuje vhodné umístění v místním úložišti dat pro uložení dat. Tento přístup se vztahuje na proprietární data vlastněná organizací, ne na veřejné zdroje.
Existují dva přístupy, které můžete použít k načítání dat. V jednom přístupu úloha dotazuje na úložiště dat, načte potřebná data a umístí je do lokalizovaného úložiště. Dalším způsobem je provádění dotazů v reálném čase v paměti. Rozhodnutí závisí na objemu dat a dostupných výpočetních prostředcích. U menších datových sad může pro trénování modelu stačit načtení v paměti.
Bez ohledu na to, jestli používáte režim nabízení nebo vyžádání obsahu, vyhněte se trénovacím modelům na zastaralých datech. Frekvence aktualizací dat by měla odpovídat požadavkům na úlohy.
Segmentace dat
Požadavky specifické pro úlohy můžou vyžadovat segmentaci dat. Tady je několik potenciálních případů použití:
Požadavky na zabezpečení často řídí rozhodování o segmentaci. Například regulační omezení můžou zabránit exportu dat mezi geopolitickými oblastmi. Pokud návrh aplikace umožňuje použití samostatných modelů, návrh dat zahrnuje pro každý model samostatné datové kanály.
Pokud se ale použije jeden model, segmentované zdroje dat se do daného modelu zadají. Model musíte vytrénovat na datech z obou geografických oblastí, což potenciálně zvyšuje složitost.
Bez ohledu na to, jestli aplikace používá jeden model nebo více modelů, zachová bezpečnostní opatření v jednotlivých datových segmentech, aby byla chráněna stejnou úrovní rigorií jako data na počátku.
Míra aktuálnosti dat může být faktorem pro oddělení dat. Data z různých zdrojů se můžou aktualizovat v různých časových intervalech. Pokud se data změní, bude potřeba přetrénování. Segmentace umožňuje podrobnou kontrolu životního cyklu dat. Zvažte použití samostatných tabulek nebo kanálů pro různé datové segmenty.
Bez ohledu na případ použití jsou při segmentování dat klíčové řízení přístupu. Odborníci na data, jako jsou datoví inženýři a datoví vědci, prozkoumávají dostupná zdrojová data, aby porozuměli vzorům a relacím. Jejich přehledy přispívají k trénovacím modelům, které predikují výsledky. Vytvořte řízení přístupu, abyste zajistili, že s konkrétními podmnožinami dat můžou pracovat jenom autorizovaní uživatelé. Použijte nejnižší oprávnění u dat, která jsou považována za relevantní. Spolupracujte s vlastníky dat a nastavte příslušná oprávnění.
Předběžné zpracování dat
Ve skutečném scénáři nejsou zdrojová data jednoduše uložená pro scénáře umělé inteligence. Existuje přechodný proces, který připravuje data na trénování. Během této fáze se data odstraňují šumem, což je užitečné pro spotřebu. Při práci se zdrojovými daty se datoví vědci zabývají procesem zkoumání, experimentování a rozhodování. Jejich primárním cílem je identifikovat a extrahovat části zdrojových dat, které mají prediktivní výkon.
Logika předběžného zpracování závisí na problému, datovém typu a požadovaných výsledcích. Následuje několik běžných technik předběžného zpracování. Tento seznam není vyčerpávající. Skutečná kritéria pro vaši úlohu budou řízena obchodními požadavky.
Kvalita. Předběžné zpracování vám pomůže zajistit, aby se trénovací data odstraňovala šumem. Cílem je zajistit, aby každý řádek v trénovacích datech představoval jasné pozorování nebo dobrý příklad, který je relevantní pro váš případ použití, a eliminovat pozorování, která nemají kvalitu nebo prediktivní výkon. Pokud například sloučíte recenze produktů, můžete se rozhodnout eliminovat data, která jsou příliš krátká. Potřebujete zjistit, jaká kvalita dat vytváří smysluplné prediktivní výsledky.
Změna rozsahu Zdrojová datová pole, která jsou příliš specifická, můžou omezit prediktivní výkony. Představte si například pole adresy. Rozšíření rozsahu od celé adresy (číslo domu a název ulice) na vyšší úroveň, jako je město, stát nebo země/oblast, může být relevantnější.
Odstranění duplicitních dat Odstranění redundance může zajistit, aby vaše trénovací data zůstala přesná a reprezentativní. V některých případech není četnost pozorování relevantní. Pokud se například při kontrole protokolů zobrazí položka protokolu 1 000krát, označuje její frekvenci. Nemusí nutně znamenat, že se jedná o vážnější chybu než protokol, ke kterému došlo pouze jednou. Tento typ redundance může představovat šum.
Zpracování citlivých dat Odstraňte osobní údaje, pokud není naprosto zásadní pro prediktivní výkon modelu způsobem, který není možné dosáhnout anonymizací. Trénovací data by měla být účinná, aniž by to ovlivnilo ochranu osobních údajů. Pokud data poskytují hodnotu, musíte vědět o etických aspektech zpracování citlivých dat. Další informace najdete v tématu Zodpovědná AI.
Standardizovaná transformace. Odborníci na domény považují předchozí techniky za základní součást přípravy funkcí. Široký rozsah a různorodá zdrojová data se nakonec musí sloučit do úložišť funkcí, kde jsou funkce uspořádané (například do tabulek funkcí) pro explicitní účel trénovacích modelů. Po výběru prediktivních dat pro trénování transformujte data do standardizovaného formátu. Standardizace také zajišťuje kompatibilitu s trénovacím modelem.
Převod obrázků na textové reprezentace je forma transformace. Můžete například převést naskenované dokumenty nebo obrázky na strojově čitelný text.
Abyste zajistili kompatibilitu s modely, budete možná muset upravit orientaci nebo poměr stran obrázků tak, aby odpovídaly očekávání modelu.
Poznámka:
Kombinování velkých objemů strukturovaných a nestrukturovaných dat může zvýšit dobu zpracování. Týmy úloh by měly měřit dopad zpracování různých formátů. Vzhledem k tomu, že okno mezi opakovaným vytrénováním je kratší, doba strávená předzpracováním je důležitější.
Uchovávání dat
Po vytrénování modelu vyhodnoťte, jestli chcete odstranit data použitá pro trénování, a znovu sestavit model pro další okno trénování.
Pokud data zůstávají relativně nezměněná, nemusí být opětovné trénování nutné, pokud nedojde k posunu modelu. Pokud se přesnost předpovědi sníží, musíte model přetrénovat. Můžete se rozhodnout znovu ingestovat data, předzpracovat a sestavit model. Tento postup je nejlepší v případě, že od posledního trénovacího okna došlo k významnému rozdílu dat. Pokud existuje velký objem dat a příliš se nezměnil, možná nebudete muset model předem zpracovat a znovu sestavit. V takovém případě si data zachovejte, proveďte místní aktualizace a model znovu natrénujte. Rozhodněte se, jak dlouho chcete uchovávat trénovací data.
Obecně platí, že odstraňte data z úložišť funkcí, abyste snížili nepotřebné náklady na funkce, které mají nízký výkon a které už nejsou relevantní pro aktuální nebo budoucí modely. Pokud uchováváte data, počítejte s tím, že budete spravovat náklady a řešit problémy se zabezpečením, což jsou typické obavy z duplikace dat.
Sledování rodokmenu
Rodokmen dat odkazuje na sledování cesty k datům ze zdroje až po jejich použití při trénování modelu. Sledování rodokmenu dat je nezbytné pro vysvětlení. Uživatelé sice nemusí potřebovat podrobné informace o původu dat, ale tyto informace jsou zásadní pro interní týmy zásad správného řízení dat. Metadata rodokmenu zajišťují transparentnost a odpovědnost, i když je model přímo nepoužívá. To je užitečné pro účely ladění. Pomůže vám také určit, jestli se při předběžném zpracování dat zavádějí předsudky.
Funkce platformy můžete použít ke sledování rodokmenu, když je to možné. Azure Machine Learning je například integrovaný v Microsoft Purview. Tato integrace poskytuje přístup k funkcím pro zjišťování dat, sledování rodokmenu a zásady správného řízení v rámci životního cyklu MLOps.
Údržba dat
Všechny modely můžou být v průběhu času zastaralé, což způsobí, že prediktivní výkon nebo význam modelu se rozpadne. Několik externích změn může způsobit pokles, včetně posunu chování uživatelů, dynamiky trhu nebo jiných faktorů. Modely vytrénované před časem můžou být kvůli měnícím se okolnostem méně relevantní. K vytváření předpovědí s lepší věrností potřebujete nedávná data.
Přijetí novějších modelů K zajištění relevance potřebujete provozní smyčku, která nepřetržitě vyhodnocuje výkon modelu a považuje novější modely, což udržuje datový kanál minimálně rušivý. Alternativně se můžete připravit na větší změnu, která zahrnuje změnu životního cyklu dat a kanálu.
Když zvolíte nový model, nemusíte nutně začínat novou sadou dat. Stávající pozorování používaná pro trénování můžou být cenná i během přepnutí modelu. I když nové modely můžou odhalit užší scénáře, základní proces zůstává podobný. Přístupy ke správě dat, jako jsou úložiště funkcí a sítě dat, můžou zjednodušit přijetí nových modelů strojového učení.
Operace založené na triggerech a rutinní operace. Zvažte, jestli se má opětovné trénování modelu aktivovat konkrétními událostmi nebo podmínkami. Například dostupnost nových, relevantnějších dat nebo pokles levnosti pod zavedeným směrným plánem může aktivovat opětovné natrénování. Výhody tohoto přístupu jsou rychlost odezvy a včasné aktualizace.
Údržbu je také možné naplánovat v pravidelných pevných intervalech, jako je denní nebo týdenní. U operací kontroly selhání zvažte oba přístupy.
Odebrání dat. Odeberte data, která se už nepoužívají k trénování k optimalizaci využití prostředků, a minimalizujte riziko použití zastaralých nebo irelevantních dat pro trénování modelu.
Právo na zapomenutí odkazuje na právo jednotlivce, aby se jejich osobní údaje odebraly z online platforem nebo databází. Nezapomeňte mít zavedené zásady pro odebrání osobních údajů, které se používají k trénování.
Uchovávání dat. V některých situacích je potřeba znovu sestavit existující model. Například pro zotavení po havárii by se model měl vygenerovat přesně tak, jak byl před katastrofickou událostí. Doporučujeme mít sekundární datový kanál, který dodržuje požadavky na úlohy primárního kanálu, jako je řešení rozpadu modelu, pravidelné aktualizace prostřednictvím operací založených na triggerech nebo rutinních operací a dalších úloh údržby.
Kompromis. Údržba dat je nákladná. Zahrnuje kopírování dat, vytváření redundantních kanálů a spouštění rutinních procesů. Mějte na paměti, že pravidelné školení nemusí zlepšit kvalitu odpovědí. Zajišťuje pouze neakutnost. Vyhodnoťte důležitost změn dat jako signál k určení frekvence aktualizací.
Ujistěte se, že se údržba dat provádí jako součást operací modelu. Měli byste vytvořit procesy, které budou zpracovávat změny prostřednictvím automatizace co nejvíce a používat správnou sadu nástrojů. Další informace najdete v tématu MLOps a GenAIOps pro úlohy AI v Azure.