AI-modeller og plattformer

GPT-3: Few Shot Learning for Språkmodell?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

I de siste årene har AI- og ML-industrien vært vitne til en meteorisk økning i utviklingen og anvendelsen av NLP-systemer, da forskerne har kunnet implementere NLP-praksiser på en svært fleksibel og oppgave-agnostisk måte for nedstrøms overføringsoppgaver.

Tidligere var det enkeltlagrede representasjoner som brukte ordvektorer, og deretter ble de matet til en oppgave-spesifikk arkitektur. Deretter var det RNN-arkitekturen som brukte flerlagrede representasjoner og kontekstuell tilstand for å danne bedre representasjoner. Og nylig har vi overførings-språkmodellene eller forhånds-trente rekurrerende modellene som har helt fjernet behovet for oppgave-spesifikk arkitektur ved å finjustere disse nettverkene.

Overførings-språkmodellene har vist seg å være et viktig vendepunkt i NLP-industrien, da de har resultert i enorm fremgang på utfordrende oppgaver som å svare på spørsmål, leseforståelse eller blokker av tekst, tekstuell implikasjon og mye mer.

Likevel, til tross for deres fordeler, har overførings-språkmodellene en stor begrensning, da de krever oppgave-spesifikk finjustering eller oppgave-spesifikk datasett for å oppnå ønsket ytelse på en oppgave. Videre krever overførings-språkmodellene at utviklerne finjusterer datasettene til hundredtusener av eksempler som er spesifikke for en bestemt oppgave.

Det er selvforklart at fjerning av kravet til oppgave-spesifikt datasett og oppgave-spesifikk finjustering vil være svært ønskelig og gunstig for NLP-industrien av mange grunner.

Problemer med eksisterende forhånds-trente overførings-språkmodeller eller rekurrerende modeller

  • Begrensning av praktisk anvendelighet og anvendbarhet

Først og fremst begrenser kravet til et stort datasett med merket data for hver oppgave praktisk anvendelighet og anvendbarhet av språkmodellene. Språkmodellene finner sine anvendelser i en stor variasjon av oppgaver, fra å generere en kort historie, til å korrigere grammatikalske feil, til å generere eksempler på et konsept. Av og til kan det være en utfordring å samle inn et stort overvåket datasett med merket data, spesielt når prosessen må gjentas for hver enkelt oppgave.

  • Utnytting av spuriøse korrelasjoner i treningdata

Begrensninger og smalhet i treningfordelingen kombinert med modellens uttrykksfullhet kan resultere i en fundamental vekst i potensial til å utnytte spuriøse korrelasjoner i treningdata. Potensialet til å utnytte treningdata kan resultere i problemer under finjusterings- og forhånds-treningsparadigmet, da overførings-språkmodellene er designet for å absorbere en stor mengde informasjon under forhånds-trening.

Videre har arbeid på tidligere modeller indikert at store modeller ikke alltid resulterer i bedre ytelse utenfor distribusjon hver gang. Videre har det også blitt indikert at generalisering under et slikt paradigme kan resultere i dårlig ytelse, primært fordi modellen er svært spesifikk for treningdata og ikke kan fungere godt i situasjoner utenfor omfanget av treningdata.

  • Sammenligning med menneskelig læring

Til slutt, når sammenlignet med overførings-språkmodellene, trenger mennesker ikke et stort treningdatasett når det kommer til å lære de fleste språkoppgaver. Ofte er en kort direktive i en persons naturlige språk eller en liten demonstrasjon av språkoppgaven nok for at et menneske skal forstå og utføre en språkoppgave med en viss grad av konkurranse.

Menneskers evne til å tilpasse seg har mange praktiske fordeler, da det tillater dem å enten skifte mellom forskjellige ferdigheter eller blande dem sammen for å fungere bedre under en dialekt, noe som er utenfor kapasiteten til nåværende NLP-systemer.

Løsning på problemene med meta-læring og GPT-3

En mulig løsning på ovenstående utfordringer er å bruke meta-læring, et konsept i moderne ML som tillater en modell å utvikle en større og bredere sett av ferdigheter og evne til å gjenkjenne mønster under trening, og deretter bruker disse lært evnene under interferens for å tilpasse seg raskt eller gjenkjenne den nødvendige oppgaven.

Meta-læring implementeres i språkmodellarkitektur via en teknikk kalt “in-context learning” som bruker tekstinput av en forhånds-trent språkmodell som en oppgave-specifikasjon. I prosessen konditionerer modellen på en naturlig språk-instruksjon, og kan også bruke noen demonstrasjoner, og modellen forventes deretter å fullføre resten av oppgaven ved å forutsi neste trinn.

Det eneste store problemet med meta-læring er at selv om det har vist positivt potensial, er det fortsatt underlegen finjusterings-tilnærmingen i naturlig språk-arkitektur, og det trenger videre forbedring for å bli en praktisk metode for å overvinne språkoppgaver.

I tillegg til meta-læring er en annen metode som vinner popularitet å øke kapasiteten til transformer-språkmodellene. I de siste årene har overførings-modellene vært vitne til en betydelig økning i kapasitet, 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.

Økning av modellens kapasitet eller parametre har historisk sett resultert i forbedringer i tekst-syntese, og det har også blitt indikert at log-tap, som korrelerer med nedstrøms-oppgaver, også følger en glatt trend av forbedring med skalaen.

Dette bringer oss til GPT-3-modellen, som har over 175 milliarder parametre, og da den ble lansert, var det overførings-språkmodellen med den høyeste kapasiteten. La oss nå snakke om GPT-3-modellen.

En introduksjon til GPT-3-modellen

GPT-3 er en autoaggressiv språkmodell med over 175 milliarder parametre som ble lansert av OpenAI i 2020. GPT-3 klassifiseres også som en stor språkmodell som, likesom dens forgjenger GPT-2-modellen, er en decoder-bare dyb-læringstransformer-modell som bruker konvolusjons-basert arkitektur for å generere tekstdata.

GPT-3-modellen måler sin egen kontekst-læringsevne, og GPT-3-modellen evalueres på over to dusin NLP-datasett og flere nye oppgaver. For hver enkelt oppgave evalueres GPT-3-modellen under tre betingelser,

  • Few Shot Learning eller In-Context Learning: I few shot learning tillater GPT-3-modellen så mange distribusjoner som kan passe inn i modellens kontekst-vindu.
  • One Shot Learning: I one shot learning tillater modellen bare en demonstrasjon.
  • Zero Shot Learning: I zero shot learning er det ingen demonstrasjoner, og det er bare en naturlig språk-instruksjon som mates til modellen.

Generelt sett oppnår GPT-3-modellen ønsket ytelse i zero-shot og one-shot-innstillingene, og i few-shot-innstillingen overgår den state-of-the-art-overførings-modellene mest av tiden. Videre fungerer GPT-3-modellen godt i one-shot og zero-shot-innstillingene på naturlig språk-oppgaver som er designet for å teste på fly reasoning eller krever rask oppmerksomhet som å bruke nye ord etter en setning, eller å løse ord eller utføre aritmetiske operasjoner.

GPT-3-modell: Tilnærming

GPT-3-modellen bruker en konvensjonell forhånds-trenings-tilnærming som består av modell, data og trening, og det ligner på forhånds-treningprosessen som følges av RWC-19-overførings-språkmodellen. GPT-3-modellen skalerer opp modell-størrelsen, datasett-størrelsen, mangfoldet av datasett og øker lengden av treningsperioden.

Modellen bruker også en in-context learning-tilnærming som igjen ligner på RWC-19-modellens tilnærming, men justerer ting opp ved å systematisk utforske forskjellige innstillinger for å lære mønster innenfor konteksten av datasett.

Så, la oss starte med å utforske disse innstillingene og evaluere hvordan GTP-3-modellen fungerer på forskjellige innstillinger.

Fine Tuning

Fine-tuning av modellen har vært den konvensjonelle tilnærmingen i overførings-språkmodellene, og denne tilnærmingen involverer oppdatering av vektene til en forhånds-trent modell ved å trene modellen på et overvåket datasett som er spesifikt for den ønskede oppgaven, og hundredtusener av merket eksempler brukes under prosessen.

Fine-tuning-tilnærmingen er gunstig fordi den returnerer sterk ytelse over mange benchmark. På den andre siden er den største begrensningen med å bruke fine-tuning-tilnærmingen at den krever et nytt og stort datasett for hver enkelt oppgave, har potensialet til å utnytte spuriøse trekk av treningdatasett, kan potensielt resultere i urimelig sammenligning med menneskelig ytelse og dårlig generalisering for utenfor-distribusjon.

GPT-3-modellens nåværende omfang implementerer ikke fine-tuning-tilnærmingen på grunn av dens oppgave-agnostiske ytelse, selv om fine-tuning kan brukes på GPT-3-modellen i fremtiden.

Few Shot

Few Shot er en betegnelse som refererer til innstillingen der GPT-3-modellen mottar noen demonstrasjoner av oppgaven under interferens som kondisjonering, men vektene til modellen oppdateres ikke. I few-shot-innstillingene har datasett typisk ett eksempel med en kontekst og en ønsket fullføring.

Few-shot-innstillingen gir modellen K eksempler på kontekst og fullføring, og deretter gir den modellen en siste kontekst og forventer at modellen skal gi fullføringen.

One Shot

I one-shot-innstillingen mottar modellen bare en demonstrasjon, og resten er lik few-shot-innstillingen. Årsaken til at one-shot-innstillingen er relevant i overførings-språkmodellene er at den ligner på måten oppgaver kommuniseres til mennesker best.

Zero Shot

I zero-shot-innstillingen er det ingen demonstrasjoner, og modellen mottar bare en naturlig språk-instruksjon som beskriver oppgaven.

Uansett, for noen oppgaver er zero-shot-innstillingen den som ligner på måten mennesker utfører naturlig språk-oppgaver nærmest.

Figuen ovenfor sammenligner few-shot, one-shot og zero-shot-innstillingene når det gjelder å utføre en naturlig språk-oppgave som å oversette en engelsk setning til fransk.

GPT-3: Modellarkitektur

GPT-3-modellen bruker samme arkitektur som den som brukes i GPT-2-modellen, og den inkluderer pre-normalisering, modifisert initialisering og reversibel tokeniseringsteknikker som ble brukt på GPT-modellen, med unntak av å bruke en alternativ strategi for lokalt bånd-sparse oppmerksomhet og alternativt tette lag i transformer-lagene, lignende Sparse Transformer.

For å studere avhengigheten av modellens ytelse på modell-størrelsen, har utviklerne trent 8 forskjellige modell-størrelser som dekker over tre forskjellige størrelse-ordener fra 125 millioner til over 175 milliarder parametre, den siste av dem kalles GPT-3-modellen. Tidligere arbeid relatert til LLM-modellene har indikert at skaleringsvaliderings-tap med tilstrekkelig treningdata skal være en omtrentlig glatt potens-lov som en funksjon av størrelse.

Figuen ovenfor sammenligner størrelsen og arkitekturen til de 8 forskjellige modellene som brukes til utvikling av GPT-3. Her definerer n(params) det totale antallet trening-parametre, n(layers) definerer det totale antallet lag i modellen, d(model) definerer antallet enheter i hvert lag av flaskehalsen og d(head) definerer dimensjonene til hvert oppmerksomhets-hode.

Videre, for å minimere overføring av data mellom nodene, er modellen partitionert over GPU-ene langs dybden og bredden av dimensjonene. Arkitektur-parametrene for hver modell er valgt basert på beregnings-effektivitet og last-balansering for å maksimere presisjon i layout-en av modellene over GPU-ene.

Trenings-datasett

Vanligvis bruker store språkmodeller datasett som har utvidet seg betydelig med nyere utviklinger, og de kulminerer i Common Crawl-datasettet som består av over en billion forskjellige ord.

Størrelsen på datasett er tilstrekkelig til å trene GPT-3-modellen uten å oppdatere på samme sekvens flere ganger. Likevel indikerer studier og ytelses-analyse at lett filtrerte eller ufiltrerte versjoner av Common Crawl-datasettet har lav kvalitet sammenlignet med mer kurerte datasett.

For å håndtere problemet med gjennomsnittlig kvalitet på datasett, tok utviklerne 3 skritt for å forbedre kvaliteten på datasett.

  1. Utviklerne lastet ned og filtrerte en versjon av Common Crawl-datasettet basert på et område likt høykvalitets-referanse-korpus.
  2. Utviklerne utførte fuzzy duplisering på dokument-nivå over datasett i et forsøk på å bevare integriteten til deres holdt-ut-valideringssett som en effektiv måling av over-tilpasning og å forhindre redundans.
  3. Utviklerne la også til høykvalitets-referanse-korpus til treningsdataene for å øke mangfoldet av datasett og ytterligere forbedre kvaliteten.

Figuen nedenfor viser den endelige proporsjonen eller blandingen av datasettene som brukes til å trene GPT-3-modellen.

En betydelig bekymring med store språkmodeller som er forhånds-trente på en stor mengde internett-data med kapasitet til å huske og lære en stor mengde innhold er potensielt forurensning av nedstrøms-oppgaver ved å ha deres utviklings- eller testsett sett under forhånds-treningprosessen.

Figuen ovenfor viser det totale beregnings-kapasiteten som brukes under treningen av GPT-3-modellen.

Evaluering

For few-shot-læring evaluerer modellen hver enkelt eksempel i evaluering-datasett ved å trekke K eksempler tilfeldig fra oppgavens trenings-datasett som kondisjonering og avgrenser det med 1 eller 2 nye linjer avhengig av oppgaven.

K kan være noen verdi fra 0 til det maksimale antallet tillatt av modellens kontekst-vindu, som er next = 2048 for alle modellene, og det passer vanligvis 10 til 100 eksempler. Større verdier av K resulterer ofte i bedre resultater, men ikke alltid, så når modellen har et testsett og et separat utviklingsett, eksperimenterer modellen på noen verdier av K på utviklingsettet og, basert på resultater, kjører den beste verdien på testsettet.

Videre, på oppgaver som krever å velge en korrekt fullføring fra flere alternativer, gir utviklerne K eksempler på korrekt fullføring pluss kontekst og følger det opp med å gi en kontekst bare og oppgavene sammenlignes basert på LM-sannsynlighet av hver fullføring.

For oppgaver som krever binær klassifisering behandler modellene ofte alternativer mer semantisk og med mer meningsfulle navn og behandler oppgaven som flervalg og noen ganger også rammer oppgaven likt det som gjøres av RSR-modellen og -arkitekturen.

Resultater

Figuen ovenfor viser trenings-kurvene for de 8 modellene som brukes i GPT-3-modellarkitekturen, som beskrevet i de foregående avsnittene.

Før evaluering av de 8 forskjellige modellene på et bredt spekter av treningsdata, grupperes datasettene i 8 forskjellige kategorier som representerer lignende oppgaver.

  1. Evaluering på tradisjonelle språk-modellering-oppgaver og oppgaver som ligner språk-modellering, som lukket sett eller setnings-/paragraf-fullføring.
  2. Evaluering på “låst-bok” spørsmål-svar-oppgaver.
  3. Evaluering av modellens evne til å oversette mellom språk (spesielt en-shot og few-shot).
  4. Evaluering av modellens ytelse på Winograd Schema-lignende oppgaver.
  5. Evaluering på datasett som involverer felles fornuft eller spørsmål-svar.
  6. Evaluering på leseforståelse-oppgaver.
  7. Evaluering på SuperGLUE-benchmark-suitten.
  8. Utforskning av NLI.

Språk-modellering, fullføring og lukket sett-oppgaver

I dette avsnittet evalueres GPT-3-modellens ytelse på tradisjonelle språk-modellering-oppgaver samt oppgaver som krever prediksjon av ett enkelt ord av interesse eller fullføring av en setning eller en paragraf eller fullføring av en tekst.

Språk-modellering

GPT-3-modellen beregner null-shot-forvirring på PTB eller Penn Tree Bank-datasettet.

LAMBADA

LAMBADA-datasettet brukes til å teste modellens evne til å modellere lang-rekke-avhengigheter i paragrafer eller tekst.

GPT-3-modellen oppnår 76% nøyaktighet på LAMBADA og har en gevinst på over 8% over tidligere beste modeller.

LAMBADA-modellen demonstrerer fleksibiliteten til few-shot-læring, da den løste problemet på en klassisk måte med datasettet.

Lukket bok-spørsmål-svar

Lukket bok-spørsmål-svar er et forsøk på å måle GPT-3-modellens evne til å svare på spørsmål basert på bred faktuell kunnskap.

Figuen ovenfor sammenligner resultatet for GPT-3-modellen sammenlignet med forskjellige modeller og kjørt på forskjellige datasett.

Det kan tydelig sees at GPT-3-modellen i null-shot-innstilling overgår den finjusterte T5-11B-modellen med over 14%.

Figuen ovenfor viser at GPT-3-modellens ytelse øker jevnt med en økning i modell-størrelse.

Slutt-tanker

Det ville være trygt å si at GPT-3 var en revolusjonerende fase i LLM-industrien, da GPT-3 hjalp til å løfte grensene for hva en språkmodell kunne gjøre.

En ingeniør av yrke, en forfatter av hjerte. Kunal er en teknisk forfatter med en dyp kjærlighet og forståelse av AI og ML, dedikert til å forenkle komplekse konsepter i disse feltene gjennom sin engasjerende og informerende dokumentasjon.