Používání velkých jazykových modelů pro tvorbu generativních AI aplikací přináší nové výzvy. Klíčovým problémem je zajistit kvalitu odpovědí (přesnost a relevanci) v obsahu generovaném modelem na základě uživatelského požadavku. V předchozích lekcích jsme probírali techniky jako prompt engineering a retrieval-augmented generation, které se snaží problém vyřešit úpravou vstupního promptu pro existující model.
V dnešní lekci se zaměříme na třetí techniku, doladění (fine-tuning), která se snaží výzvu řešit přeškolením samotného modelu s využitím dodatečných dat. Pojďme se podívat na podrobnosti.
Tato lekce představuje koncept doladění předtrénovaných jazykových modelů, zkoumá výhody a výzvy tohoto přístupu a poskytuje rady, kdy a jak doladění použít ke zlepšení výkonu vašich generativních AI modelů.
Na konci lekce byste měli být schopni odpovědět na následující otázky:
- Co je doladění jazykových modelů?
- Kdy a proč je doladění užitečné?
- Jak mohu doladit předtrénovaný model?
- Jaká jsou omezení doladění?
Jste připraveni? Pojďme na to.
Chcete získat přehled o tom, co budeme probírat, než se do toho pustíme? Podívejte se na tento ilustrovaný průvodce, který popisuje vzdělávací cestu této lekce – od pochopení základních konceptů a motivace pro doladění až po porozumění procesu a osvědčeným postupům při provádění doladění. Je to fascinující téma k prozkoumání, tak nezapomeňte navštívit stránku Resources pro další odkazy, které podpoří vaše samostatné učení!
Velké jazykové modely jsou podle definice předtrénované na velkém množství textů pocházejících z různých zdrojů včetně internetu. Jak jsme se naučili v předchozích lekcích, potřebujeme techniky jako prompt engineering a retrieval-augmented generation, abychom zlepšili kvalitu odpovědí modelu na uživatelské dotazy („prompty“).
Oblíbenou technikou prompt engineeringu je poskytnout modelu více vodítek, co se od odpovědi očekává, buď formou instrukcí (explicitní vedení), nebo předložením několika příkladů (implicitní vedení). Tomu se říká few-shot learning, ale má to dvě omezení:
- Limity počtu tokenů modelu omezují počet příkladů, které můžete zadat, a tím i efektivitu.
- Náklady na tokeny modelu mohou být vysoké, pokud přidáváte příklady ke každému promptu, což omezuje flexibilitu.
Doladění je běžná praxe v systémech strojového učení, kdy vezmeme předtrénovaný model a přeškolíme ho na nových datech, abychom zlepšili jeho výkon pro konkrétní úkol. V kontextu jazykových modelů můžeme doladit předtrénovaný model pomocí pečlivě vybraných příkladů pro daný úkol nebo oblast použití, čímž vytvoříme vlastní model, který může být přesnější a relevantnější pro daný úkol nebo doménu. Vedlejším přínosem doladění je, že může také snížit počet příkladů potřebných pro few-shot learning – což snižuje spotřebu tokenů a související náklady.
V tomto kontextu, když mluvíme o doladění, máme na mysli supervidované doladění, kdy se přeškolení provádí přidáním nových dat, která nebyla součástí původního tréninkového datasetu. To se liší od nesupervidovaného doladění, kdy je model přeškolen na původních datech, ale s jinými hyperparametry.
Klíčové je si uvědomit, že doladění je pokročilá technika, která vyžaduje určitou úroveň odbornosti, aby přinesla požadované výsledky. Pokud je provedena nesprávně, nemusí přinést očekávané zlepšení a může dokonce zhoršit výkon modelu pro vaši cílovou doménu.
Než se tedy naučíte „jak“ doladit jazykové modely, musíte vědět „proč“ byste měli touto cestou jít a „kdy“ začít proces doladění. Začněte tím, že si položíte tyto otázky:
- Případ použití: Jaký je váš případ použití pro doladění? Který aspekt současného předtrénovaného modelu chcete zlepšit?
- Alternativy: Zkoušeli jste jiné techniky k dosažení požadovaných výsledků? Použijte je jako základ pro srovnání.
- Prompt engineering: Vyzkoušejte techniky jako few-shot prompting s příklady relevantních odpovědí. Zhodnoťte kvalitu odpovědí.
- Retrieval Augmented Generation: Zkuste doplnit prompty o výsledky dotazů získané vyhledáváním ve vašich datech. Zhodnoťte kvalitu odpovědí.
- Náklady: Identifikovali jste náklady spojené s doladěním?
- Možnost ladění – je předtrénovaný model dostupný pro doladění?
- Úsilí – příprava tréninkových dat, vyhodnocení a ladění modelu.
- Výpočetní zdroje – pro spuštění doladění a nasazení doladěného modelu.
- Data – přístup k dostatečně kvalitním příkladům pro efektivní doladění.
- Přínosy: Potvrdili jste přínosy doladění?
- Kvalita – překonal doladěný model základní verzi?
- Náklady – snižuje spotřebu tokenů díky zjednodušení promptů?
- Rozšiřitelnost – lze základní model znovu použít pro nové domény?
Odpovědí na tyto otázky byste měli být schopni rozhodnout, zda je doladění správný přístup pro váš případ použití. Ideálně je tento přístup vhodný pouze tehdy, pokud přínosy převáží náklady. Jakmile se rozhodnete pokračovat, je čas přemýšlet o tom, jak můžete doladit předtrénovaný model.
Chcete získat více informací o rozhodovacím procesu? Podívejte se na To fine-tune or not to fine-tune
Pro doladění předtrénovaného modelu potřebujete:
- předtrénovaný model k doladění
- dataset pro doladění
- tréninkové prostředí pro spuštění doladění
- hostingové prostředí pro nasazení doladěného modelu
Následující zdroje poskytují krok za krokem návody, které vás provedou reálným příkladem použití vybraného modelu s pečlivě vybraným datasetem. Pro práci s těmito návody potřebujete účet u konkrétního poskytovatele a přístup k relevantním modelům a datasetům.
| Poskytovatel | Návod | Popis |
|---|---|---|
| OpenAI | Jak doladit chatovací modely | Naučte se doladit gpt-35-turbo pro konkrétní doménu („asistent pro recepty“) přípravou tréninkových dat, spuštěním doladění a použitím doladěného modelu pro inferenci. |
| Azure OpenAI | Návod na doladění GPT 3.5 Turbo | Naučte se doladit model gpt-35-turbo-0613 na Azure krok za krokem – vytvoření a nahrání tréninkových dat, spuštění doladění, nasazení a použití nového modelu. |
| Hugging Face | Doladění LLM s Hugging Face | Tento blogový příspěvek vás provede doladěním otevřeného LLM (např. CodeLlama 7B) pomocí knihovny transformers a Transformer Reinforcement Learning (TRL) s otevřenými dataset na Hugging Face. |
| 🤗 AutoTrain | Doladění LLM s AutoTrain | AutoTrain (nebo AutoTrain Advanced) je python knihovna vyvinutá Hugging Face, která umožňuje doladění pro různé úkoly včetně doladění LLM. AutoTrain je řešení bez nutnosti kódování a doladění lze provádět ve vašem vlastním cloudu, na Hugging Face Spaces nebo lokálně. Podporuje webové GUI, CLI i trénink přes yaml konfigurační soubory. |
Vyberte si jeden z výše uvedených návodů a projděte si ho krok za krokem. Můžeme vytvořit verzi těchto návodů v Jupyter Noteboocích v tomto repozitáři pouze pro referenci. Pro nejnovější verze prosím používejte přímo originální zdroje.
Po dokončení této lekce se podívejte na naši kolekci Generative AI Learning, kde můžete dále rozšiřovat své znalosti o generativní AI!
Gratulujeme!! Dokončili jste závěrečnou lekci z verze 2 tohoto kurzu! Nepřestávejte se učit a tvořit. **Navštivte stránku RESOURCES pro seznam dalších doporučení právě k tomuto tématu.
Naše série lekcí verze 1 byla také aktualizována o další úkoly a koncepty. Věnujte chvíli osvěžení svých znalostí – a prosím sdílejte své otázky a zpětnou vazbu, abychom mohli tyto lekce pro komunitu dále zlepšovat.
Prohlášení o vyloučení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za závazný zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.

