Modely a platformy AI

GPT-3 : Few Shot Learning for Language Model?

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

V posledních několika letech světlý průmysl AI a ML zažil meteorický růst ve vývoji a aplikaci systémů NLP, protože výzkumníci byli schopni implementovat postupy NLP ve vysoce flexibilních a úkolově agnostických způsobech pro úkoly downstream přenosu.

Zpočátku to byly jednouvazební reprezentace, které používaly vektorová slova, a poté byly krmeny do architektury specifické pro úkol. Další bylo architektura RNN, která používala víceuživazné reprezentace a kontextový stav pro tvorbu lepších reprezentací. A nejnověji máme přenosové jazykové modely nebo předtrénované rekurentní modely, které zcela odstranily potřebu architektur specifických pro úkol tím, že jemně ladily tyto sítě.

Přenosové jazykové modely se ukázaly jako zásadní zlom v odvětví NLP, protože vedly k enormnímu pokroku v náročných úkolech, jako je odpověď na otázky, čtení a porozumění textu, textová implikace a mnoho dalšího.

Nicméně, navzdory jejich výhodám, přenosové jazykové modely mají jednu zásadní limitaci, a to, že vyžadují jemné ladění specifické pro úkol nebo dataset specifický pro úkol, aby dosáhly požadovaného výkonu. Kromě toho přenosové jazykové modely také vyžadují, aby vývojáři jemně ladili datasety na stovky tisíc příkladů specifických pro konkrétní úkol.

Je zřejmé, že odstranění požadavku na dataset specifický pro úkol a jemné ladění specifické pro úkol bude vysoce žádoucí a prospěšné pro odvětví NLP z mnoha důvodů.

Problémy s existujícími předtrénovanými přenosovými jazykovými modely nebo rekurentními modely

  • Omezení praktičnosti a aplikovatelnosti

Především, požadavek velkého datasetu s označenými daty pro každý úkol omezuje aplikovatelnost a praktičnost jazykových modelů. Jazykové modely nacházejí své aplikace v široké škále úkolů, od generování krátkého příběhu, přes opravu gramatických chyb, až po generování příkladů na koncept. Někdy je obtížné shromáždit velký dohlížený dataset s označenými daty, zejména když proces musí být opakován pro každý jednotlivý úkol.

  • Využívání falešných korelací ve trénovacích datech

Omezení a úzkost trénovacích distribucí v kombinaci s expresivitou modelu může vést k fundamentálnímu růstu potenciálu pro využívání falešných korelací ve trénovacích datech. Potenciál pro využívání trénovacích dat může vést k problémům během jemného ladění a předtrénování, protože přenosové jazykové modely jsou navrženy tak, aby absorbovaly velké množství informací během předtrénování.

Kromě toho práce na předchozích modelech ukázala, že velké modely nevytvářejí vždy lepší výsledky mimo distribuci každým časem. Kromě toho bylo také ukázáno, že generalizace dosažená v tomto paradigmatu může vést k horšímu výkonu, protože model je vysoce specifický pro trénovací data a nemůže fungovat dobře v situacích mimo rozsah trénovacích dat.

  • Srovnání s lidským učením

Nakonec, ve srovnání s přenosovými jazykovými modely, lidé nevyžadují velký trénovací dataset, když se učí většinu jazykových úkolů. Často stačí krátká direktiva v přirozeném jazyce nebo malá demonstrace jazykového úkolu pro člověka, aby pochopil a provedl jazykový úkol s určitou úrovní konkurenceschopnosti.

Lidská schopnost přizpůsobit se má mnoho praktických výhod, protože umožňuje lidem přepínat mezi různými soubory dovedností nebo je kombinovat, aby lépe fungovali během dialektu, což je něco, co je mimo schopnosti současných systémů NLP.

Přístup k problémům pomocí meta-učení a GPT-3

Možným řešením výše uvedených problémů je použití meta-učení, konceptu v moderním ML, který umožňuje modelu vyvinout širší a větší soubor dovedností a schopností rozpoznávat vzory během trénování a poté tyto naučené schopnosti použít během interference, aby se rychle přizpůsobil nebo rozpoznal požadovaný úkol.

Meta-učení se implementuje v architektuře jazykového modelu pomocí techniky nazvané „učení v kontextu“, která používá textový vstup předtrénovaného jazykového modelu jako specifikaci úkolu. V procesu model podmíněně reaguje na přirozenou jazykovou instrukci a může dokonce použít několik demonstrací, a model se pak očekává, že dokončí zbytek úkolu tím, že předpoví další kroky.

Jediným hlavním problémem s meta-učením je, že ačkoli ukázalo pozitivní potenciál, je stále horší než přístup jemného ladění v architektuře přirozeného jazyka a potřebuje další zlepšení, aby se stal praktickou metodou pro překonání jazykových úkolů.

Kromě meta-učení je další metodou, která získává popularitu, zvyšování kapacity transformačních jazykových modelů. V posledních letech světlé modely prošly podstatným zvýšením kapacity s modelem RNSS18 s 100 miliony parametrů, modelem DCLT18 s 300 miliony parametrů, modelem RWC19 s 1,5 miliardou parametrů, modelem SSP19 s 8 miliardami parametrů, modelem RSR19 s 11 miliardami parametrů a modelem TUR20 s 17 miliardami parametrů.

Zvyšování kapacity modelu nebo zvyšování parametrů historicky vedlo k zlepšením syntézy textu a bylo naznačeno, že logická ztráta, která koreluje s downstream úkoly, také následuje hladký trend zlepšování se škálou.

To nás přivádí k modelu GPT-3, který má více než 175 miliard parametrů, a když byl spuštěn, byl to přenosový jazykový model s nejvyšší kapacitou. Pojďme nyní mluvit o modelu GPT-3.

Úvod do modelu GPT-3

GPT-3 je autoagresivní jazykový model s více než 175 miliardami parametrů, který byl vydán OpenAI v roce 2020. GPT-3 je také klasifikován jako velký jazykový model, který, stejně jako jeho předchůdce model GPT-2, je dekodér-only hluboký transformační model, který používá konvoluční architekturu pro generování textových dat.

Model GPT-3 měří svou vlastní schopnost učení v kontextu a model GPT-3 je hodnocen na více než dvou desítkách NLP datasetů a několika nových úkolech. Pro každý jednotlivý úkol je model GPT-3 hodnocen za tří podmínek,

  • Few Shot Learning nebo učení v kontextu: V few shot učení, model GPT-3 umožňuje tolik distribucí, které se mohou vejít do kontextového okna modelu.
  • One Shot Learning: V one shot učení, model umožňuje pouze jednu demonstraci.
  • Zero Shot Learning: V zero shot učení, nejsou žádné demonstrace a je pouze přirozená jazyková instrukce, která je krmena do modelu.

Široce řečeno, model GPT-3 dosahuje požadovaného výkonu v nulovém a jednom shot nastavení a ve few shot nastavení překonává stávající přenosové modely většinu času. Kromě toho model GPT-3 funguje dobře v jednom shot a nulovém nastavení v úkolech přirozeného jazyka, které vyžadují testování na letu, nebo vyžadují rychlou pozornost, jako je použití nových slov po větě, nebo rozkládání slov, nebo provádění aritmetických operací.

Model GPT-3: Přístup

Model GPT-3 používá konvenční přístup předtrénování, který zahrnuje model, data a trénování, a připomíná proces předtrénování použitý modelem RWC-19. Model GPT-3 zvyšuje velikost modelu, velikost datasetu, rozmanitost datasetu a zvyšuje délku trénovacího období.

Model také používá přístup učení v kontextu, který opět připomíná přístup modelu RWC-19, ale trochu mění věci systematickým prozkoumáním různých nastavení pro učení vzorů v kontextu datasetu.

Pojeďme tedy prozkoumat tato nastavení a vyhodnotit, jak model GPT-3 funguje v různých nastaveních.

Jemné ladění

Jemné ladění modelu bylo konvenčním přístupem v přenosových jazykových modelech a tento přístup zahrnuje aktualizaci váh předtrénovaného modelu trénováním modelu na dohlíženém datasetu specifickém pro požadovaný úkol a pomocí stovek tisíc označených příkladů během procesu.

Přístup jemného ladění je výhodný, protože poskytuje silný výkon napříč mnoha benchmarky. Na druhou stranu, hlavní limitace použití přístupu jemného ladění je, že vyžaduje nový a velký dataset pro každý jednotlivý úkol, má potenciál využít falešné rysy trénovacích dat, může potenciálně vést k nespravedlivému srovnání s lidským výkonem a k horší generalizaci pro mimo distribuci.

Současný rozsah modelu GPT-3 neimplementuje přístup jemného ladění kvůli jeho úkolově agnostickému výkonu, ačkoli jemné ladění lze aplikovat na model GPT-3 v budoucnu.

Few Shot

Few Shot je termín, který odkazuje na nastavení, ve kterém je modelu GPT-3 dán několik demonstrací úkolu během interference jako podmínění, ale váhy modelu nejsou aktualizovány. V few shot nastaveních má dataset obvykle příklad s kontextem a požadovaným dokončením (například francouzskou větou a jejím anglickým překladem).

Hlavní výhodou použití few shot nastavení je, že podstatně snižuje potřebu úkolově specifických dat a také snižuje potenciál naučit se úzkou distribuci z velkého datasetu, který je jemně laděn úzce.

Na druhou stranu, hlavní nevýhodou použití few shot učení je, že výsledky dosažené v few shot nastavení nejsou na úrovni a jsou podstatně horší ve srovnání s ostatními stávajícími modely, které jsou jemně laděny.

One Shot

V one shot nastavení je modelu dán pouze jedna demonstrace a zbytek je podobný few shot nastavení. Důvod, proč one shot nastavení je relevantní v přenosových jazykových modelech, je, že z všech tří nastavení je one shot to, které nejvíce připomíná způsob, jakým úkoly jsou komunikovány lidem.

Je to proto, že ve většině úkolů je obvyklé dát jednu demonstraci úkolu, jinak by mohlo být obtížné pochopit kontext úkolu.

Zero Shot

V zero shot nastavení nejsou žádné demonstrace a modelu je dána pouze přirozená jazyková instrukce, která popisuje úkol. Zero shot metoda je nejvhodnější, robustní a také se vyhýbá falešným korelacím, ale je také nejobtížnější ze všech tří nastavení.

Je to proto, že v některých případech je obtížné i pro lidi určit kontext úkolu bez vidět demonstraci poprvé.

Přesto, pro některé úkoly je zero shot nastavení tím, které nejvíce připomíná, jak lidé provádějí úkoly přirozeného jazyka.

Výše uvedená figura srovnává few shot, one shot a zero shot nastavení při provádění úkolu přirozeného jazyka, jako je překlad anglické věty do francouzštiny.

Model GPT-3: Architektura

Model GPT-3 používá stejnou architekturu jako ta, která byla použita v modelu GPT-2, a zahrnuje pre-normalizaci, modifikovanou inicializaci a reverzibilní tokenizaci technik, jak byly použity na modelu GPT s výjimkou použití alternativní strategie pro lokálně páskované sparse pozornostní vzory a střídání hustých vrstev v transformačních vrstvách, podobně jako Sparse Transformer.

Pro studium závislosti výkonu modelu na velikosti modelu byli vývojáři trénovat 8 různých velikostí modelů, které sahají přes tři různé řády velikosti od 125 milionů do více než 175 miliard parametrů, poslední z nich se nazývá model GPT-3. Předchozí práce související s LLM modely naznačily, že škálování validační ztráty se dostatečným množstvím trénovacích dat by mělo být aproximativní hladký mocninový zákon jako funkce velikosti.

Výše uvedená figura srovnává velikost a architekturu 8 různých modelů použitých pro vývoj modelu GPT-3. Zde n(param) definuje celkový počet trénovatelných parametrů, n(vrstev) definuje celkový počet vrstev v modelu, d(model) definuje počet jednotek v každé vrstvě hrdla a d(hlava) definuje dimenze každé pozornostní hlavy.

Kontextové okno pro každý model je stejné s 2048 tokeny.

Kromě toho, aby se minimalizoval přenos dat mezi uzly, je model rozdělen napříč GPU podle hloubky a šířky dimenzí.

Architektonické parametry pro každý model byly vybrány na základě výpočetní efektivity a vyvážení zatížení, aby se maximalizovala přesnost rozložení modelů napříč GPU.

Trénovací data

Typicky, velké jazykové modely používají datasety, které se podstatně rozšířily s nedávnými vývoji, a které vyvrcholily v datasetu Common Crawl, který obsahuje více než bilion různých slov.

Velikost datasetu je dostatečně velká, aby trénovala model GPT-3 bez aktualizace na stejném sekvenci vícekrát.

Nicméně, studie a analýza výkonu naznačují, že lehce filtrované verze nebo nefiltrované verze datasetu Common Crawl mají nízkou kvalitu ve srovnání s více kultivovanými datasety.

Aby se vyřešil problém průměrné kvality datasetu, vývojáři provedli 3 kroky, aby zvýšili kvalitu datasetu.

  1. Vývojáři stáhli a filtrovali verzi datasetu Common Crawl na základě rozsahu podobného vysokokvalitním referenčním korpusům.
  2. Vývojáři provedli fuzzy duplikaci na úrovni dokumentu napříč datasetem v pokusu o zachování integrity jejich vynechání validačního souboru jako efektivní měření přetrénování a aby se zabránilo redundanci.
  3. Vývojáři také přidali vysokokvalitní referenční korpusy do trénovacích dat, aby rozšířily dataset Common Crawl a dále zvýšily rozmanitost datasetu.

Následující figura ukazuje konečnou propozici nebo směs datasetů použitých pro trénování modelu GPT-3.

Značný problém s velkými jazykovými modely, které jsou předtrénovány na velkém množství internetových dat s kapacitou memorovat a naučit se velké množství obsahu, je potenciální kontaminace downstream úkolů tím, že jejich vývojový nebo testovací soubory jsou viděny během předtrénování.

Aby se snížila taková potenciální kontaminace, vývojáři hledali jakékoli překryvy s testovacími a vývojovými soubory benchmarků studovaných pro GPT-3 a pokusili se je odstranit.

Výše uvedená figura ukazuje celkový výpočet použitý během trénování modelu GPT-3.

Model používá Scaling Laws for Neural Language Models pro trénování mnohem větších modelů na méně tokenů než typické.

Jako výsledek, både GPT-3 a RoBERTa-Large model, který je 10x menší než GPT-3, vzaly téměř 50 petaflops/den výpočtu během předtrénování.

Hodnocení

Pro few shot učení, model vyhodnocuje každý příklad v hodnocení datasetu tím, že náhodně vybere K příkladů z trénovacích dat úkolu jako podmínění a ohraničí je 1 nebo 2 novými řádky v závislosti na úkolu.

K může být libovolná hodnota v rozmezí od 0 do maximálního množství povoleného kontextovým oknem modelu, které je next = 2048 pro všechny modely a obvykle se vejde do 10 až 100 příkladů.

Větší hodnoty K často vedou k lepším výsledkům, ale ne vždy, a to je důvod, proč, když model má testovací soubor a samostatný vývojový soubor, model experimentuje s několika hodnotami K na vývojovém souboru a na základě výsledků běží nejlepší hodnotu na testovacím souboru.

Kromě toho, pro úkoly, které vyžadují výběr správného dokončení z více možností, vývojáři poskytují K příkladů korekce plus kontext dokončení a poté poskytují jeden konečný kontext a očekávají, že model poskytne dokončení.

Pro úkoly, které vyžadují binární klasifikaci, modely často poskytují možnosti více semanticky a s více významnými názvy a poté zacházejí s úkolem jako s více výběrem a někdy také rámcují úkol podobně jako RSR model a architektura.

Pro úkoly, které vyžadují volné dokončení, model používá beam search s identickými parametry jako RSR framework, s paprskem délky 4 a penaltí 0,6.

Model je poté skórován pomocí F1 podobnosti skóre, přesné shody nebo BLEU, v závislosti na standardu pro dataset.

Výsledky

Výše uvedená figura zobrazuje trénovací křivky pro 8 modelů použitých v architektuře modelu GPT-3, jak je popsáno v předchozích částech.

Podobně jako výsledky z KMH jazykového modelu, výkon modelu GPT-3 následuje správný zákon, když se používá trénovací výpočet efektivně.

Je zde malý rozdíl od zákona pouze tehdy, když je trend prodloužen o dvě další řády velikosti.

To může vést k myšlence, že zlepšení křížové entropie mohou být výsledkem modelování falešných detailů trénovacích dat.

Nicméně, zlepšení křížové entropie vedou k konzistentnímu zisku v celkovém výkonu napříč širokou škálou různých úkolů NLP.

Před hodnocením 8 různých modelů na široké škále trénovacích dat, datasety jsou seskupeny do 8 různých kategorií, které reprezentují podobné úkoly.

Tyto kategorie jsou

  1. Hodnocení na tradičních úkolech jazykového modelování a úkolech, které připomínají jazykové modelování, jako jsou úkoly Cloze nebo dokončení vět nebo odstavců.
  2. Hodnocení na „uzavřených“ úkolech otázek a odpovědí.
  3. Hodnocení modelovy schopnosti překládat mezi jazyky (zejména one shot a few shot).
  4. Hodnocení modelovy schopnosti na úkolech Winograd.
  5. Hodnocení na datasetech, které vyžadují společenské rozumění nebo otázek a odpovědí.
  6. Hodnocení na úkolech čtení a porozumění.
  7. Hodnocení na SuperGLUE benchmark souboru.
  8. Prozkoumání NLI.

Jazykové modelování, dokončení a úkoly Cloze

V této části je hodnocen výkon modelu GPT-3 na tradičních úkolech jazykového modelování a úkolech, které vyžadují předpověď jediného slova zájmu nebo dokončení odstavce nebo věty nebo dokončení kusu textu.

Pojeďme je prozkoumat v krátkém detailu.

Jazykové modelování

Model GPT-3 vypočítává nulový shot zmatení na PTB nebo Penn Tree Bank datasetu.

Model vynechává úkoly související s Wikipedií, protože jsou již zahrnuty v trénovacích datech modelu a jeden miliardový word benchmark je také vynechán, protože způsobuje značné tření datasetu v trénovacích datech.

Nicméně, PTB dataset řeší tyto problémy, protože může předcházet modernímu internetu.

Největší model v architektuře modelu GPT-3 dosahuje nového SOTA na PTB datasetu o významném rozdílu 15 bodů a dosahuje zmatení 20,50.

LAMBADA

Dataset LAMBADA se používá k testování modelování modelu na dlouhých závislostech v odstavcích nebo textech.

To znamená, že model je požádán, aby předpověděl poslední slovo věty po přečtení odstavce pro kontext.

Kromě toho, kontinuální škálování jazykových modelů vede k úbytku návratnosti na benchmarku.

Model GPT-3 dosahuje 76% přesnosti na LAMBADA a má zisk přes 8% oproti předchozím nejlepším modelům.

Kromě toho, model LAMBADA demonstruje flexibilitu few shot učení, protože řeší problém klasicky s datasetem.

Dokončení věty v LAMBADA je obvykle poslední slovo věty, ale protože jazykový model nemůže vědět to, přiřazuje pravděpodobnost nejen správnému konci, ale také jiným pokračováním odstavce.

Kromě toho, když jsou příklady krmené do modelu GPT-3 upraveny určitým způsobem, model vrací přesnost přes 86%, což je zvýšení o více než 18% oproti předchozím modelům.

Kromě toho, výsledky také naznačily, že výkon modelu ve few shot nastavení se zvyšuje proporcionálně se zvyšováním velikosti modelu.

Ačkoli tato strategie snižuje nejmenší model v architektuře GPT-3 o 20%, zvyšuje přesnost primárního modelu GPT-3 s 175 miliardami parametrů o 10%.

Uzavřené úkoly otázek a odpovědí

Uzavřené úkoly otázek a odpovědí jsou pokusy o měření schopnosti modelu GPT-3 odpovědět na otázky na základě široké faktické znalosti.

Protože takové otázky často mají velký počet možných dotazů, úkol je obvykle prováděn pomocí systému informace, který umožňuje modelu najít relevantní text v kombinaci s modelem, který se učí generovat odpověď na otázku, a poté se otázky a odpovědi.

Výše uvedená figura srovnává výsledky pro model GPT-3 ve srovnání s různými modely a běží na různých datasetech.

Na datasetu TriviaQA dosahuje model přesnost 64,3% v nulovém shot nastavení, zatímco dosahuje přesnost 68% a 71,2% v one shot a few shot nastaveních.

Je zřejmé, že model GPT-3 v nulovém shot nastavení překonává jemně laděný T5-11B model o více než 14%.

Výše uvedená figura ukazuje, že výkon modelu GPT-3 se zvyšuje hladce se zvyšováním velikosti modelu.

Výkon naznačuje, že jazykové modely pokračují v učení z datasetu, jak se jejich kapacita zvyšuje.

Konečné myšlenky

Bylo by bezpečné říci, že GPT-3 byl revoluční fází v odvětví LLM, protože GPT-3 pomohl posunout hranice toho, co může jazykový model dělat.

Byly to vývoj a překonání překážek GPT-3, které připravily cestu pro nejpokročilejší a nejpřesnější velký jazykový model do dneška, GPT-4.

Inženýr z povolání, spisovatel ze srdce. Kunal je technický spisovatel s hlubokou láskou a porozuměním pro AI a ML, který se věnuje zjednodušování složitých konceptů v těchto oblastech prostřednictvím svých přitažlivých a informačních dokumentací.