Sztuczna inteligencja
GPT-3: Nauka z niewielką ilością przykładów dla modelu językowego

W ciągu ostatnich kilku lat, branża AI i ML była świadkiem gwałtownego wzrostu rozwoju i zastosowania systemów NLP, ponieważ badacze byli w stanie wdrożyć praktyki NLP w sposób bardzo elastyczny i niezależny od zadania dla zadań przenoszenia w dół.
Początkowo były to reprezentacje warstwy pojedynczej, które wykorzystywały wektory słów i były następnie podawane do architektury specyficznej dla zadania. Następnie była to architektura RNN, która wykorzystywała reprezentacje wielowarstwowe i stan kontekstowy, aby utworzyć lepsze reprezentacje. I najbardziej niedawno, mamy modele językowe przenoszenia lub wstępnie wytrenowane modele rekurencyjne, które całkowicie usunęły potrzebę architektur specyficznych dla zadania, poprzez dokształcanie tych sieci.
Modele językowe przenoszenia okazały się być punktem zwrotnym w branży NLP, ponieważ doprowadziły do ogromnego postępu w zadaniach takich jak odpowiedzi na pytania, zrozumienie tekstu lub bloków tekstu, implikacja tekstowa i wiele innych.
Jednakże, pomimo ich zalet, modele językowe przenoszenia mają znaczącą wadę, ponieważ wymagają dokształcania specyficznego dla zadania lub zestawu danych specyficznego dla zadania, aby osiągnąć pożądane wyniki w zadaniu. Ponadto, modele językowe przenoszenia wymagają również, aby deweloperzy dostosowali zestawy danych do setek tysięcy przykładów specyficznych dla danego zadania.
Nie trzeba dodawać, że usunięcie wymogu zestawu danych specyficznego dla zadania i dostosowania specyficznego dla zadania będzie bardzo pożądane i korzystne dla branży NLP z wielu powodów.
Problemy z istniejącymi wstępnie wytrenowanymi modelami językowymi przenoszenia lub modelami rekurencyjnymi
- Ograniczanie praktyczności i stosowalności
Przede wszystkim, wymóg dużej ilości danych z oznaczonymi danymi dla każdego zadania ogranicza stosowalność i praktyczność modeli językowych. Modele językowe znajdują swoje zastosowanie w szerokim zakresie zadań, od generowania krótkiej historii, poprzez korektę błędów gramatycznych, po generowanie przykładów na temat pojęcia. Czasami jest to trudne zadanie, aby zebrać duży nadzorowany zestaw danych z oznaczonymi danymi, zwłaszcza gdy proces musi być powtarzany dla każdego indywidualnego zadania.
- Wykorzystywanie nieprawidłowych korelacji w danych szkoleniowych
Ograniczenia i wąskość dystrybucji szkoleniowej w połączeniu z wyrafinowaniem modelu może skutkować podstawowym wzrostem potencjału do wykorzystywania nieprawidłowych korelacji w danych szkoleniowych. Potencjał do wykorzystywania danych szkoleniowych może skutkować problemami podczas dokształcania i wstępnego szkolenia, ponieważ modele językowe przenoszenia są zaprojektowane w taki sposób, aby pochłonąć dużą ilość informacji podczas wstępnego szkolenia.
Ponadto, prace nad poprzednimi modelami wskazały, że duże modele nie zawsze skutkują lepszymi wynikami poza dystrybucją każdego razu. Ponadto, również wskazano, że uogólnienie osiągnięte w takim paradygmacie może skutkować słabymi wynikami, głównie dlatego, że model jest bardzo specyficzny dla danych szkoleniowych i nie może działać dobrze w sytuacjach poza zakresem danych szkoleniowych.
- Porównanie z uczeniem się ludzkim
Wreszcie, w porównaniu z modelami językowymi przenoszenia, ludzie nie wymagają dużej ilości danych szkoleniowych, gdy chodzi o uczenie się większości zadań językowych. Zazwyczaj, krótkie polecenie w języku naturalnym lub krótkie przedstawienie zadania językowego jest wystarczające, aby osoba mogła zrozumieć i wykonać zadanie językowe z pewnym poziomem konkurencyjności.
Ludzka zdolność do adaptacji ma wiele praktycznych zalet, ponieważ pozwala im przełączać się między różnymi zestawami umiejętności lub łączyć je, aby lepiej wykonywać dialekt, co jest poza możliwościami obecnych systemów NLP.
Rozwiązywanie problemów za pomocą uczenia meta i GPT-3
Możliwym rozwiązaniem powyższych wyzwań jest użycie uczenia meta, pojęcia w nowoczesnym ML, które pozwala modelowi rozwijać szerszy i bardziej ogólny zestaw umiejętności i zdolności do rozpoznawania wzorców podczas szkolenia, a następnie wykorzystuje te nauczone zdolności podczas interferencji, aby szybko adaptować się lub rozpoznawać wymagane zadanie.
Uczenie meta jest wdrażane w architekturze modelu językowego za pomocą techniki zwanej „uczeniem w kontekście”, która wykorzystuje dane wejściowe modelu językowego jako specyfikację zadania. W procesie model warunkuje się na poleceniu w języku naturalnym i może nawet wykorzystać kilka demonstracji, a następnie model jest oczekiwany, aby uzupełnić resztę zadania, przewidując następne kroki.
Jedynym głównym problemem z uczeniem meta jest to, że chociaż wykazało ono pozytywny potencjał, jest ono nadal gorsze niż podejście dokształcania w architekturze językowej, i wymaga dalszej poprawy, aby stać się praktyczną metodą pokonywania zadań językowych.
Ponadto, oprócz uczenia meta, inną metodą, która zyskuje na popularności, jest zwiększanie pojemności modeli językowych transformatorowych. W ciągu ostatnich kilku lat, modele przenoszenia świadczyły o znacznym wzroście ich pojemności z modelem RNSS18 z 100 milionami parametrów, modelem DCLT18 z 300 milionami parametrów, modelem RWC19 z 1,5 miliardem parametrów, modelem SSP19 z 8 miliardami parametrów, modelem RSR19 z 11 miliardami parametrów i modelem TUR20 z 17 miliardami parametrów.
Zwiększanie pojemności modelu lub zwiększanie parametrów historycznie skutkowało poprawą w syntezie tekstu, i wskazano, że logarytmiczna strata, która koreluje z zadaniami w dół, również podąża za gładkim trendem poprawy wraz ze skalą.
To prowadzi nas do modelu GPT-3, który ma ponad 175 miliardów parametrów, i gdy został wydany, był modelem językowym przenoszenia o największej pojemności. Teraz porozmawiajmy o modelu GPT-3.
Wprowadzenie do modelu GPT-3
GPT-3 to autoagresywny model językowy z ponad 175 miliardami parametrów, który został wydany przez OpenAI w 2020 roku. GPT-3 jest również klasyfikowany jako duży model językowy, który podobnie jak jego poprzednik, model GPT-2, jest modelem transformatora tylko-dekodera, który wykorzystuje architekturę opartą na splotach do generowania danych tekstowych.
Model GPT-3 mierzy swoje własne zdolności do uczenia się w kontekście i model GPT-3 jest oceniany na ponad dwóch tuzinach zestawów danych NLP i wielu nowych zadań. Dla każdego zadania model GPT-3 jest oceniany w trzech warunkach,
- Nauka z niewielką ilością przykładów lub uczenie w kontekście: W nauce z niewielką ilością przykładów, model GPT-3 pozwala na tyle dystrybucji, ile może zmieścić się w oknie kontekstowym modelu.
- Nauka z jednym przykładem: W nauce z jednym przykładem, model pozwala tylko na jedną demonstrację.
- Nauka bez przykładów: W nauce bez przykładów, nie ma demonstracji, a jest tylko polecenie w języku naturalnym, które jest podawane do modelu.

Ogólnie rzecz biorąc, model GPT-3 osiąga pożądane wyniki w ustawieniach zero-shot i one-shot, a w ustawieniu few-shot, przewyższa najlepsze modele przenoszenia większości czasu. Ponadto, model GPT-3 działa dobrze w ustawieniach one-shot i zero-shot w zadaniach językowych, które wymagają rozumu na miejscu lub wymagają szybkiej uwagi, takich jak używanie nowych słów po zdaniu, odwracanie słów lub wykonywanie operacji arytmetycznych. Z drugiej strony, gdy działa w ustawieniu few-shot, model GPT-3 generuje artykuły informacyjne, które przypominają pisanie ludzkie, gdy są przekazywane przez ludzkich oceniających.

Model GPT-3: Podejście
Model GPT-3 wykorzystuje konwencjonalne podejście wstępnego szkolenia, które składa się z modelu, danych i szkolenia, i przypomina proces wstępnego szkolenia, który jest wykorzystywany w modelu przenoszenia RWC-19. Model GPT-3 zwiększa rozmiar modelu, rozmiar zestawu danych, różnorodność zestawu danych i zwiększa długość okresu szkolenia.
Model wykorzystuje również podejście uczenia w kontekście, które ponownie przypomina podejście modelu RWC-19, ale modyfikuje je nieco, systematycznie badając różne ustawienia dla wzorców w kontekście zestawu danych.
Więc, zacznijmy od badania tych ustawień i oceny, jak model GTP-3 działa w różnych ustawieniach.
Dokształcanie
Dokształcanie modelu było konwencjonalnym podejściem w modelach językowych przenoszenia, i to podejście obejmuje aktualizację wag wstępnie wytrenowanego modelu, szkoląc model na nadzorowanym zestawie danych, który jest specyficzny dla pożądanego zadania, i setki tysięcy oznaczonych przykładów są wykorzystywane podczas procesu.
Podejście dokształcania jest korzystne, ponieważ daje silne wyniki w różnych benchmarkach. Z drugiej strony, główną wadą podejścia dokształcania jest to, że wymaga nowego i dużego zestawu danych dla każdego indywidualnego zadania, ma potencjał do wykorzystywania nieprawidłowych cech zestawu danych szkoleniowych, może potencjalnie skutkować niesprawiedliwym porównaniem z wynikami ludzkimi i słabą generalizacją dla danych poza dystrybucją.
Bieżący zakres modelu GPT-3 nie wdraża podejścia dokształcania z powodu jego wyników niezależnych od zadania, chociaż dokształcanie może być zastosowane do modelu GPT-3 w przyszłości.
Nauka z niewielką ilością przykładów
Nauka z niewielką ilością przykładów to termin, który odnosi się do ustawienia, w którym model GPT-3 jest podawany kilka demonstracji zadania podczas interferencji jako warunkowanie, ale wagi modelu nie są aktualizowane. W ustawieniu few-shot, zestaw danych zwykle ma przykład z kontekstem i pożądanym uzupełnieniem (na przykład, zdanie francuskie i jego tłumaczenie angielskie). Ustawienie few-shot daje modelowi K przykładów kontekstu i uzupełnienia, a następnie podaje modelowi jeden ostatni kontekst i oczekuje, że model dostarczy uzupełnienie.
Główną zaletą użycia ustawienia few-shot jest to, że znacznie redukuje potrzebę danych specyficznych dla zadania i również redukuje potencjał do nauki wąskiej dystrybucji z dużego zestawu danych, który jest dokształcany wąsko. Z drugiej strony, główną wadą użycia nauki z niewielką ilością przykładów jest to, że wyniki dostarczane w ustawieniu few-shot nie są na poziomie i znacznie gorsze w porównaniu z innymi modelami, które są dokształcane.
Nauka z jednym przykładem
W ustawieniu one-shot, model jest podawany tylko jedną demonstrację, a reszta jest podobna do ustawienia few-shot. Powodem, dla którego ustawienie one-shot jest istotne w modelach językowych przenoszenia, jest to, że spośród wszystkich trzech ustawień, one-shot jest tym, które najbardziej przypomina sposób, w jaki zadania są komunikowane ludziom. Jest to dlatego, że w większości zadań, zwykle podaje się jedną demonstrację zadania, w przeciwnym razie może być trudno zrozumieć kontekst zadania.
Nauka bez przykładów
W ustawieniu zero-shot, nie ma demonstracji, a model jest podawany poleceniem w języku naturalnym, które opisuje zadanie. Metoda zero-shot jest tą, która oferuje maksymalną wygodę, jest odporna i unika nieprawidłowych korelacji, ale jest również najtrudniejszym z trzech ustawień. Jest to dlatego, że w niektórych przypadkach, nawet dla ludzi, jest trudno zrozumieć kontekst zadania bez zobaczenia demonstracji najpierw.
Niezależnie od tego, dla niektórych zadań, ustawienie zero-shot jest tym, które najbardziej przypomina sposób, w jaki ludzie wykonują zadania językowe.

Powyższy rysunek porównuje ustawienia few-shot, one-shot i zero-shot podczas wykonywania zadania językowego, takiego jak tłumaczenie zdania angielskiego na francuski.
Architektura modelu GPT-3
Model GPT-3 wykorzystuje tę samą architekturę, co model GPT-2, i obejmuje normalizację przed, modyfikowaną inicjalizację i techniki tokenizacji odwracalnej, takie same jak te, które są wykorzystywane w modelu GPT, z wyjątkiem użycia alternatywnej strategii dla lokalnie pasmowych wzorców uwagi i warstw gęstych w warstwach transformatora, podobnie jak w Sparse Transformer.
Aby zbadać zależność wyników modelu od rozmiaru modelu, deweloperzy wytrenowali 8 różnych rozmiarów modelu, które sięgają ponad trzech rzędów wielkości od 125 milionów do ponad 175 miliardów parametrów, z których ostatni to model GPT-3. Prace poprzednie związane z modelami LLM wskazały, że skalowanie straty walidacyjnej z wystarczającą ilością danych szkoleniowych powinno być przybliżonym gładkim prawem potęgowym jako funkcja rozmiaru. Szkolenie modeli różnych rozmiarów pozwala deweloperom przetestować hipotezę zarówno dla zadań językowych w dół, jak i dla straty walidacyjnej.

Powyższy rysunek porównuje rozmiar i architekturę 8 różnych modeli wykorzystanych do rozwoju GPT-3. Tutaj, n(params) definiuje łączną liczbę parametrów trenowalnych, n(layers) definiuje łączną liczbę warstw w modelu, d(model) definiuje liczbę jednostek w każdej warstwie wąskiej, a d(head) definiuje wymiary każdej głowy uwagi. Okno kontekstowe dla każdego modelu jest takie same z 2048 tokenami.
Ponadto, aby zminimalizować transfer danych między węzłami, model jest podzielony na GPU wzdłuż głębokości i szerokości wymiarów. Parametry architektury dla każdego modelu zostały wybrane na podstawie wydajności obliczeniowej i równoważenia obciążenia, aby maksymalizować precyzję w układzie modeli na GPU.
Zestawy danych szkoleniowych
Zazwyczaj, duże modele językowe wykorzystują zestawy danych, które znacznie rozszerzyły się wraz z ostatnimi rozwojami, i kulminują w zestawie Common Crawl, który składa się z ponad biliona różnych słów. Rozmiar zestawu danych jest wystarczająco duży, aby wytrenować model GPT-3 bez aktualizacji na tej samej sekwencji wiele razy. Jednakże, studia i analiza wyników wskazują, że lekko przefiltrowane wersje lub niefiltrowane wersje zestawu Common Crawl mają niską jakość w porównaniu z bardziej uważnie przygotowanymi zestawami danych.
Aby rozwiązać problem średniej jakości zestawu danych, deweloperzy podjęli 3 kroki, aby poprawić jakość zestawu danych.
- Deweloperzy pobrali i przefiltrowali wersję zestawu Common Crawl na podstawie zakresu podobnego do wysokiej jakości korpusów referencyjnych.
- Deweloperzy wykonali rozmytą duplikację na poziomie dokumentu w całym zestawie danych w celu zachowania integralności ich zestawu walidacyjnego jako skutecznej miary nadmiernego dopasowania i zapobiegania redundancji.
- Deweloperzy dodali również wysokiej jakości korpusy referencyjne do danych szkoleniowych, aby uzupełnić zestaw Common Crawl i dalej zwiększyć różnorodność zestawu danych.
Poniższy rysunek pokazuje ostateczny udział lub mieszaninę zestawów danych wykorzystanych do szkolenia modelu GPT-3. Dane Common Crawl składały się z ponad 45 TB tekstu zwykłego przed filtrowaniem, które zostało zmniejszone do 570 GB danych po filtrowaniu, co jest przybliżonym odpowiednikiem ponad 400 miliardów tokenów zakodowanych w pary bajtów. Warto zauważyć, że zestawy danych w szkoleniu, które są uważane za wysokiej jakości, są próbkowane z większą częstotliwością niż zestawy danych proporcjonalnie do ich rozmiaru. W rezultacie zestawy danych, takie jak Books2 i Common Crawl, są próbkowane mniej niż jeden raz podczas szkolenia, podczas gdy inne zestawy danych są próbkowane wiele razy. Pozwala to modelowi zaakceptować niewielką ilość nadmiernego dopasowania w zamian za szkolenie na danych szkoleniowych o wyższej jakości.

Istotną kwestią w przypadku dużych modeli językowych, które są wstępnie szkolone na dużej ilości danych internetowych z możliwością zapamiętania i nauczenia się dużej ilości treści, jest potencjalne zanieczyszczenie zadań w dół przez to, że ich zestawy rozwojowe lub testowe są widziane podczas wstępnego szkolenia. Aby zmniejszyć takie potencjalne zanieczyszczenie, deweloperzy wyszukali wszelkie nakładające się z zestawami testowymi i rozwojowymi benchmarków badanych dla GPT-3 i próbowali usunąć te nakładające się części.

Powyższy obraz pokazuje łączne obliczenia wykorzystane podczas szkolenia modelu GPT-3. Model wykorzystuje Prawa skalowania dla modeli językowych neuronowych, aby szkolić znacznie większe modele na mniej tokenów niż typowe. W rezultacie zarówno GPT-3, jak i model RoBERTa-Large, który jest 10-krotnie mniejszy niż GPT-3, wymagał prawie 50 petaflops/dzień obliczeń podczas wstępnego szkolenia.
Ocena
Dla nauki z niewielką ilością przykładów, model ocenia każdy przykład w zestawie danych oceny, losowo wybierając K przykładów z zestawu danych szkoleniowych zadania jako warunkowanie i ograniczając je jedną lub dwiema nowymi liniami w zależności od zadania. Dla Storycloze i LAMBADA, model wybiera przykłady warunkowania z zestawu rozwojowego i ocenia je w zestawie testowym, ze względu na brak nadzorowanego zestawu danych szkoleniowych. Dla Winograd, istnieje tylko jeden zestaw danych, więc przykłady warunkowania są wybierane bezpośrednio z niego.
K może być dowolną wartością od 0 do maksymalnej ilości dozwolonej przez okno kontekstowe modelu, które jest next = 2048 dla wszystkich modeli, i zwykle mieści od 10 do 100 przykładów. Większe wartości K często skutkują lepszymi wynikami, ale nie zawsze, dlatego gdy model ma zestaw testowy i oddzielny zestaw rozwojowy, model eksperymentuje z kilkoma wartościami K w zestawie rozwojowym i na podstawie wyników, uruchamia najlepszą wartość w zestawie testowym.
Ponadto, w zadaniach, które wymagają wyboru poprawnego uzupełnienia spośród kilku opcji, deweloperzy dostarczają K przykładów poprawnego uzupełnienia plus kontekstu i następnie podają jeden przykład kontekstu tylko, a zadania są porównywane na podstawie prawdopodobieństwa LM każdego uzupełnienia. Dla zadań, które wymagają klasyfikacji binarnej, modele często dają opcje bardziej semantyczne i z bardziej znaczącymi nazwami i traktują zadanie jako wybór wielokrotny i czasami również ramują zadanie podobnie jak model RSR i architektura.
Dla zadań, które wymagają swobodnego uzupełnienia, model wykorzystuje wyszukiwanie z promieniem z parametrami identycznymi, jak w ramie RSR, z promieniem długości 4 i karą 0,6. Model jest następnie oceniany za pomocą współczynnika F1, dokładnego dopasowania lub BLEU, w zależności od standardu dla zestawu danych.
Modele językowe, uzupełnianie i zadania Cloze
W tej sekcji wyniki modelu GPT-3 są oceniane na tradycyjnych zadaniach modelowania językowego, a także zadaniach, które wymagają przewidywania jednego słowa interesu, uzupełnienia zdania lub uzupełnienia tekstu.
Modele językowe
Model GPT-3 oblicza perplexity zero-shot na zestawie PTB lub Penn Tree Bank. Model pomija zadania związane z Wikipedią, ponieważ są one już uwzględnione w danych szkoleniowych modelu, a benchmark jednego miliarda słów jest również pomijany, ponieważ powoduje znaczną ilość tarcia zestawu danych w danych szkoleniowych. Jednakże, zestaw PTB rozwiązuje te problemy, ponieważ może poprzedzać nowoczesny internet. Największy model w architekturze GPT-3 ustanawia nowy stan sztuki na zestawie PTB o znaczącej różnicy 15 punktów i osiąga perplexity 20,50.
LAMBADA
Zestaw LAMBADA jest wykorzystywany do testowania modelowania dalekosiężnych zależności w paragrafach lub tekstach. Oznacza to, że model jest proszony o przewidywanie ostatniego słowa zdania po przeczytaniu paragrafu w celu uzyskania kontekstu. Ponadto, ciągłe skalowanie modeli językowych skutkuje malejącymi zwrotami z benchmarku.

Model GPT-3 osiąga 76% dokładności w LAMBADA i ma zysk ponad 8% w porównaniu z poprzednimi najlepszymi modelami. Ponadto, model LAMBADA demonstruje elastyczność nauki z niewielką ilością przykładów, ponieważ rozwiązuje problem w sposób, który występuje klasycznie z zestawem danych. Uzupełnienie zdania w LAMBADA jest zwykle ostatnim słowem zdania, ale ponieważ model językowy nie może wiedzieć o tym, przypisuje prawdopodobieństwo nie tylko końcowi, ale także innym kontynuacjom w paragrafie.
Ponadto, gdy przykłady podawane do modelu GPT-3 są modyfikowane w pewien sposób, model zwraca dokładność ponad 86%, co stanowi wzrost o ponad 18% w porównaniu z poprzednimi modelami. Dodatkowo, wyniki również wskazały, że wyniki modelu w ustawieniu few-shot rosną proporcjonalnie wraz ze wzrostem rozmiaru modelu. Chociaż ta strategia redukuje najmniejszy model w architekturze GPT-3 o 20%, zwiększa dokładność podstawowego modelu GPT-3 z 175 miliardami parametrów o 10%.
Odpowiedzi na pytania w zamkniętej książce
Odpowiedzi na pytania w zamkniętej książce to próba pomiaru zdolności modelu GPT-3 do odpowiedzi na pytania na podstawie ogólnej wiedzy faktograficznej. Ponieważ takie pytania często mają dużą ilość możliwych zapytań, zadanie jest zwykle realizowane za pomocą systemu odzyskiwania informacji, który pozwala modelowi znaleźć odpowiedni tekst w połączeniu z modelem, który uczy się generować odpowiedź na pytanie wraz z odzyskanym tekstem.

Powyższy obraz porównuje wyniki dla modelu GPT-3 w porównaniu z różnymi modelami i uruchamianymi na różnych zestawach danych. Na zestawie TriviaQA, model osiąga wynik dokładności 64,3% w ustawieniu zero-shot, podczas gdy osiąga wynik dokładności 68% i 71,2% w ustawieniach one-shot i few-shot odpowiednio.
Można wyraźnie zobaczyć, że model GPT-3 w ustawieniu zero-shot przewyższa model T5-11B o ponad 14%.

Powyższy rysunek pokazuje, jak wyniki modelu GPT-3 rosną gładko wraz ze wzrostem rozmiaru modelu. Wyniki sugerują, że modele językowe nadal uczą się z zestawu danych wraz ze wzrostem ich pojemności.
Końcowe myśli
Bezpiecznie można powiedzieć, że GPT-3 był rewolucyjną fazą w branży LLM, ponieważ GPT-3 pomógł w poszerzeniu granic tego, co mógł zrobić model językowy. Były to rozwój i pokonanie przeszkód przez GPT-3, które otworzyły drogę do najbardziej zaawansowanego i dokładnego dużego modelu językowego do tej pory, GPT-4.












