Kunstig intelligens
GPT-3: Few Shot Learning for Language Model?

I de seneste få år har AI- og ML-industrien oplevet en meteorisk stigning i udviklingen og anvendelsen af NLP-systemer, da forskerne har kunnet implementere NLP-praktikker på en meget fleksibel og opgave-agnostisk måde til downstream-overføring af opgaver.
Tidligere var det enkelt-lags-repræsentationer, der brugte ord-vektorer, og derefter blev de født til opgave-specifikke arkitekturer. Dernæst var det RNN-arkitekturen, der brugte multi-lags-repræsentationer og kontekstuel tilstand til at danne bedre repræsentationer. Og mest nyligt har vi overførings-sprogmodeller eller forudtrænede rekurrente modeller, der helt har fjernet behovet for opgave-specifikke arkitekturer ved at finjustere disse netværk.
Overførings-sprogmodellerne har vist sig at være et større vendepunkt i NLP-industrien, da de har resulteret i enorm fremgang på udfordrende opgaver som at besvare spørgsmål, læse forståelse eller blokke af tekst, tekst-implikation og meget mere.
Men på trods af deres fordele har overførings-sprogmodeller en større begrænsning, da de kræver opgave-specifik finjustering eller opgave-specifikke datasæt for at opnå den ønskede præstation på en opgave. Desuden kræver overførings-sprogmodeller også, at udviklerne finjusterer datasættene til hundredtusinder af eksempler, der er specifikke for en bestemt opgave.
Det er ikke nødvendigt at sige, at fjernelse af kravet til opgave-specifikke datasæt og opgave-specifikke finjustering vil være meget ønskeligt og fordelagtigt for NLP-industrien af mange grunde.
Problemer med eksisterende forudtrænede overførings-sprogmodeller eller rekurrente modeller
- Begrænsning af praktisk anvendelse og anvendelighed
Først og fremmest begrænser kravet til et stort datasæt med labelede data for hver opgave anvendeligheden og praktisk anvendelsen af sprogmodellerne. Sprogmodeller finder deres anvendelse i en bred vifte af opgaver, der strækker sig fra at generere en kort historie til at korrigere grammatiske fejl til at generere eksempler på et begreb. Nogle gange kan det være en udfordrende opgave at samle et stort overvåget datasæt med labelede data, især når processen skal gentages for hver enkelt opgave.
- Udnyttelse af spurious korrelationer i træningsdata
Begrænsninger og snævhed af træningsfordelingen kombineret med modellens udtryksfuldhed kan resultere i en fundamental vækst i potentialet til at udnytte spurious korrelationer i træningsdata. Potentialet til at udnytte træningsdata kan resultere i problemer under finjusterings- og forudtræningsparadigmet, da overførings-sprogmodellerne er designede til at absorbere en stor mængde information under forudtræning.
Desuden har arbejde på tidligere modeller vist, at store modeller ikke resulterer i bedre resultater hver gang. Desuden er det også blevet vist, at generalisering opnået under sådant paradigme kan resultere i dårlig præstation, primært fordi modellen er meget specifik for træningsdata og ikke kan præstere godt på situationer uden for træningsdata.
- Sammenligning med menneskelig læring
Til sidst, når det sammenlignes med overførings-sprogmodeller, har mennesker ikke brug for et stort træningsdatasæt, når det kommer til at lære de fleste sprogopgaver. Ofte er en kort direktive i en persons naturlige sprog eller en lille demonstration af sprogopgaven tilstrækkeligt for, at et menneske kan forstå og udføre en sprogopgave med en vis niveau af konkurrence.
Menneskers evne til at tilpasse sig har mange praktiske fordele, da det tillader dem at enten skifte mellem forskellige færdighedsniveauer eller kombinere dem for at præstere bedre under en dialekt, noget, der er ud over mulighederne for nuværende NLP-systemer.
Løsning af problemerne med meta-læring og GPT-3
En mulig løsning på ovenstående udfordringer er brugen af meta-læring, et begreb i moderne ML, der tillader en model at udvikle en større og bredere vifte af færdigheder og evne til at genkende mønstre under træning og derefter bruger disse lært færdigheder under interferens til at tilpasse sig hurtigt eller genkende den nødvendige opgave.
Meta-læring implementeres i sprogmodelarkitektur via en teknik kaldet “in-context learning”, der bruger tekstinput af en forudtrænet sprogmodel som en opgave-specifikation. I processen konditionerer modellen på en naturlig sprog-instruktion og kan muligvis også bruge nogle demonstrationer, og modellen forventes derefter at fuldføre resten af opgaven ved at forudsige de næste trin.
Det eneste store problem med meta-læring er, at selv om det har vist positivt potentiale, er det stadig underlegen for finjusterings-tilgange i naturlig sprog-arkitektur og har brug for yderligere forbedring for at blive en praktisk metode til at overvinde sprogopgaver.
Ud over meta-læring er en anden metode, der vinder popularitet, at øge kapaciteten af transformer-sprogmodeller. I de seneste år har overføringssmodeller oplevet en betydelig stigning i deres kapacitet med RNNS18-modellen med 100 millioner parametre, DCLT18-modellen med 300 millioner parametre, RWC19-modellen med 1,5 milliarder parametre, SSP19-modellen med 8 milliarder parametre, RSR19-modellen med 11 milliarder parametre og TUR20-modellen med 17 milliarder parametre.
At øge kapaciteten af modellen eller parametrene har historisk resulteret i forbedringer i tekst-syntese, og der er indikationer af, at log-tab også følger en glat tendens til at forbedre sig med skalaen.
Det bringer os til GPT-3-modellen, der har over 175 milliarder parametre, og da den blev lanceret, var det overføringssprogmodellen med den højeste kapacitet. Lad os nu tale om GPT-3-modellen.
En introduktion til GPT-3-modellen
GPT-3 er en autoaggressiv sprogmodel med over 175 milliarder parametre, der blev udgivet af OpenAI i 2020. GPT-3 klassificeres også som en stor sprogmodel, der ligesom dens forgænger GPT-2-modellen er en decoder-kun dyb læring transformer-model, der bruger convolution-baseret arkitektur til at generere tekstdata.
GPT-3-modellen måler sin egen kontekst-lærings-evne, og GPT-3-modellen evalueres på over to dusin NLP-datasæt og multiple nye opgaver. For hver enkelt opgave evalueres GPT-3-modellen under tre betingelser,
- Few Shot Learning eller In-Context Learning: I few shot learning tillader GPT-3-modellen så mange distributioner, der kan passe godt ind i modellens kontekst-vindue.
- One Shot Learning: I one shot learning tillader modellen kun en demonstration.
- Zero Shot Learning: I zero shot learning er der ingen demonstrationer, og der er kun en instruktion i naturligt sprog, der fødes til modellen.

I bred forstand opnår GPT-3-modellen ønsket præstation i zero-shot og one-shot-indstillinger, og i few-shot-indstillingen overgår den state-of-the-art-overføringssmodellerne det meste af tiden. Desuden præsterer GPT-3-modellen godt i one-shot og zero-shot-indstillinger på naturlige sprogopgaver, der er designede til at teste på farten resonnering eller kræver hurtig opmærksomhed som at bruge nye ord efter en sætning eller at løse ord eller udføre aritmetiske operationer.

GPT-3-modellens tilgang
GPT-3-modellen bruger en konventionel forudtrænings-tilgang, der består af model, data og træning, og den ligner forudtræningsprocessen, der følges af RWC-19-overføringssmodellen. GPT-3-modellen skalerer op modellens størrelse, datasæts-størrelsen, diversiteten af datasættet og øger længden af træningsperioden.
Modellen bruger også en in-context learning-tilgang, der igen ligner RWC-19-modellens tilgang, men ændrer tingene lidt ved at systematisk udforske forskellige indstillinger for at lære mønstre inden for konteksten af datasættet.
Så lad os starte med at udforske disse indstillinger og evaluere, hvordan GPT-3-modellen præsterer på forskellige indstillinger.
Finjustering
Finjustering af modellen har været den konventionelle tilgang i overføringssprogmodeller, og denne tilgang indebærer opdatering af vægtene af en forudtrænet model ved at træne modellen på et overvåget datasæt, der er specifikt for den ønskede opgave, og hundredtusinder af labelede eksempler bruges under processen.
Finjusterings-tilgange er fordelagtige, da de returnerer stærke præstationer på tværs af mange benchmarks. På den anden side er hovedbegrænsningen for brug af finjusterings-tilgange, at de kræver et nyt og stort datasæt for hver enkelt opgave, har potentialet til at udnytte spurious funktioner af træningsdatasættet, kan potentielt resultere i urimelige sammenligninger med menneskelig præstation og dårlig generalisering for uden for distribution.
GPT-3-modellens nuværende omfang implementerer ikke finjusterings-tilgange på grund af dens opgave-agnostiske præstation, selv om finjustering kan anvendes på GPT-3-modellen i fremtiden.
Few Shot
Few Shot er en betegnelse for den indstilling, hvor GPT-3-modellen gives nogle demonstrationer af opgaven under interferens som betingelse, men vægtene af modellen opdateres ikke. I few shot-indstillinger har datasættet typisk et eksempel med en kontekst og en ønsket fuldendelse (f.eks. en fransk sætning og dens engelske oversættelse).
Few shot-indstillinger giver modellen K-eksempler af kontekst og fuldendelse, og derefter giver modellen en sidste kontekst og forventer, at modellen giver fuldendelsen. Few shot-indstillinger reducerer betydeligt behovet for opgave-specifikke data og reducerer også potentialet til at lære en snæver distribution fra et stort datasæt, der er finjusteret snævt.
På den anden side er hovedbegrænsningen for brug af few shot-læring, at resultaterne, der leveres i few shot-indstillinger, ikke er på niveau og betydeligt dårligere i forhold til andre state-of-the-art-modeller, der er finjusteret.
One Shot
I one shot-indstillingen gives modellen kun en demonstration, og resten er ligesom few shot-indstillingen. Årsagen til, at one shot-indstilling er relevant i overføringssprogmodeller, er, at af alle tre indstillinger er one shot den, der ligner den måde, hvorpå opgaver kommunikeres til mennesker på bedst.
Det er, fordi det i de fleste opgaver er almindeligt at give en demonstration af opgaven, ellers kan det være svært at forstå konteksten af opgaven.
Zero Shot
I zero shot-indstillingen er der ingen demonstrationer, og modellen gives en naturlig sprog-instruktion, der beskriver opgaven. Zero shot-metoden er den, der tilbyder maksimal bekvemmelighed, er robust og undgår spurious korrelationer, men det er også den mest udfordrende af alle tre indstillinger.
Det er, fordi det i nogle tilfælde kan være svært, selv for os mennesker, at forstå konteksten af en opgave uden at se en demonstration først.
Uanset hvad, for nogle opgaver er zero shot-indstillingen den, der ligner den måde, hvorpå mennesker udfører naturlige sprogopgaver på bedst.

GPT-3-modellens arkitektur
GPT-3-modellen bruger samme arkitektur som den, der bruges i GPT-2-modellen, og den inkluderer pre-normalisering, modificeret initialisering og reversibel tokeniseringsteknikker, som de blev brugt på GPT-modellen med undtagelse af brug af en alternativ strategi for lokal bånd-sparset opmærksomhedsmønstre og alternativt tætte lag i transformer-lagene, ligesom Sparse Transformer.
For at studere afhængigheden af modellens præstation på modellens størrelse har udviklerne trænet 8 forskellige modell-størrelser, der strækker sig over tre forskellige størrelsesordener fra 125 millioner til over 175 milliarder parametre, den sidste af dem kaldet GPT-3-modellen. Tidligere arbejde relateret til LLM-modeller har vist, at skaleringsvalidering af validerings-tab med tilstrækkeligt træningsdata skal være en omtrentlig glat potenslov som en funktion af størrelse.

Ovenstående figur sammenligner størrelsen og arkitekturen af de 8 forskellige modeller, der blev brugt til udvikling af GPT-3. Her definerer n(params) det totale antal trænbar parametre, n(lag) definerer det totale antal lag i modellen, d(model) definerer antallet af enheder i hvert lag af bottleneck og d(hoved) definerer dimensionerne af hver opmærksomheds-hoved.
Desuden er modellen partitioneret på tværs af GPU’er langs dybden og bredden af dimensionerne for at minimere overførslen af data mellem noderne. De arkitektoniske parametre for hver model er valgt på baggrund af beregnings-effektivitet og belastnings-balancering for at maksimere præcision i layoutet af modeller på tværs af GPU’er.
Træningsdatasæt
Typisk bruger store sprogmodeller datasæt, der er udvidet betydeligt med seneste udviklinger, og de kulminerer i Common Crawl-datasættet, der består af over en billion forskellige ord. Størrelsen af datasættet er tilstrækkelig til at træne GPT-3-modellen uden at opdatere på samme sekvens flere gange.
Men studier og præstationsanalyse indikerer, at let filtrerede versioner eller ufiltrede versioner af Common Crawl-datasættet har lav kvalitet i forhold til mere kuraterede datasæt.
For at tackle problemet med datasættets gennemsnitlige kvalitet tog udviklerne 3 skridt for at forbedre kvaliteten af datasættet.
- Udviklerne downloaded og filtrerede en version af Common Crawl-datasættet baseret på et område lignende høj-kvalitets reference-korpora.
- Udviklerne udførte fuzzy duplikation på dokumentniveau på tværs af datasættet i et forsøg på at bevare integriteten af deres holdt-ud validerings-sæt som en effektiv måde til at måle over-tilpasning og for at forhindre redundans.
- Udviklerne tilføjede også høj-kvalitets reference-korpora til træningsdata for at supplere Common Crawl-datasættet og yderligere øge diversiteten af datasættet.
Følgende figur viser den endelige proportion eller blanding af datasættene, der blev brugt til træning af GPT-3-modellen. Common Crawl-data bestod af over 45 TB af plain tekst før filtering, der blev reduceret til 570 GB af data efter filtering, en omtrentlig ækvivalent til over 400 milliarder byte-par-encoderede token.

En betydelig bekymring med store sprogmodeller, der er forudtrænet på en stor mængde internetdata med kapacitet til at huske og lære en stor mængde indhold, er potentialet for forurening af downstream-opgaver ved at have deres udviklings- eller test-sæt set under forudtræningsprocessen.

Ovenstående billede viser det totale beregningskraft, der blev brugt under træningen af GPT-3-modellen. Modellen bruger Scaling Laws for Neural Language Models til at træne meget større modeller på færre token end typisk.
Evaluering
Til few shot-læring evaluerer modellen hver eksempel i evaluering-datasættet ved at trække K-eksempler tilfældigt fra opgavens træningsdatasæt som betingelse og afgrænser det med 1 eller 2 nye linjer afhængigt af opgaven.
K kan være en hvilken som helst værdi, der strækker sig fra 0 til den maksimale mængde, der er tilladt af modellens kontekst-vindue, der er next = 2048 for alle modellerne, og det passer normalt omkring 10 til 100 eksempler.
Resultater

Ovenstående figur viser trænings-kurverne for de 8 modeller, der blev brugt i GPT-3-modellens arkitektur, som beskrevet i de foregående afsnit.
Endelige tanker
Det ville være sikkert at sige, at GPT-3 var en revolutionerende fase i LLM-industrien, da GPT-3 hjalp med at udvide grænserne for, hvad en sprogmodel kunne gøre.
Det var udviklingerne og hindringerne, der blev overvundet af GPT-3, der banede vejen for den mest avancerede og nøjagtige store sprogmodel til dato, GPT-4.












