stub GPT-3: Få skuddlæring for språkmodell? - Unite.AI
Kontakt med oss

Kunstig intelligens

GPT-3: Få skuddlæring for språkmodell?

mm

Publisert

 on

I løpet av de siste årene har AI- og ML-industrien vært vitne til en kraftig økning i utviklingen og anvendelsen av NLP-systemene ettersom forskere har vært i stand til å implementere NLP-praksis på svært fleksible og oppgaveagnostiske måter for nedstrømsoverføring av oppgaver. 

Opprinnelig var det enkeltlagsrepresentasjonene som brukte ordvektorer, og ble deretter matet til den oppgavespesifikke arkitekturen. Deretter var det RNN-arkitekturen som brukte flerlagsrepresentasjoner og kontekstuell tilstand for å danne bedre representasjoner. Og nå sist har vi overføringsspråkmodellene eller forhåndstrente tilbakevendende modeller som helt har fjernet behovet for oppgavespesifikke arkitekturer ved å finjustere disse nettverkene. 

Overføringsspråkmodellene har vist seg å være et stort vendepunkt i NLP-bransjen, ettersom de har resultert i enorm fremgang på utfordrende oppgaver som å svare på spørsmål, leseforståelse eller tekstblokker, tekstlig engasjement og mye mer. 

Til tross for fordelene har imidlertid overføringsspråkmodeller en stor begrensning ettersom de krever oppgavespesifikk finjustering eller oppgavespesifikke datasett for å oppnå ønsket ytelse på en oppgave. Videre krever overføringsspråkmodeller også at utviklere finjusterer datasettene til hundretusenvis av eksempler som er spesifikke for en bestemt oppgave. 

Det sier seg selv at fjerning av kravet til oppgavespesifikke datasett og oppgavespesifikk finjustering vil være svært ønskelig og gunstig for NLP-bransjen av flere årsaker. 

Problemer med eksisterende forhåndstrente overføringsspråkmodeller eller tilbakevendende modeller

  • Begrensning av praktisk og anvendelighet

Først og fremst begrenser kravet om et stort datasett med merkede data for hver oppgave anvendeligheten og praktiskheten til språkmodellene. Språkmodeller finner sine applikasjoner i en lang rekke oppgaver, alt fra å generere en novelle, til å korrigere grammatiske feil, til å generere eksempler på et konsept. Til tider er det en utfordrende oppgave å samle et stort overvåket datasett med merkede data, spesielt når prosessen må gjentas for hver enkelt oppgave. 

  • Utnyttelse av falske korrelasjoner i treningsdata

Begrensninger og sneverhet i treningsfordelingen kombinert med modellens uttrykksevne kan resultere i en grunnleggende vekst i potensialet for å utnytte falske korrelasjoner i treningsdata. Potensialet for å utnytte treningsdataene kan resultere i problemer under finjusterings- og førtreningsparadigmet fordi overføringsspråkmodellene er utformet på en måte for å absorbere en stor mengde informasjon under førtrening. 

Videre har arbeidet med tidligere modeller indikert at store modeller ikke resulterer i bedre distribusjon hver gang. Videre har det også blitt indikert at generalisering oppnådd under et slikt paradigme kan resultere i dårlig ytelse først og fremst fordi modellen er svært spesifikk for treningsdataene, og ikke kan prestere godt i situasjoner utenfor omfanget av treningsdataene. 

  • Sammenligning med menneskelig læring

Til slutt sammenlignet med overføringsspråkmodeller, trenger ikke mennesker et stort opplæringsdatasett når det gjelder å lære de fleste språkoppgaver. Oftest er en kort instruks på en persons naturlige språk eller en liten demonstrasjon av språkoppgaven tilstrekkelig for at et menneske skal forstå og utføre en språkoppgave med et visst nivå av konkurranseevne. 

Menneskets evne til å tilpasse seg har mange praktiske fordeler ettersom det lar dem enten bytte mellom ulike ferdighetssett eller blande dem sammen for å prestere bedre under en dialekt, noe som er utenfor mulighetene til dagens NLP-systemer. 

Ta tak i problemene med Meta Learning og GPT-3

En mulig løsning på utfordringene ovenfor er bruken av metalæring, et konsept i moderne ML som lar en modell utvikle et større og bredere sett med ferdigheter og evne til å gjenkjenne mønstre mens de trener, og deretter bruke disse lærte evnene under interferens for å tilpasse seg raskt, eller gjenkjenne den nødvendige oppgaven. 

Meta Learning blir implementert i språkmodellarkitektur via en teknikk kalt "læring i kontekst” som bruker tekstinntasting av en ferdigtrent språkmodell som oppgavespesifikasjon. I prosessen betinger modellen en naturlig språkinstruksjon, og kan til og med bruke noen få demonstrasjoner, og modellen forventes deretter å fullføre resten av oppgaven ved å forutsi de neste trinnene. 

Det eneste store problemet med Meta Learning er at selv om det har vist positivt potensial, er det fortsatt dårligere enn finjusteringstilnærmingen i naturlig språkarkitektur, og den trenger ytterligere forbedring for å bli en praktisk metode for å overvinne språkoppgaver. 

I tillegg til metalæring, er en annen metode som blir stadig mer populær, å øke kapasiteten til transformatorspråkmodeller. I de siste årene har overføringsmodeller vært vitne til en betydelig økning i kapasiteten med RNSS18 modell med 100 millioner parametere DCLT18 modell med 300 millioner parametere RWC19 modell med 1.5 milliarder parametere SSP19 modell med 8 milliarder parametere RSR19 modell med 11 milliarder parametere, og TUR20 modell med 17 milliarder parametere. 

Å øke kapasiteten til modellen eller øke parameterne har historisk resultert i forbedringer i tekstsyntesen, og det har vært en indikasjon på at loggtap, som korrelerer med nedstrømsoppgaver, også følger en jevn trend med å forbedre seg med skalaen. 

Det bringer oss til GPT-3-modellen som har over 175 milliarder parametere, og da den ble lansert, var det overføringsspråkmodellen med høyest kapasitet. 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 parametere som ble utgitt av OpenAI i 2020. GPT-3 er også klassifisert som en stor språkmodell som akkurat som sin forgjenger, er GPT-2-modellen en dekoder-bare dyplæringstransformatormodell som bruker konvolusjonsbasert arkitektur for å generere tekstdata. 

GPT-3-modellen måler sine egne kontekstlæringsevner, og GPT-3-modellen er evaluert på over to dusin NLP-datasett og flere nye oppgaver. For hver enkelt oppgave blir GPT-3-modellen evaluert under tre forhold,

  • Få skuddlæring eller læring i kontekst: I få skuddlæring tillater GPT-3-modellen så mange distribusjoner som kan passe godt inn i modellens kontekstvindu. 
  • One Shot læring: I one shot learning tillater modellen bare én demonstrasjon. 
  • Zero Shot Learning: I nullskuddslæring er det ingen demonstrasjoner, og det er bare en instruksjon i naturlig språk som mates til modellen. 

Stort sett, GPT-3 modell oppnår ønsket ytelse i zero-shot og one-shot-innstillinger, og i noen-shot-innstillingen utkonkurrerer den de toppmoderne overføringsmodellene mesteparten av tiden. Videre presterer GPT-3-modellen godt i ett-skudds- og null-skudd-innstillinger ved naturlige språkoppgaver designet for å teste resonnement på farten, eller krever rask oppmerksomhet som å bruke nye ord etter en setning, eller dekryptere ord eller utføre aritmetikk operasjoner. På den annen side, når GPT-3-modellen brukes i en setting med få skudd, genererer den syntetiske nyhetsartikler som ligner menneskelig skriving når den sendes gjennom menneskelige evaluatorer. 

GPT-3 modell: Approach

GPT-3-modellen bruker en konvensjonell tilnærming før trening som omfatter modell, data og trening, og den ligner førtreningsprosessen etterfulgt av RWC-19-overføringsspråkmodellen. GPT-3-modellen skalerer opp modellstørrelsen, datasettstørrelsen, mangfoldet av datasettet og øker lengden på opplæringsperioden. 

Modellen bruker også en kontekstbasert læringstilnærming som igjen minner om RWC-19-modellens tilnærming, men justerer ting litt ved å systematisk utforske ulike innstillinger for læringsmønstre innenfor konteksten av datasettet. 

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

Finjustering

Finjustering av modellen har vært den konvensjonelle tilnærmingen til overføring språkmodeller, og denne tilnærmingen innebærer å oppdatere vektene til en forhåndstrent modell ved å trene modellen på et overvåket datasett som er spesifikt for den ønskede oppgaven, og hundretusenvis av merkede eksempler brukes under prosessen. 

Finjusteringstilnærmingen er fordelaktig fordi den gir sterk ytelse på tvers av en rekke benchmarks. På den annen side er hovedbegrensningen ved bruk av finjusteringstilnærmingen at den krever et nytt og stort datasett for hver enkelt oppgave, har potensial til å utnytte falske funksjoner i treningsdatasettet, kan potensielt resultere i urettferdig sammenligning med menneskelig ytelse , og dårlig generalisering for ut-av-distribusjon. 

Det nåværende omfanget av GPT-3-modellen implementerer ikke finjusteringstilnærmingen på grunn av dens oppgaveagnostiske ytelse, selv om finjustering kan brukes på GPT-3-modellen i fremtiden. 

Få skudd

Few Shot er et begrep som refererer til innstillingen der GPT-3-modellen får noen få demonstrasjoner av oppgaven under interferens som kondisjonering, men vektene til modellen er ikke oppdatert. I de få skuddinnstillingene har datasettet vanligvis et eksempel med en kontekst og en ønsket fullføring (for eksempel en fransk setning og dens engelske oversettelse). Innstillingen få skudd gir modellen K eksempler på kontekst og komplettering, og den gir deretter modellen en siste kontekst, og forventer at modellen gir fullføringen. 

Den største fordelen med å bruke innstillingen for få skudd er at den reduserer behovet for oppgavespesifikke data betydelig, og reduserer også potensialet for å lære en smal distribusjon fra et stort datasett som er smalt finjustert. På den annen side er den store ulempen med å bruke få skuddlæring at resultatene levert i få skudd-innstillingen ikke er opp til målet, og betydelig dårlig sammenlignet med andre toppmoderne modeller som er finjustert. 

One Shot

I ett-skudd-innstillingen er modellen kun utstyrt med en enkelt demonstrasjon, og resten ligner på få-skudd-innstillingen. Grunnen til at one shot setting er relevant i overføringsspråkmodeller er fordi av alle de tre innstillingene er ett shot det som ligner på måten oppgaver kommuniseres til mennesker best på. Det er fordi det i de fleste oppgavene er vanlig å gi én demonstrasjon av oppgaven, ellers kan det være vanskelig å forstå konteksten til oppgaven. 

Null skudd

I nullskuddinnstillingen er det ingen demonstrasjoner, og modellen får en naturlig språkinstruksjon som beskriver oppgaven. Zero shot-metoden er den som tilbyr maksimal bekvemmelighet, er robust og også unngår falske korrelasjoner, men den er også den mest utfordrende av alle de tre innstillingene. Det er fordi det i noen tilfeller er vanskelig selv for oss mennesker å finne ut konteksten til en oppgave uten å se en demonstrasjon først. 

Uansett, for noen oppgaver er nullskuddinnstillingen den som ligner på hvordan mennesker utfører naturlige språkoppgaver nærmest. 

Figuren ovenfor sammenligner noen få skudd, ett skudd og nullskudd-innstillingen når du utfører en naturlig språkoppgave med å ta en engelsk setning og oversette den til fransk. 

GPT-3: Modellarkitektur

GPT-3-modellen bruker samme arkitektur som den som ble brukt i GPT-2-modellen, og den inkluderer pre-normalisering, modifisert initialisering og reversible tokeniseringsteknikker slik de ble brukt på GPT-modellen med unntak av å bruke en alternativ strategi for lokalt båndede sparsomme oppmerksomhetsmønstre, og vekslende tette lag i transformatorlagene, tilsvarende Sparse Transformer. 

For å studere avhengigheten av modellens ytelse av modellstørrelsen, har utviklerne trent 8 forskjellige modellstørrelser som spenner over tre forskjellige størrelsesordener fra 125 millioner til over 175 milliarder parametere, den siste av dem kalles GPT-3-modellen . Tidligere arbeid relatert til LLM-modeller har indikert at skalering av valideringstap med tilstrekkelig mengde treningsdata bør være en tilnærmet jevn kraftlov som en funksjon av størrelse. Treningsmodeller av varierende størrelse lar utviklere teste hypotesen for både nedstrøms språkoppgaver så vel som for tap av validering. 

Figuren 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 trenbare mønstre, n(lag) definerer det totale antallet lag i modellen, d(modell) definerer antall enheter i hvert lag av flaskehalsen, og d(hode) definerer dimensjonene til hvert oppmerksomhetshode. Kontekstvinduet for hver modell er det samme med 2048 tokens. 

Videre, for å minimere overføringen av data mellom nodene, er modellen partisjonert over GPUene langs dybden og bredden på dimensjonene. De arkitektoniske parameterne for hver modell er valgt på grunnlag av beregningseffektivitet og belastningsbalansering for å maksimere presisjonen i utformingen av modeller på tvers av GPUer. 

Treningsdatasett

Vanligvis bruker de store språkmodellene datasett som har utvidet seg betydelig med den siste utviklingen, og de kulminerer i Common Crawl-datasettet som består av over en billion forskjellige ord. Størrelsen på datasettet er tilstrekkelig nok til å trene GPT-3-modellen uten å oppdatere på samme sekvens flere ganger. Studier og ytelsesanalyser indikerer imidlertid at lett filtrerte versjoner eller ufiltrerte versjoner av Common Crawl-datasettet har lav kvalitet sammenlignet med mer kuratert datasett. 

For å takle problemet med gjennomsnittskvaliteten til datasettet, tok utviklerne tre trinn for å øke kvaliteten på datasettet. 

  1. Utviklere lastet ned og filtrerte en versjon av Common Crawl-datasettet basert på en rekkevidde som ligner på referansekorpus av høy kvalitet. 
  2. Utviklere utførte uklar duplisering på dokumentnivå på tvers av datasettet i et forsøk på å bevare integriteten til deres utholdte valideringssett som en effektiv måling av overtilpasning, og også for å forhindre redundans. 
  3. Utviklere la også til referansekorpus av høy kvalitet til treningsdataene for å utvide Common Crawl-datasettet, og for å øke mangfoldet til datasettet ytterligere. 

Følgende figur viser den endelige andelen eller blandingen av datasettene som brukes til å trene GPT-3-modellen. Common Crawl-dataene besto av over 45 TB med ren tekst før filtrering som ble redusert til 570 GB data etter filtrering, grovt sett tilsvarende over 400 milliarder byte-par-kodede tokens. Det er verdt å merke seg at datasett i opplæringen som blir sett på som høyere kvalitet, blir samplet med mer frekvens i stedet for å prøve datasettet i forhold til størrelsen. Som et resultat blir datasett som Books2 og Common Crawl samplet mindre enn én gang under trening, mens de andre datasettene samples flere ganger. Det lar modellen akseptere en liten mengde overfitting i bytte mot trening på treningsdata med høyere kvalitet. 

En betydelig bekymring med store språkmodeller som er forhåndsopplært på en stor mengde internettdata med kapasitet til å huske og lære en stor mengde innhold, er den potensielle kontamineringen av nedstrømsoppgaver ved å få deres utviklings- eller testsett sett i løpet av pre- opplæringsprosess. For å redusere slik potensiell forurensning, søkte utviklerne etter eventuelle overlappinger med test- og utviklingssettene til referansene som ble studert for GPT-3, og forsøkte å fjerne disse overlappingene. 

Bildet ovenfor viser den totale beregningen som ble brukt under treningen av GPT-3-modellen. Modellen bruker skaleringslover for nevrale språkmodeller for å trene mye større modeller på færre tokens enn vanlig. Som et resultat tok både GPT-3 og RobERTa-Large-modellen, som er 10 ganger mindre enn GPT-3-modellen, nesten 50 petaflops/dag med beregning under før-treningsprosessen. 

Evaluering

For de få skuddlæringen, evaluerer modellen hvert eksempel som finnes i evalueringsdatasettet ved å trekke K eksempler tilfeldig fra den oppgavens treningsdatasett som kondisjonering, og avgrenser det med 1 eller 2 nylinjer avhengig av oppgaven. For Storycloze og LAMBADA trekker modellen kondisjoneringseksempler fra utviklingssettet og evaluerer det på testsettet på grunn av utilgjengelighet av et overvåket treningssett. For Winograd eksisterer det bare ett datasett, og derfor trekkes kondisjoneringsprøvene direkte fra det. 

K kan være en hvilken som helst verdi fra 0 til det maksimale beløpet tillatt av modellens kontekstvindu som er next = 2048 for alle modellene, og den passer vanligvis til 10 til 100 eksempler. Større verdier av K gir ofte bedre resultater, men ikke alltid, og det er derfor når modellen har et testsett, og et eget utviklingssett tilgjengelig, eksperimenterer modellen med noen få verdier av K på utviklingssettet, og basert på resultatene. , kjører den den beste verdien på testsettet. 

Videre, på oppgavene som krever å velge en korrekt fullføring fra flere alternativer, gir utviklerne K eksempler på korrigering pluss kontekstfullføring, og følger det opp ved å gi kun ett eksempel på kontekst, og oppgavene sammenlignes deretter på grunnlag av LM sannsynlighet av hver fullføring. For oppgaver som krever binær klassifisering, gir modellene ofte alternativer mer semantisk, og med mer meningsfulle navn, og behandler deretter oppgaven som flervalg, og rammer noen ganger også oppgaven på lik linje med det som gjøres av RSR-modellen og arkitekturen. 

For oppgavene som krever fullføring i fri form, bruker modellen strålesøk med identiske parametere som brukes i RSR-rammeverket, med en stråle på lengde 4, og en straff på 0.6. Modellen blir deretter skåret ved å bruke enten F1 likhetspoeng, eksakt samsvar eller BLEU, avhengig av standarden for datasettet. 

Resultater

Figuren ovenfor viser treningskurvene for de 8 modellene som brukes i GPT-3-modellarkitekturen, som beskrevet i de forrige avsnittene. I likhet med resultatene fra KMH-språkmodellen, følger ytelsen til GPT-3-modellen en riktig lov når treningsdatabehandling brukes effektivt. Det er en liten forskjell fra loven bare når trenden utvides med ytterligere to størrelsesordener. Det kan skje for folk at forbedringene i kryssentropitap kan være et resultat av modellering av falske detaljer i treningskorpuset. Forbedringene i kryssentropitapet fører imidlertid til konsistente gevinster i den generelle ytelsen over et bredt spekter av en rekke NLP-oppgaver. 

Før de 8 forskjellige modellene evalueres på et bredt spekter av treningsdata, er datasettene gruppert i 8 forskjellige kategorier som representerer lignende oppgaver. Disse kategoriene er

  1. Evaluering av tradisjonelle språkmodelleringsoppgaver, og oppgaver som ligner språkmodellering som Cloze-oppgaver, eller setnings-/avsnittsfullføringsoppgaver. 
  2. Evaluering av "lukket bok" spørsmål besvare oppgaver. 
  3. Evaluering av modellens evne til å oversette mellom språk (spesielt one-shot og few-shot)
  4. Evaluering av modellens ytelse på Winograd Schema-lignende oppgaver. 
  5. Evaluering på datasett som involverer sunn fornuft eller svar på spørsmål. 
  6. Evaluering av leseforståelsesoppgaver. 
  7. Evaluerer på SuperGLUE benchmark suite. 
  8. Utforsker NLI. 

Språkmodellering, fullføring og Cloze-oppgaver

I denne delen blir GPT-3-modellens ytelse evaluert på de tradisjonelle språkmodelleringsoppgavene så vel som oppgaver som krever prediksjon av et enkelt ord av interesse, eller fullføring av et avsnitt eller en setning, eller fullføring av et stykke tekst. La oss diskutere dem i kort detalj. 

Språkmodellering

GPT-3-modellen beregner nullskuddsforvirringen på PTB-en eller Penn Tree Bank-datasettet. Modellen utelater Wikipedia-relaterte oppgaver fordi den allerede er inkludert i modellens treningsdata, og benchmark på én milliard ord er også utelatt fordi det forårsaker en betydelig mengde friksjon av datasettet som er innenfor treningsdataene. Imidlertid takler PTB-datasettet disse problemene fordi det kan gå før det moderne internett. Den største modellen i GPT-3-modellarkitekturen har en ny SOTA på PTB-datasettet med en bemerkelsesverdig margin på 15 poeng, og oppnår en forvirring på 20.50. 

LAMBADA

LAMBADA-datasettet brukes til å teste modelleringen av modellen på langdistanseavhengigheter i avsnitt eller tekster. Det betyr at modellen blir bedt om å forutsi det siste ordet i en setning etter å ha lest avsnittet for konteksten. Videre gir den kontinuerlige skaleringen av språkmodellene avtagende avkastning på referanseindeksen. 

GPT-3-modellen oppnår 76 % nøyaktighet på LAMBADA, og har en gevinst på over 8 % i forhold til tidligere beste modeller. Videre demonstrerer LAMBADA-modellen fleksibiliteten til få-skuddslæring da den adresserte problemet på en måte som forekommer klassisk med datasettet. Fullføringen av en setning i LAMBADA er vanligvis det siste ordet i setningen, men ettersom en språkmodell ikke kan vite det, tildeler den en sannsynlighet ikke bare til den riktige slutten, men også til andre fortsettelser i avsnittet. 

Videre, når eksemplene matet til GPT-3-modellen er modifisert på en bestemt måte, gir modellen en nøyaktighet på over 86 %, en økning på over 18 % i forhold til tidligere modeller. I tillegg indikerte resultatene også at ytelsen til modellen i en få-shot-innstilling øker proporsjonalt med økningen i modellstørrelse. Selv om denne strategien reduserer den minste modellen i GPT-3-arkitekturen med 20 %, øker den nøyaktigheten til den primære GPT-3-modellen med 175 milliarder parametere med 10 %. 

Besvarelse av spørsmål i lukket bok

Closed Book Question Answering er et forsøk på å måle GPT-3-modellens evne til å svare på spørsmål basert på bred faktakunnskap. Fordi slike spørsmål ofte har en høy mengde mulige spørringer, oppnås oppgaven normalt ved hjelp av et informasjonsinnhentingssystem som lar modellen finne relevant tekst i kombinasjon med modellen som lærer å generere respons på et svar gitt den hentede teksten, og spørsmålet. 

Bildet ovenfor sammenligner resultatet for GPT-3-modellen sammenlignet med forskjellige modeller, og kjører på forskjellige datasett. På TriviaQA-datasettet oppnår modellen en nøyaktighetsscore på 64.3 % i nullskuddinnstillingen, mens den oppnår en nøyaktighetsscore på henholdsvis 68 % og 71.2 % i ett-skudds- og fåskuddsinnstillingene. 

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

Figuren ovenfor viser ytelsen til GPT-3-modellen vokser jevnt med en økning i modellstørrelsen. Ytelsen antyder at språkmodellene fortsetter å lære av datasettet etter hvert som kapasiteten øker. 

Final Thoughts

Det vil være trygt å si at GPT-3 var en revolusjonerende fase i LLM-bransjen, da GPT-3 hjalp til med å presse grensene for hva en språkmodell kunne gjøre. Det var utviklingen gjort og hindringene overvunnet av GPT-3 som banet vei for den mest avanserte og nøyaktige store språkmodellen til dags dato, GPT-4. 

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