Modely a platformy AI

Přenos velkých jazykových modelů pomocí více tokenů

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

Velké jazykové modely (LLM) jako GPT, LLaMA a další získaly velkou pozornost díky své pozoruhodné schopnosti rozumět a generovat text podobný lidskému. Nicméně, navzdory jejich působivým schopnostem, standardní metoda jejich trénování, známá jako “předpověď dalšího tokenu”, má některé vrozené omezení.

V předpovědi dalšího tokenu je model trénován k předpovědi dalšího slova v sekvenci na základě předcházejících slov. Zatímco tento přístup se ukázal jako úspěšný, může vést k modelům, které mají potíže s dlouhodobými závislostmi a složitými úkoly rozumu. Kromě toho, nesoulad mezi učitelem-nuceným tréninkem a autoregresivním generativním procesem během inference může vést k suboptimálnímu výkonu.

Nová výzkumná práce Gloeckle et al. (2024) z Meta AI představuje novou tréninkovou paradigmatu nazvanou “předpověď více tokenů“, která má za cíl řešit tato omezení a posílit velké jazykové modely. V tomto blogovém příspěvku se budeme zabývat hlavními koncepty, technickými detaily a potenciálními důsledky tohoto průlomového výzkumu.

Předpověď jednoho tokenu: Konvenční přístup

Než se budeme zabývat detaily předpovědi více tokenů, je důležité pochopit konvenční přístup, který byl po léta základem trénování velkých jazykových modelů – předpověď jednoho tokenu, také známá jako předpověď dalšího tokenu.

Paradigma předpovědi dalšího tokenu

V paradigmatu předpovědi dalšího tokenu jsou jazykové modely trénovány k předpovědi dalšího slova v sekvenci na základě předcházejícího kontextu. Formálněji, model je úkolován maximizovat pravděpodobnost dalšího tokenu xt+1, daného předcházejících tokenů x1, x2, …, xt. To je obvykle prováděno minimalizací cross-entropické ztráty:

L = -Σt log P(xt+1 | x1, x2, …, xt)

Tento jednoduchý, ale silný tréninkový cíl byl základem mnoha úspěšných velkých jazykových modelů, jako je GPT (Radford et al., 2018), BERT (Devlin et al., 2019) a jejich variant.

Učitel-nucený trénink a autoregresivní generace

Předpověď dalšího tokenu spoléhá na tréninkovou techniku nazvanou “učitel-nucený“, kde je modelu poskytnuta pravdivá hodnota pro každý budoucí token během tréninku. To umožňuje modelu učit se z pravdivého kontextu a cílových sekvencí, usnadňuje tak stabilnější a efektivnější trénink.

Nicméně, během inference nebo generace, model funguje autoregresivně, předpovídající jeden token najednou na základě předchozích generovaných tokenů. Tento nesoulad mezi tréninkovým režimem (učitel-nuceným) a inferenčním režimem (autoregresivní generací) může vést k potenciálním nesrovnalostem a suboptimálnímu výkonu, zejména pro delší sekvence nebo složitější úkoly rozumu.

Omezení předpovědi dalšího tokenu

Zatímco předpověď dalšího tokenu byla pozoruhodně úspěšná, má také einige vrozená omezení:

  1. Krátkodobé zaměření: Předpovídáním pouze dalšího tokenu, model může mít potíže s dlouhodobými závislostmi a celkovou strukturou a koherencí textu, potenciálně vedoucí k nesrovnalostem nebo nekonzistentním generacím.
  2. Místní vzorové uchycení: Modely předpovědi dalšího tokenu mohou uchytit místní vzory v tréninkových datech, což může vést k potížím s generalizací na out-of-distribution scénáře nebo úkoly, které vyžadují abstraktnější rozumnost.
  3. Schopnosti rozumu: Pro úkoly, které vyžadují vícestupňový rozum, algoritmické myšlení nebo komplexní logické operace, předpověď dalšího tokenu může neposkytnout dostatečné induktivní předpojatosti nebo reprezentace pro efektivní podporu těchto schopností.
  4. Neefektivita vzorků: Kvůli místní povaze předpovědi dalšího tokenu, modely mohou vyžadovat větší tréninkové sady k získání nezbytných znalostí a schopností rozumu, vedoucí k potenciálním neefektivitám vzorků.

Tato omezení vedla výzkumníky k prozkoumání alternativních tréninkových paradigm, jako je předpověď více tokenů, která má za cíl řešit některá z těchto nedostatků a odemknout nové schopnosti pro velké jazykové modely.

Kontrastující konvenční přístup předpovědi dalšího tokenu s novou technikou předpovědi více tokenů, čtenáři mohou lépe pochopit motivaci a potenciální výhody druhé, vytvářející tak scénu pro hlubší prozkoumání tohoto průlomového výzkumu.

Co je předpověď více tokenů?

Klíčovým nápadem za předpovědí více tokenů je trénovat jazykové modely k předpovědi více budoucích tokenů najednou, místo pouze jednoho tokenu. Konkrétně, během tréninku, model je úkolován k předpovědi dalších n tokenů v každém umístění v tréninkovém korpusu, pomocí n nezávislých výstupních vrstev (hlav) fungujících na vrcholu sdíleného modelového kmene.

Například, s nastavením 4-tokenové předpovědi, model by byl trénován k předpovědi dalších 4 tokenů najednou, daných předcházejícího kontextu. Tento přístup podporuje model k zachycení dlouhodobějších závislostí a lepšímu pochopení celkové struktury a koherence textu.

Toy Example

Abychom lépe pochopili koncept předpovědi více tokenů, zvažme jednoduchý příklad:

“Rychlý hnědý liška skáče přes lenivého psa.”

V standardním přístupu předpovědi dalšího tokenu, model by byl trénován k předpovědi dalšího slova, daného předcházejícího kontextu. Například, daný kontext “Rychlý hnědý liška skáče přes”, model by byl úkolován k předpovědi dalšího slova, “lenivého”.

S předpovědí více tokenů, nicméně, model by byl trénován k předpovědi více budoucích slov najednou. Například, pokud nastavíme n=4, model by byl trénován k předpovědi dalších 4 slov současně. Daný stejný kontext “Rychlý hnědý liška skáče přes”, model by byl úkolován k předpovědi sekvence “lenivý pes” (Poznámka: mezera za “pes” označuje konec věty).

Trénováním modelu k předpovědi více budoucích tokenů najednou, model je podporován k zachycení dlouhodobějších závislostí a lepšímu pochopení celkové struktury a koherence textu.

Technické detaily

Autoři navrhují jednoduchou, ale efektivní architekturu pro implementaci předpovědi více tokenů. Model se skládá z sdíleného transformerového kmene, který produkuje latentní reprezentaci vstupního kontextu, následovaného n nezávislými transformerovými vrstvami (výstupními hlavami), které předpovídají příslušné budoucí tokeny.

Během tréninku, forward a backward passy jsou pečlivě orchestrovány, aby minimalizovaly paměťový rozsah GPU. Sdílený kmen počítá latentní reprezentaci a poté každá výstupní hlava sekvenčně provede forward a backward pass, akumulující gradienty na úrovni kmene. Tento přístup zabraňuje materializaci všech logitových vektorů a jejich gradientů současně, snižuje tak maximální paměťový rozsah GPU z O(nV + d) na O(V + d), kde V je velikost slovníku a d je rozměr latentní reprezentace.

Paměťově efektivní implementace

Jednou z výzev při tréninku předpovědi více tokenů je snížení jejich paměťového využití GPU. Jelikož velikost slovníku (V) je obvykle mnohem větší než rozměr latentní reprezentace (d), logitové vektory se stávají paměťovým uzlem.

Aby se tato výzva řešila, autoři navrhují paměťově efektivní implementaci, která pečlivě přizpůsobuje sekvenci forward a backward operací. Místo materializace všech logitů a jejich gradientů současně, implementace sekvenčně počítá forward a backward passy pro každou nezávislou výstupní hlavu, akumulující gradienty na úrovni kmene.

Tento přístup zabraňuje ukládání všech logitových vektorů a jejich gradientů v paměti současně, snižuje tak maximální paměťový rozsah GPU z O(nV + d) na O(V + d), kde n je počet předpovídaných budoucích tokenů.

Výhody předpovědi více tokenů

Výzkumná práce prezentuje několik přesvědčivých výhod použití předpovědi více tokenů pro trénink velkých jazykových modelů:

  1. Vylepšená vzorková efektivita: Předpovídáním více budoucích tokenů najednou, předpověď více tokenů podporuje model k lepší vzorkové efektivitě. Autoři demonstrují významná zlepšení výkonu na úkolech porozumění a generace kódu, s modely až 13B parametrů, které řeší kolem 15% více problémů v průměru.
  2. Rychlejší inference: Další výstupní hlavy trénované s předpovědí více tokenů mohou být využity pro self-speculative decoding, variantu speculačního dekódování, která umožňuje paralelní předpověď tokenů. To vede k až 3x rychlejšímu inferenčnímu času napříč širokým rozsahem velikostí dávek, dokonce i pro velké modely.
  3. Promování dlouhodobých závislostí: Předpověď více tokenů podporuje model k zachycení dlouhodobějších závislostí a vzorů v datech, což je besonders výhodné pro úkoly, které vyžadují porozumění a rozumnost nad většími kontexty.
  4. Algoritmické rozumné schopnosti: Autoři prezentují experimenty na syntetických úkolech, které demonstrují superioritu modelů předpovědi více tokenů ve vývoji induktivních hlav a algoritmických rozumných schopností, zejména pro menší modelové velikosti.
  5. Koherence a konzistence: Trénováním modelu k předpovědi více budoucích tokenů současně, předpověď více tokenů podporuje vývoj koherentních a konzistentních reprezentací. To je besonders výhodné pro úkoly, které vyžadují generování delších, koherentnějších textů, jako je vyprávění, kreativní psaní nebo generování instruktážních manuálů.
  6. Vylepšená generalizace: Experimenty autorů na syntetických úkolech naznačují, že modely předpovědi více tokenů vykazují lepší generalizační schopnosti, zejména v out-of-distribution scénářích. To je potenciálně způsobeno schopností modelu zachytit dlouhodobější vzory a závislosti, které mu umožňují extrapolovat efektivněji na neviditelné scénáře.

Příklady a intuice

Abychom poskytli více intuice o tom, proč předpověď více tokenů funguje tak dobře, zvažme několik příkladů:

  1. Generace kódu: V kontextu generace kódu, předpověď více tokenů současně může pomoci modelu pochopit a vygenerovat komplexnější kódové struktury. Například, při generování funkce, předpověď pouze dalšího tokenu nemusí poskytnout dostatečný kontext pro model, aby vygeneroval celou funkci správně. Nicméně, předpovídáním více tokenů najednou, model může lépe zachytit závislosti mezi názvem funkce, parametry a návratovým typem, vedoucí k více přesné a koherentní generaci kódu.
  2. Přirozené jazykové rozumné schopnosti: Zvažme scénář, ve kterém je jazykový model úkolován k odpovědi na otázku, která vyžaduje rozumnost nad několika kroky nebo kusy informací. Předpovídáním více tokenů současně, model může lépe zachytit závislosti mezi různými součástmi rozumného procesu, vedoucí k více koherentním a přesným odpovědím.
  3. Generace dlouhých textů: Při generování dlouhých textů, jako jsou příběhy, články nebo zprávy, udržení koherence a konzistence po delší dobu může být pro jazykové modely trénované s předpovědí dalšího tokenu problematické. Předpověď více tokenů podporuje model k vývoji reprezentací, které zachycují celkovou strukturu a tok textu, potenciálně vedoucí k více koherentním a konzistentním generacím.

Omezení a budoucí směry

Zatímco výsledky prezentované v článku jsou působivé, existují beberapa omezení a otevřené otázky, které vyžadují další prozkoumání:

  1. Optimální počet tokenů: Článek prozkoumává různé hodnoty n (počet budoucích tokenů k předpovědi) a nachází, že n=4 funguje dobře pro mnoho úkolů. Nicméně, optimální hodnota n může záviset na konkrétním úkolu, datové sadě a velikosti modelu. Vývoj principiálních metod pro stanovení optimální hodnoty n by mohl vést k dalšímu zlepšení výkonu.
  2. Velikost slovníku a tokenizace: Autoři poznamenávají, že optimální velikost slovníku a tokenizace pro modely předpovědi více tokenů se mohou lišit od těch, které se používají pro modely předpovědi dalšího tokenu. Prozkoumání tohoto aspektu by mohlo vést k lepšímu kompromisu mezi komprimovanou délkou sekvence a výpočetní efektivitou.
  3. Pomocné předpovědní ztráty: Autoři naznačují, že jejich práce by mohla vést k vývoji nových pomocných předpovědních ztrát pro velké jazykové modely, além standardní předpovědi dalšího tokenu. Prozkoumání alternativních pomocných ztrát a jejich kombinací s předpovědí více tokenů je zajímavým směrem výzkumu.
  4. Teoretické pochopení: Zatímco článek poskytuje einige intuice a empirické důkazy pro účinnost předpovědi více tokenů, hlubší teoretické pochopení toho, proč a jak tento přístup funguje tak dobře, by bylo cenné.

Závěr

Výzkumná práce “Better & Faster Large Language Models via Multi-token Prediction” od Gloeckle et al. představuje novou tréninkovou paradigmatu, která má potenciál významně zlepšit výkon a schopnosti velkých jazykových modelů. Trénováním modelů k předpovědi více budoucích tokenů současně, předpověď více tokenů podporuje vývoj dlouhodobějších závislostí, algoritmických rozumných schopností a lepší vzorkové efektivitě.

Technická implementace navrhovaná autory je elegantní a výpočetně efektivní, což umožňuje aplikovat tento přístup na velké jazykové modely. Kromě toho, schopnost využít self-speculative decoding pro rychlejší inference je významnou praktickou výhodou.

Zatímco existují stále otevřené otázky a směry pro další prozkoumání, tento výzkum představuje zajímavý krok vpřed v oblasti velkých jazykových modelů. Jak poptávka po více schopných a efektivních jazykových modelech pokračuje, předpověď více tokenů by mohla se stát klíčovou součástí příští generace těchto silných AI systémů.

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.