Modele i platformy AI
Przyspieszanie dużych modeli językowych za pomocą wielotokowej predykcji

Przez
Aayush Mittal Mittal
Duże modele językowe (LLM) jak GPT, LLaMA i inne zdobyły świat dzięki swojej zdolności do zrozumienia i wygenerowania tekstów podobnych do ludzkich. Jednak pomimo ich imponujących możliwości, standardowa metoda szkolenia tych modeli, znana jako “predykcja następnego tokenu”, ma pewne wrodzone ograniczenia.
W predykcji następnego tokenu model jest szkolony do przewidywania następnego słowa w sekwencji, biorąc pod uwagę poprzednie słowa. Chociaż ten podejście okazało się skuteczne, może prowadzić do modeli, które mają trudności z dalekosiężnymi zależnościami i złożonymi zadaniami rozumowania. Ponadto niezgodność między reżimem szkolenia (nauczanie wymuszone) a procesem generacji autoregresyjnej podczas inferencji może skutkować podoptymalną wydajnością.
Niedawny artykuł badawczy autorstwa Gloeckle et al. (2024) z Meta AI wprowadza nowy paradygmat szkolenia zwany “wielotokową predykcją“, który ma na celu rozwiązać te ograniczenia i przyspieszyć duże modele językowe. W tym poście blogowym zagłębimy się w podstawowe pojęcia, szczegóły techniczne i potencjalne implikacje tego przełomowego badania.
Predykcja jednego tokenu: konwencjonalne podejście
Przed zagłębieniem się w szczegóły wielotokowej predykcji, ważne jest zrozumienie konwencjonalnego podejścia, które było podstawą szkolenia dużych modeli językowych przez lata – predykcja jednego tokenu, znana również jako predykcja następnego tokenu.
Paradygmat predykcji następnego tokenu
W paradygmacie predykcji następnego tokenu, modele językowe są szkolone do przewidywania następnego słowa w sekwencji, biorąc pod uwagę poprzedni kontekst. Bardziej formalnie, model jest zobowiązany do maksymalizacji prawdopodobieństwa następnego tokenu xt+1, biorąc pod uwagę poprzednie tokeny x1, x2, …, xt. To jest zwykle robione przez minimalizowanie straty entropii krzyżowej:
L = -Σt log P(xt+1 | x1, x2, …, xt)
To proste, lecz potężne zadanie szkolenia, było podstawą wielu udanych dużych modeli językowych, takich jak GPT (Radford et al., 2018), BERT (Devlin et al., 2019) i ich warianty.
Nauczanie wymuszone i generacja autoregresyjna
Predykcja następnego tokenu opiera się na technice szkolenia zwanej “nauczaniem wymuszone”, gdzie model jest zaopatrzony w podstawę prawdy dla każdego przyszłego tokenu podczas szkolenia. To pozwala modelowi nauczyć się z poprawnego kontekstu i sekwencji celu, ułatwiając bardziej stabilne i wydajne szkolenie.
Jednak podczas inferencji lub generacji, model działa w sposób autoregresyjny, przewidując jeden token na raz, w oparciu o poprzednio wygenerowane tokeny. Ta niezgodność między reżimem szkolenia (nauczaniem wymuszone) a reżimem inferencji (generacją autoregresyjną) może prowadzić do potencjalnych rozbieżności i podoptymalnej wydajności, zwłaszcza dla dłuższych sekwencji lub zadań wymagających złożonego rozumowania.
Ograniczenia predykcji następnego tokenu
Chociaż predykcja następnego tokenu była niezwykle skuteczna, ma również pewne wrodzone ograniczenia:
- Krótkoterminowa koncentracja: Przewidując tylko następny token, model może mieć trudności z uchwyceniem dalekosiężnych zależności i ogólnej struktury oraz spójności tekstu, co może prowadzić do nieścisłości lub niezgodnych generacji.
- Lokalne zaczepienie wzorca: Modele predykcji następnego tokenu mogą zaczepić się o lokalne wzorce w danych szkoleniowych, co utrudnia generalizację do sytuacji poza dystrybucją lub zadań wymagających bardziej abstrakcyjnego rozumowania.
- Możliwości rozumowania: Dla zadań wymagających wieloetapowego rozumowania, myślenia algorytmicznego lub złożonych operacji logicznych, predykcja następnego tokenu może nie zapewnić wystarczających indukcyjnych predyspozycji lub reprezentacji, aby skutecznie wspierać takie możliwości.
- Niewydajność próbek: Ze względu na lokalny charakter predykcji następnego tokenu, modele mogą wymagać większych zbiorów danych szkoleniowych, aby nabyć niezbędną wiedzę i umiejętności rozumowania, co może prowadzić do potencjalnych niewydajności próbek.
Te ograniczenia skłoniły badaczy do eksploracji alternatywnych paradygmatów szkolenia, takich jak wielotokowa predykcja, której celem jest rozwiązanie niektórych z tych ograniczeń i odblokowanie nowych możliwości dla dużych modeli językowych.
Porównując konwencjonalne podejście predykcji następnego tokenu z nowatorskim podejściem wielotokowej predykcji, czytelnicy mogą lepiej zrozumieć motywację i potencjalne korzyści tego ostatniego, co ustanawia podstawę dla głębszego zbadania tego przełomowego badania.
Co to jest wielotokowa predykcja?
Kluczową ideą wielotokowej predykcji jest szkolenie modeli językowych do przewidywania wielu przyszłych tokenów jednocześnie, a nie tylko następnego tokenu. Konkretnie, podczas szkolenia, model jest zobowiązany do przewidywania następnych n tokenów w każdej pozycji w korpusie szkoleniowym, używając n niezależnych głów wyjściowych działających na podstawie wspólnego pnia modelu.
Na przykład, w przypadku ustawienia predykcji 4 tokenów, model byłby szkolony do przewidywania następnych 4 tokenów na raz, biorąc pod uwagę poprzedni kontekst. To podejście zachęca model do uchwycenia dalekosiężnych zależności i lepszego zrozumienia ogólnej struktury i spójności tekstu.
Przykład
Aby lepiej zrozumieć pojęcie wielotokowej predykcji, rozważmy prosty przykład:
“Szybki brązowy lis skacze przez leniwego psa.”
W standardowym podejściu predykcji następnego tokenu, model byłby szkolony do przewidywania następnego słowa, biorąc pod uwagę poprzedni kontekst. Na przykład, biorąc pod uwagę kontekst “Szybki brązowy lis skacze przez”, model byłby zobowiązany do przewidywania następnego słowa, “leniwego”.
Z wielotokową predykcją, model byłby szkolony do przewidywania wielu przyszłych słów jednocześnie. Na przykład, jeśli ustawimy n=4, model byłby szkolony do przewidywania następnych 4 słów jednocześnie. Biorąc pod uwagę ten sam kontekst “Szybki brązowy lis skacze przez”, model byłby zobowiązany do przewidywania sekwencji “leniwego psa “. (Zwróć uwagę na spację po “psie”, aby wskazać koniec zdania).
Szkolenie modelu do przewidywania wielu przyszłych tokenów jednocześnie zachęca go do uchwycenia dalekosiężnych zależności i lepszego zrozumienia ogólnej struktury i spójności tekstu.
Szczegóły techniczne
Autorzy proponują prostą, lecz skuteczną architekturę do wdrożenia wielotokowej predykcji. Model składa się z wspólnego pnia transformatora, który produkuje latentną reprezentację kontekstu wejściowego, po którym następują n niezależne warstwy transformatora (głowy wyjściowe), które przewidują odpowiednie przyszłe tokeny.
Podczas szkolenia, przód i tył są starannie skoordynowane, aby zminimalizować zużycie pamięci GPU. Wspólny pień oblicza latentną reprezentację, a następnie każda głowa wyjściowa sekwencyjnie wykonuje swoje przód i tył, gromadząc gradienty na poziomie pnia. To podejście unika materializacji wszystkich wektorów logitów i ich gradientów jednocześnie, redukując maksymalne zużycie pamięci GPU z O(nV + d) do O(V + d), gdzie V jest rozmiarem słownika a d jest wymiarem latentnej reprezentacji.
Pamięciowo-efektywna implementacja
Jednym z wyzwań w szkoleniu predyktorów wielotokowych jest redukcja ich zużycia pamięci GPU. Ponieważ rozmiar słownika (V) jest zwykle znacznie większy niż wymiar latentnej reprezentacji (d), wektory logitów stają się wąskim gardłem zużycia pamięci GPU.
Aby rozwiązać to wyzwanie, autorzy proponują pamięciowo-efektywną implementację, która starannie adaptuje sekwencję operacji przodu i tyłu. Zamiast materializacji wszystkich logitów i ich gradientów jednocześnie, implementacja sekwencyjnie oblicza przód i tył dla każdej niezależnej głowy wyjściowej, gromadząc gradienty na poziomie pnia.
To podejście unika przechowywania wszystkich wektorów logitów i ich gradientów w pamięci jednocześnie, redukując maksymalne zużycie pamięci GPU z O(nV + d) do O(V + d), gdzie n jest liczbą przyszłych tokenów, które są przewidywane.
Zalety wielotokowej predykcji
Artykuł badawczy przedstawia kilka przekonywujących zalet korzystania z wielotokowej predykcji do szkolenia dużych modeli językowych:
- Poprawiona wydajność próbek: Przewidując wiele przyszłych tokenów jednocześnie, wielotokowa predykcja zachęca model do lepszej wydajności próbek. Autorzy demonstrują znaczne poprawy wydajności w zadaniach zrozumienia i generacji kodu, z modelami o parametrach do 13B, które rozwiązują około 15% więcej problemów średnio.
- Szybsza inferencja: Dodatkowe głowy wyjściowe szkolone z wielotokową predykcją mogą być wykorzystane do zelf-speculative dekodowania, wariantu dekodowania spekulatywnego, który pozwala na równoległe przewidywanie tokenów. To skutkuje nawet 3-krotnie szybszymi czasami inferencji w szerokim zakresie rozmiarów partii, nawet dla dużych modeli.
- Promowanie dalekosiężnych zależności: Wielotokowa predykcja zachęca model do uchwycenia dalekosiężnych zależności i wzorców w danych, co jest szczególnie korzystne dla zadań, które wymagają zrozumienia i rozumowania w większych kontekstach.
- Algorytmiczne rozumowanie: Autorzy przedstawiają eksperymenty na syntetycznych zadaniach, które demonstrują wyższość modeli wielotokowej predykcji w rozwijaniu indukcyjnych głów i algorytmicznych zdolności rozumowania, szczególnie dla mniejszych rozmiarów modeli.
- Spójność i konsekwencja: Szkolenie modelu do przewidywania wielu przyszłych tokenów jednocześnie zachęca do rozwoju spójnych i konsekwentnych reprezentacji. To jest szczególnie korzystne dla zadań, które wymagają generowania dłuższych, bardziej spójnych tekstów, takich jak opowiadania, artykuły lub generowanie instrukcji.
- Poprawiona generalizacja: Eksperymenty autorów na syntetycznych zadaniach sugerują, że modele wielotokowej predykcji wykazują lepsze zdolności generalizacji, szczególnie w sytuacjach poza dystrybucją. To może być spowodowane zdolnością modelu do uchwycenia dalekosiężnych wzorców i zależności, co pozwala mu na lepsze ekstrapolowanie do nieznanych sytuacji.

Przykłady i intuicje
Aby zapewnić więcej intuicji, dlaczego wielotokowa predykcja działa tak dobrze, rozważmy kilka przykładów:
- Generowanie kodu: W kontekście generowania kodu, przewidywanie wielu tokenów jednocześnie może pomóc modelowi zrozumieć i wygenerować bardziej złożone struktury kodu. Na przykład, podczas generowania definicji funkcji, przewidywanie tylko następnego tokenu może nie zapewnić wystarczającego kontekstu, aby model mógł wygenerować całą definicję funkcji poprawnie. Jednak przewidując wiele tokenów jednocześnie, model może lepiej uchwycić zależności między nazwą funkcji, parametrami i typem zwracanym, co prowadzi do bardziej precyzyjnego i spójnego generowania kodu.
- Rozumowanie językowe: Rozważmy sytuację, w której model językowy jest zobowiązany do odpowiedzi na pytanie, które wymaga rozumowania w kilku krokach lub korzystania z wielu informacji. Przewidując wiele tokenów jednocześnie, model może lepiej uchwycić zależności między różnymi częściami procesu rozumowania, co prowadzi do bardziej spójnych i precyzyjnych odpowiedzi.
- Generowanie długich tekstów: Podczas generowania długich tekstów, takich jak opowiadania, artykuły lub raporty, utrzymanie spójności i konsekwencji w dłuższym czasie może być trudne dla modeli językowych szkolonych z predykcją następnego tokenu. Wielotokowa predykcja zachęca model do rozwoju reprezentacji, które ujmują ogólną strukturę i przepływ tekstu, co może prowadzić do bardziej spójnych i konsekwentnych generacji długich tekstów.
Ograniczenia i kierunki przyszłych badań
Chociaż wyniki przedstawione w artykule są imponujące, istnieją pewne ograniczenia i otwarte pytania, które wymagają dalszego zbadania:
- Optymalna liczba tokenów: Artykuł eksploruje różne wartości n (liczby przyszłych tokenów do przewidywania) i stwierdza, że n=4 działa dobrze dla wielu zadań. Jednak optymalna wartość n może zależeć od konkretnego zadania, zbioru danych i rozmiaru modelu. Rozwinięcie zasadniczych metod do określania optymalnej n może prowadzić do dalszych poprawień wydajności.
- Rozmiar słownika i tokenizacja: Autorzy zauważają, że optymalny rozmiar słownika i strategia tokenizacji dla modeli wielotokowej predykcji mogą się różnić od tych używanych w modelach predykcji następnego tokenu. Zbadanie tego aspektu może prowadzić do lepszych kompromisów między długością sekwencji a wydajnością obliczeniową.
- Dodatkowe straty predykcyjne: Autorzy sugerują, że ich praca może zainteresować rozwój nowych dodatkowych strat predykcyjnych dla dużych modeli językowych, poza standardową predykcją następnego tokenu. Zbadanie alternatywnych dodatkowych strat i ich kombinacji z wielotokową predykcją jest ekscytującym kierunkiem badań.
- Pogłębiona teoretyczna zrozumiałość: Chociaż artykuł dostarcza pewnych intuicji i dowodów empirycznych na temat skuteczności wielotokowej predykcji, głębsze teoretyczne zrozumienie, dlaczego i jak to podejście działa tak dobrze, byłoby cenne.
Podsumowanie
Artykuł badawczy “Lepsze i szybsze duże modele językowe za pomocą wielotokowej predykcji” autorstwa Gloeckle et al. wprowadza nowy paradygmat szkolenia, który ma potencjał znacznie poprawić wydajność i możliwości dużych modeli językowych. Szkolenie modeli do przewidywania wielu przyszłych tokenów jednocześnie zachęca do rozwoju dalekosiężnych zależności, zdolności algorytmicznego rozumowania i lepszej wydajności próbek.
Techniczna implementacja zaproponowana przez autorów jest elegancka i obliczeniowo efektywna, co czyni ją możliwą do zastosowania w dużych modelach językowych. Ponadto, możliwość wykorzystania zelf-speculative dekodowania do szybszej inferencji jest znaczącą praktyczną zaletą.
Chociaż istnieją jeszcze otwarte pytania i kierunki badań, to badanie stanowi ekscytujący krok naprzód w dziedzinie dużych modeli językowych. W miarę wzrostu zapotrzebowania na bardziej zdolne i efektywne modele językowe, wielotokowa predykcja może stać się kluczowym składnikiem w następnej generacji tych potężnych systemów AI.
Przez ostatnie pięć lat zanurzałem się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 różnorodnych projektach inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja nieustanna ciekawość również skierowała mnie w stronę Natural Language Processing, dziedziny, którą chcę dalej eksplorować.
Odkryj więcej


Laboratoria Udowodniły, Że Piaskownica Twojego Agenta to Tylko Sugestia


Meta Przekształca Swojego Czata Bota W Asystenta Do Wykonywania Zadań


Efektowne wykresy mogą sprawić, że nawet “złe” badania wydadzą się godne zaufania


Najlepszy model OpenAI właśnie został wydany za bramą rządową


Użycie AI może sprawić, że zadania potrwają dłużej, wynika z badań


Jeśli bot może flirtować z dziećmi, co jeszcze wolno mu robić z Twoimi danymi?


