AI-modeller og platforme
GPT-3: Få-skudlæring for sprogmodeller?

I de seneste år har AI- og ML-industrien oplevet en meteorisk stigning i udviklingen og anvendelsen af NLP-systemer, da forskere har kunnet implementere NLP-praktikker på en meget fleksibel og opgave-agnostisk måde til downstream-overføring af opgaver.
Initialt var det enkelt-lags-repræsentationer, der anvendte ord-vektorer, og derefter blev de født til opgave-specifikke arkitekturer. Dernæst var det RNN-arkitekturen, der anvendte multi-lags-repræsentationer og kontekstuel tilstand for at danne bedre repræsentationer. Og mest nyligt har vi overføringssprogmodeller eller forudtrænede rekurrence-modeller, der helt har fjernet behovet for opgave-specifikke arkitekturer ved at finjustere disse netværk.
Overføringssprogmodellerne 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.
Dog har overføringssprogmodellerne en stor begrænsning, da de kræver opgave-specifik finjustering eller opgave-specifikke datasæt for at opnå det ønskede resultat på en opgave. Derudover kræver overføringssprogmodellerne, at udviklerne finjusterer datasættene til hundredtusinder af eksempler, der er specifikke for en bestemt opgave.
Det er indlysende, at fjernelse af kravet til opgave-specifikke datasæt og opgave-specifikke finjustering vil være meget ønskeligt og nyttigt for NLP-industrien af mange grunde.
Problemer med eksisterende forudtrænede overføringssprogmodeller eller rekurrence-modeller
- Begrænsning af praktik og anvendelighed
Først og fremmest begrænser kravet til et stort datasæt med mærket data for hver opgave praktik og anvendelighed af sprogmodellerne. Sprogmodeller finder deres anvendelse i en bred vifte af opgaver, der strækker sig fra generering af en kort historie til korrektion af grammatikfejl til generering af eksempler på et koncept. Nogle gange kan det være en udfordring at samle et stort overvåget datasæt med mærket 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 potentiale 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øringssprogmodellerne er designet til at absorbere en stor mængde information under forudtræning.
Derudover har arbejde på tidligere modeller vist, at store modeller ikke resulterer i bedre resultater uden for distributionen hver gang. Derudover 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 omfanget af træningsdata.
- Sammenligning med menneskelig læring
Til sidst, når overføringssprogmodellerne sammenlignes med menneskelig læring, kræver mennesker ikke et stort træningsdatasæt, når det kommer til at lære de fleste sprogopgaver. Ofte er en kort instruks i en persons naturlige sprog eller en lille demonstration af sprogopgaven tilstrækkeligt for, at en menneske kan forstå og udføre en sprogopgave med en vis konkurrenceevne.
Menneskers evne til at tilpasse sig har mange praktiske fordele, da det tillader dem at skifte mellem forskellige færdighedssett eller kombinere dem for at præstere bedre under en dialekt, noget der er ud over kapaciteten af nuværende NLP-systemer.
Behandling af problemerne med meta-læring og GPT-3
En mulig løsning på ovenstående udfordringer er brugen af meta-læring, et koncept i moderne ML, der tillader en model at udvikle en større og bredere sæt af færdigheder og evne til at genkende mønstre under træning og derefter bruger disse læringsevner 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 betingeder modellen på en naturlig sprog-instruktion og kan endda bruge få 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 selvom det har vist positivt potentiale, er det stadig underlegen i forhold til finjusterings-tilgange i naturlig sprog-arkitektur og kræver yderligere forbedring for at blive en praktisk metode til overvindelse af 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øringmodellerne 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 resulterer i en glidende forbedring som en funktion af størrelse.
Det bringer os til GPT-3-modellen, der har over 175 milliarder parametre, og da den blev lanceret, var det den overføringssprogmodel 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æringsevne, 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,
- Få-skudlæring eller in-context-læring: I få-skudlæring tillader GPT-3-modellen så mange distributioner, der kan passe godt ind i modellens kontekstvindue.
- En-skudlæring: I en-skudlæring tillader modellen kun en demonstration.
- Nul-skudlæring: I nul-skudlæring er der ingen demonstrationer, og der er kun en naturlig sprog-instruktion, der fødes til modellen.

I bred forstand opnår GPT-3-modellen det ønskede resultat i nul-skud- og en-skud-indstillinger og i få-skud-indstillingen overgår den state-of-the-art-overføringmodellerne det meste af tiden. Derudover præsterer GPT-3-modellen godt i en-skud- og nul-skud-indstillinger på naturlig sprogopgaver, der er designet til at teste på farten resonans eller kræver hurtig opmærksomhed som brug af nye ord efter en sætning eller uordning af ord eller udførelse af aritmetiske operationer.

GPT-3-modellen: Tilgang
GPT-3-modellen bruger en konventionel forudtræningstilgang, der består af model, data og træning, og den ligner forudtræningsprocessen, der følges af RWC-19-overføringssprogmodellen. GPT-3-modellen skalerer op modellens størrelse, datasættets størrelse, diversiteten af datasættet og øger længden af træningsperioden.
Modellen bruger også en in-context-læringstilgang, der igen ligner RWC-19-modellens tilgang, men ændrer tingene lidt ved at undersøge forskellige indstillinger for læring af mønstre inden for konteksten af datasættet.
Så lad os starte med at undersøge 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 involverer 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 mærkede eksempler bruges under processen.
Finjusteringstilgangen er nyttig, fordi den returnerer stærke resultater på tværs af mange benchmarks. På den anden side er den primære begrænsning af at bruge finjusteringstilgangen, at den 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 urimelig sammenligning med menneskelig præstation og dårlig generalisering for uden for distribution.
GPT-3-modellens nuværende omfang implementerer ikke finjusteringstilgangen på grund af dens opgave-agnostiske præstation, selvom finjustering kan anvendes på GPT-3-modellen i fremtiden.
Få-skud
Få-skud er en betegnelse for indstillingen, hvor GPT-3-modellen får få demonstrationer af opgaven under interferens som betingelse, men vægtene af modellen opdateres ikke. I få-skud-indstillinger har datasættet typisk et eksempel med en kontekst og en ønsket fuldførelse.
Få-skud-indstillingen giver modellen K eksempler af kontekst og fuldførelse og derefter giver modellen en sidste kontekst og forventer, at modellen giver fuldførelsen.
Det primære fordel af at bruge få-skud-indstillingen er, at den 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.
En-skud
I en-skud-indstillingen gives modellen kun en demonstration, og resten er ligesom få-skud-indstillingen.
Nul-skud
I nul-skud-indstillingen er der ingen demonstrationer, og modellen gives en naturlig sprog-instruktion, der beskriver opgaven.
Uanset hvilket, for nogle opgaver er nul-skud-indstillingen den, der ligner, hvordan opgaver kommunikeres til mennesker bedst.

Figuren ovenfor sammenligner få-skud-, en-skud- og nul-skud-indstillingerne, når der udføres en naturlig sprogopgave ved at tage en engelsk sætning og oversætte den til fransk.
GPT-3: Modelarkitektur
GPT-3-modellen bruger samme arkitektur som den, der bruges i GPT-2-modellen, og den inkluderer præ-normalisering, modificeret initialisering og reversibel tokeniseringsteknikker, som de blev brugt på GPT-modellen med undtagelse af at bruge en alternativ strategi for lokal bånd-sparse 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 modeller, 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.

Figuren ovenfor sammenligner størrelsen og arkitekturen af de 8 forskellige modeller, der blev brugt til udviklingen af GPT-3.
Derudover er modellen partitioneret på tværs af GPU’erne langs dybden og bredden af dimensionerne for at minimere overførslen af data mellem knuderne.
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.
- Udviklerne downloade 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 valideringsmængde som en effektiv måling af overfitning og også for at forhindre redundans.
- Udviklerne tilføjede også høj-kvalitets reference-korpora til træningsdata for at øge diversiteten af datasættet og yderligere forbedre kvaliteten.
Figuren nedenfor viser den endelige proportion eller blanding af datasættene, der blev brugt til træning af GPT-3-modellen.

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 det potentielle problem med forurening af downstream-opgaver ved at have deres udviklings- eller testmængder set under forudtræningsprocessen.

Figuren ovenfor viser den samlede beregning, der blev brugt under træningen af GPT-3-modellen.
Evaluering
For få-skud-læring evaluerer modellen hver eksempel i evalueringssæ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 hvilket som helst værdi i området fra 0 til den maksimale mængde, der er tilladt af modellens kontekstvindue, der er next = 2048 for alle modellerne, og det passer normalt omkring 10 til 100 eksempler.
Større værdier af K resulterer ofte i bedre resultater, men ikke altid, hvilket er grunden til, at når modellen har et testmængde og et separat udviklingsmængde til rådighed, eksperimenterer modellen med få værdier af K på udviklingsmængden og derefter kører den bedste værdi på testmængden.
Resultater

Figuren ovenfor viser træningskurverne for de 8 modeller, der blev brugt i GPT-3-modellens arkitektur, som beskrevet i de foregående afsnit.
Før evalueringen af de 8 forskellige modeller på et bredt udvalg af træningsdata grupperes datasættene i 8 forskellige kategorier, der repræsenterer lignende opgaver.
- Evaluering på traditionelle sprogmodelopgaver og opgaver, der ligner sprogmodellering, som lukket bog-opgaver eller sætning/afsnit fuldførelse-opgaver.
- Evaluering på “lukket bog”-spørgsmålssvarende opgaver.
- Evaluering af modellens evne til at oversætte mellem sprog (især en-skud- og få-skud).
- Evaluering af modellens præstation på Winograd Schema-lignende opgaver.
- Evaluering på datasæt, der involverer fælles fornuft eller spørgsmålssvarende.
- Evaluering på læseforståelsesopgaver.
- Evaluering på SuperGLUE-benchmark-suiten.
- Eksplorering af NLI.
Sprogmodellering, fuldførelse og lukket bog-opgaver
I dette afsnit evalueres GPT-3-modellens præstation på traditionelle sprogmodelopgaver samt opgaver, der kræver forudsigelse af et enkelt ord af interesse eller fuldførelse af en sætning eller et afsnit eller fuldførelse af en tekst.
Sprogmodellering
GPT-3-modellen beregner nul-skud-forvirring på PTB eller Penn Tree Bank-datasættet.
Den største model i GPT-3-modellens arkitektur opnår et nyt SOTA på PTB-datasættet med en betydelig margin på 15 punkter og opnår en forvirring på 20,50.
LAMBADA
LAMBADA-datasættet bruges til at teste modellens modelering af lang-rækkeafhængigheder i afsnit eller tekster.

GPT-3-modellen opnår 76% nøjagtighed på LAMBADA og har en gevinst på over 8% over tidligere bedste modeller.
Lukket bog-spørgsmålssvarende
Lukket bog-spørgsmålssvarende er et forsøg på at måle GPT-3-modellens evne til at besvare spørgsmål baseret på bred faktuel viden.

Figuren ovenfor sammenligner resultaterne for GPT-3-modellen i forhold til forskellige modeller og datasæt.
Afsluttende 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.












