Prompt engineering

Pochopení jemného ladění LLM: přizpůsobení velkých jazykových modelů vašim jedinečným požadavkům

mm
Přidejte Unite.AI mezi své preferované zdroje na Google
LLM Fine tuning representation - Midjourney

V září 2023 je krajina velkých jazykových modelů (LLM) stále svědkem vzestupu modelů, jako je Alpaca, Falcon, Llama 2, GPT-4 a mnoha dalších.

Důležitým aspektem využití potenciálu těchto LLM je proces jemného ladění, strategie, která umožňuje přizpůsobit předtrénované modely pro specifické úkoly s přesností. Je prostřednictvím tohoto jemného ladění, že tyto modely mohou skutečně splňovat individualizované požadavky, nabízející inovativní a přizpůsobené řešení.

Je však důležité poznamenat, že ne všechny cesty jemného ladění jsou vytvořeny stejně. Například přístup k funkcím jemného ladění GPT-4 je k dispozici za poplatek, vyžadující placenou předplatbu, která je relativně dražší ve srovnání s jinými možnostmi dostupnými na trhu. Na druhé straně je otevřený zdroj plný alternativ, které nabízejí přístupnější cestu k využití síly velkých jazykových modelů. Tyto otevřené zdroje demokratizují přístup k pokročilé technologii AI, podporují inovace a inkluzivitu v rychle se vyvíjejícím prostředí AI.

Proč je jemné ladění LLM důležité?

Jemné ladění LLM je více než technické vylepšení; je to zásadní aspekt vývoje modelu LLM, který umožňuje specifičtější a rafinovanější aplikaci v různých úkolech. Jemné ladění upravuje předtrénované modely, aby lépe vyhovovaly specifickým datovým sadám, zlepšuje jejich výkon v konkrétních úkolech a zajišťuje cílenější aplikaci. To přináší pozoruhodnou schopnost LLM adaptovat se na nová data, ukazující flexibilitu, která je zásadní v rostoucím zájmu o aplikace AI.

Jemné ladění velkých jazykových modelů nabízí mnoho příležitostí, umožňující jim vyniknout v specifických úkolech, od analýzy sentimentu až po recenze lékařské literatury. Přizpůsobením základního modelu pro specifický případ použití odemykáme nové možnosti, zlepšujeme efektivitu a přesnost modelu. Kromě toho usnadňuje ekonomičtější využití systémových zdrojů, protože jemné ladění vyžaduje méně výpočetního výkonu ve srovnání se školením modelu od začátku.

Jak budeme procházet detaily tohoto průvodce, budeme diskutovat o jemných laděních LLM, poskytujících vám komplexní přehled založený na nejnovějších pokrocích a nejlepších praktikách v oboru.

Jemné ladění založené na instrukcích

Fáze jemného ladění v životním cyklu Generativní AI, ilustrovaná na obrázku níže, je charakterizována integrací vstupních a výstupních instrukcí, spolu s příklady krok za krokem. Tento přístup umožňuje modelu generovat odpovědi, které jsou nejen relevantní, ale také přesně sladěné se specifickými instrukcemi zadanými do něj. Je během této fáze, že se předtrénované modely přizpůsobují pro řešení specifických úkolů a případů použití, využívajících personalizované datové sady pro zlepšení jejich funkčnosti.

Generative AI Lifecycle - Fine Tuning, Prompt Engineering and RLHF

Generative AI Lifecycle – Fine Tuning

Jemné ladění pro jeden úkol

Jemné ladění pro jeden úkol se zaměřuje na zušlechťování modelu v konkrétním úkolu, jako je shrnutí. Tento přístup je zvláště výhodný pro optimalizaci pracovních postupů, které zahrnují rozsáhlé dokumenty nebo konverzační vlákna, včetně právních dokumentů a tiketů zákaznické podpory. Pozoruhodně lze tímto jemným laděním dosáhnout významných zlepšení výkonu s relativně malou sadou příkladů, sahající od 500 do 1000, na rozdíl od miliard tokenů používaných ve fázi předškolení.

Příklad jemného ladění pro jeden úkol

Příklad jemného ladění pro jeden úkol

 

Základy jemného ladění LLM: Architektura Transformer a další

Cesta k pochopení jemného ladění LLM začíná porozuměním základních prvků, které tvoří LLM. V srdci těchto modelů leží architektura transformer, neuronová síť, která využívá mechanismy sebe-pozornosti pro prioritizaci kontextu slov nad jejich blízkostí ve větě. Tento inovativní přístup umožňuje hlubší porozumění vzdáleným vztahům mezi tokeny ve vstupu.

Při procházení detailů transformerů se setkáváme s vícefázovým procesem, který začíná kodérem. Tato počáteční fáze zahrnuje tokenizaci vstupu a vytváření vektorů, které reprezentují vstup a jeho pozici ve větě. Následující fáze zahrnují řadu výpočtů pomocí matic nazývaných Dotaz, Hodnota a Klíč, které vyvrcholí ve skóre sebe-pozornosti, které určuje zaměření na různé části věty a různé tokeny.

Architektura Transformer

Architektura Transformer

Jemné ladění stojí jako kritická fáze ve vývoji LLM, proces, který zahrnuje provedení jemných úprav pro dosažení více žádoucích výstupů. Tato fáze, ačkoli je nezbytná, představuje sadu výzev, včetně výpočetních a úložných požadavků na zpracování velkého množství parametrů. Parameter-Efficient Fine-Tuning (PEFT) nabízí techniky pro snížení počtu parametrů, které je třeba jemně ladit, a tím zjednodušení procesu školení.

Předškolení LLM: Vytvoření silného základu

V počátečních fázích vývoje LLM stojí předškolení na prvním místě, využívající přeparametrizované transformery jako základní architekturu. Tento proces zahrnuje modelování přirozeného jazyka různými způsoby, jako je bidirekční, autoregresivní nebo sekvenční, na velkých nesupervizovaných datech. Cílem je vytvořit základ, který lze později jemně ladit pro specifické úkoly dolních vrstev prostřednictvím zavedení úkolově specifických cílů.

Předškolení, jemné ladění

Předškolení, jemné ladění

Zajímavým trendem v této oblasti je nevyhnutelný růst měřítka předškolených LLM, měřeno počtem parametrů. Empirické údaje konzistentně ukazují, že větší modely spojené s více daty téměř vždy vedou k lepšímu výkonu. Například GPT-3, s jeho 175 miliardami parametrů, nastavil benchmark pro generování vysoce kvalitního přirozeného jazyka a výkon v širokém spektru úkolů bez přípravy.

Jemné ladění: Cesta k adaptaci modelu

Po předškolení prochází LLM jemným laděním, aby se přizpůsobil specifickým úkolům. Navzdory slibnému výkonu ukázánému v kontextovém učení v předškolených LLM, jako je GPT-3, jemné ladění zůstává nadřazené v úkolově specifických nastaveních. Nicméně, běžný přístup plného jemného ladění parametrů představuje výzvy, včetně vysokých výpočetních a paměťových požadavků, zvláště při manipulaci s velkými modely.

Pro velké jazykové modely s více než miliardou parametrů je efektivní správa GPU RAM zásadní. Jeden modelový parametr na plném 32bitovém přesnosti vyžaduje 4 bajty místa, což se překládá do požadavku 4GB GPU RAM pouze pro načtení 1 miliardy parametrů modelu. Skutečný proces školení vyžaduje ještě více paměti pro akomodaci různých komponent, včetně stavů optimalizátoru a gradientů, potenciálně vyžadujících až 80GB GPU RAM pro model této velikosti.

Pro navigaci v omezeních GPU RAM se používá kvantizace, technika, která snižuje přesnost modelových parametrů, a tím snižuje paměťové požadavky. Například změna přesnosti z 32bit na 16bit může snížit paměťové požadavky na polovinu jak pro načtení, tak pro školení modelu. Později v tomto článku se dozvíme o QLoře, která využívá koncept kvantizace pro jemné ladění.

Paměťový požadavek LLM GPU v závislosti na počtu parametrů a přesnosti

Paměťový požadavek LLM GPU v závislosti na počtu parametrů a přesnosti

 

Prozkoumání kategorií metod PEFT

Při plném jemném ladění velkých jazykových modelů je důležité mít výpočetní nastavení, které může efektivně zpracovat nejen podstatné modelové váhy, které pro nejmodernější modely nyní dosahují velikostí v řádu stovek gigabajtů, ale také spravovat řadu dalších kritických prvků. Tyto zahrnují alokaci paměti pro stavy optimalizátoru, správu gradientů, forward akcí a zajišťování dočasné paměti během různých fází školení.

Aditivní metoda

Tento typ jemného ladění může rozšířit předtrénovaný model o další parametry nebo vrstvy, zaměřující se na školení pouze nově přidáných parametrů. Navzdory zvýšení počtu parametrů tyto metody zlepšují čas a prostorovou efektivitu školení. Aditivní metoda je dále rozdělena do subkategorií:

  • Adaptéry: Zařazují malé plně propojené sítě po transformačních podvrstvách, s pozoruhodnými příklady jako AdaMix, KronA a Compactor.
  • Měkké nápovědy: Jemné ladění segmentu modelových vstupních vektorů pomocí gradientního sestupu, s IPT, prefix-tuning a WARP jako prominentními příklady.
  • Jiné aditivní přístupy: Zahrnují techniky jako LeTS, AttentionFusion a Ladder-Side Tuning.

Selektivní metoda

Selektivní PEFT jemně ladí omezený počet horních vrstev na základě typu vrstvy a vnitřní struktury modelu. Tato kategorie zahrnuje metody jako BitFit a LN tuning, které se zaměřují na jemné ladění specifických prvků, jako jsou modelové biasy nebo konkrétní řádky.

Metoda založená na reparametrizaci

Tyto metody využívají nízkorozměrové reprezentace pro snížení počtu trénovatelných parametrů, s nejznámější being Low-Rank Adaptation (LoRA). Tato metoda využívá jednoduchou nízkorozměrovou maticovou dekompozici pro parametrizaci aktualizace váhy, demonstrující efektivní jemné ladění v nízkorozměrových prostorech.

1) LoRA (Low-Rank Adaptation)

LoRA se objevila jako průlomová technika PEFT, představená v článku Edwardem J. Hu a dalšími v roce 2021. Operuje v kategorii reparametrizace, zmrazí původní váhy LLM a integruje nové trénovatelné nízkorozměrové matice do každé vrstvy architektury Transformer. Tento přístup nejen snižuje počet trénovatelných parametrů, ale také snižuje trénovací čas a výpočetní zdroje, představující tak efektivnější alternativu k plnému jemnému ladění.

Chcete-li pochopit mechaniku LoRA, je nutné vrátit se k architektuře transformeru, kde vstupní prompt prochází tokenizací a konverzí na vektorové reprezentace. Tyto vektory procházejí kodérem a/nebo dekodérem transformeru, setkávají se se sebe-pozorností a feed-forward sítěmi, jejichž váhy jsou předtrénovány.

LoRA využívá koncept Singular Value Decomposition (SVD). SVD rozkládá matici na tři samostatné matice, z nichž jedna je diagonální maticí obsahující singulární hodnoty. Tyto singulární hodnoty jsou zásadní, protože měří významnost různých dimenzí v maticích, s většími hodnotami indikujícími vyšší důležitost a menšími hodnotami nižší význam.

Singular Value Decomposition (SVD) m × n matice

Singular Value Decomposition (SVD) m × n matice

Tento přístup umožňuje LoRA zachovat podstatné charakteristiky dat, zatímco snižuje dimenzi, optimalizuje tak jemné ladění.

LoRA zasahuje do tohoto procesu, zmrazí všechny původní modelové parametry a přidá pár “rank dekompozičních matic” vedle původních váhy. Tyto menší matice, označené jako A a B, procházejí trénováním pomocí supervizovaného učení.

Klíčovým prvkem v této strategii je parametr nazývaný “rank” (‘r’), který určuje velikost nízkorozměrových matic. Přesné výběry ‘r’ mohou vést k pozoruhodným výsledkům, i při menších hodnotách, vytvářející tak nízkorozměrovou matici s méně parametry pro trénování. Tato strategie byla úspěšně implementována pomocí otevřených knihoven, jako je HuggingFace Transformers, usnadňujících LoRA jemné ladění pro různé úkoly s pozoruhodnou efektivitou.

2) QLoRA: Zvyšování efektivity LoRA

Navazujíce na základy LoRA, QLoRA dále snižuje paměťové požadavky. Představená Timem Dettmersem a dalšími v roce 2023, kombinuje nízkorozměrovou adaptaci s kvantizací, využívající 4bitový kvantizační formát nazývaný NormalFloat nebo nf4. Kvantizace je esenciálně proces, který přechází data z vyšší reprezentace na nižší. Tento přístup zachovává efektivitu 16bitových metod jemného ladění, dekvantizuje 4bitové váhy na 16bit, jak je během výpočetních procesů zapotřebí.

Srovnání metod jemného ladění: QLoRA vylepšuje LoRA s 4bitovou kvantizací a stránkovými optimalizátory pro správu paměťových špiček

Srovnání metod jemného ladění: QLoRA vylepšuje LoRA s 4bitovou kvantizací a stránkovými optimalizátory pro správu paměťových špiček

QLoRA využívá NumericFloat4 (nf4), cílí na každou vrstvu architektury transformer, a zavádí koncept dvojí kvantizace pro další snížení paměťového otisku vyžadovaného pro jemné ladění. Toho je dosaženo provedením kvantizace na již kvantizovaných konstantách, strategie, která zabraňuje typickým špičkám paměti při checkpointingu gradientů pomocí stránkovacích optimalizátorů a sjednocené správy paměti.

Guanaco, který je souborem QLoRA-tunovaných modelů, nastavuje benchmark v otevřených řešeních chatbotů. Jeho výkon, ověřený systematickými lidskými a automatizovanými hodnoceními, podtrhuje jeho dominanci a efektivitu v oboru.

Verze Guanaca 65B a 33B, jemně laděné pomocí modifikované verze OASST1 datové sady, se objevují jako silní konkurenti renomovaných modelů, jako je ChatGPT a dokonce GPT-4.

Jemné ladění pomocí učení s posilováním z lidské zpětné vazby

Učení s posilováním z lidské zpětné vazby (RLHF) vstupuje do hry, když je třeba jemně ladit předtrénované jazykové modely, aby se více sladily s lidskými hodnotami. Tento koncept byl představen Open AI v roce 2017 a položil základy pro vylepšenou dokumentační sumarizaci a vývoj InstructGPT.

V jádru RLHF leží paradigma učení s posilováním, typ techniky strojového učení, kde agent učí, jak se chovat v prostředí prováděním akcí a přijímáním odměn. Je to kontinuální smyčka akce a zpětné vazby, kde agent je motivován k výběru akcí, které povedou k nejvyšší odměně.

Přeloženo do oblasti jazykových modelů, agent je model sám, operující v prostředí daného kontextového okna a činící rozhodnutí na základě stavu, který je definován aktuálními tokeny v kontextovém okně. “Akční prostor” zahrnuje všechny potenciální tokeny, které model může zvolit, s cílem vybrat token, který se nejvíce shoduje s lidskými preferencemi.

Proces RLHF extenzivně využívá lidské zpětné vazby, využívající ji pro trénování modelu odměn. Tento model hraje zásadní roli při vedení předtrénovaného modelu během jemného ladění, podporuje jej v generování výstupů, které jsou více sladěny s lidskými hodnotami. Je to dynamický a iterativní proces, kde model učí prostřednictvím série “rollouts”, termínu používaného pro popis sekvence stavů a akcí vedoucích k odměně v kontextu generování jazyka.

Jedním z pozoruhodných potenciálů RLHF je jeho schopnost podporovat personalizaci v AI asistencích, přizpůsobujících je tak, aby rezonovaly s individuálními uživatelskými preferencemi, ať už se jedná o jejich smysl pro humor nebo denní rutiny. Otevírá cesty pro vytváření AI systémů, které nejsou pouze technicky zdatné, ale také emocionálně inteligentní, schopné porozumět a reagovat na nuance lidské komunikace.

Nicméně, je důležité poznamenat, že RLHF není bezchybné řešení. Modely jsou stále náchylné k generování nežádoucích výstupů, odrazujícího rozsáhlá a často neřízená a zkreslená data, na kterých jsou trénovány.

Závěr

Proces jemného ladění, kritická fáze ve využívání plného potenciálu LLM, jako je Alpaca, Falcon a GPT-4, se stal více rafinovaným a zaměřeným, nabízejícím přizpůsobená řešení širokému spektru úkolů.

Viděli jsme jemné ladění pro jeden úkol, specializující se na modely v konkrétních rolích, a metody Parameter-Efficient Fine-Tuning (PEFT), včetně LoRA a QLoRA, které usilují o to, aby proces školení byl efektivnější a nákladově efektivnější. Tyto vývojové trendy otevírají dveře k vysoceúrovňovým AI funkcím pro širší publikum.

Dále, zavedení učení s posilováním z lidské zpětné vazby (RLHF) Open AI je krokem směrem k vytváření AI systémů, které více rozumí a sladují s lidskými hodnotami a preferencemi, nastavujících scénu pro AI asistenty, kteří nejsou pouze inteligentní, ale také citliví k individuálním uživatelským potřebám. Obě RLHF a PEFT pracují v synergii, aby vylepšily funkčnost a efektivitu velkých jazykových modelů.

Jak podniky, organizace a jednotlivci hledají integrovat tyto jemně laděné LLM do svých operací, vlastně vítají budoucnost, kde AI není pouze nástrojem, ale partnerem, který rozumí a přizpůsobuje se lidským kontextům, nabízejícím inovativní a personalizovaná řešení.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.