Artificiell intelligens
GPT-3 : Few Shot Learning för språkmodell?

Under de senaste åren har AI- och ML-industrin sett en meteorisk ökning av utvecklingen och tillämpningen av NLP-system, eftersom forskare har kunnat implementera NLP-praxis på högt flexibla och uppgiftsagnostiska sätt för nedströmsöverföringsuppgifter.
Initialt var det enkelskiktsrepresentationer som använde ordvektorer och sedan matades till en uppgiftsspecifik arkitektur. Nästa var RNN-arkitekturen som använde flerskiktsrepresentationer och kontextuell tillstånd för att bilda bättre representationer. Och mycket nyligen har vi överföringspråkmodeller eller förtränade rekurrenta modeller som helt har tagit bort behovet av uppgiftsspecifika arkitekturer genom finjustering av dessa nätverk.
Överföringspråkmodellerna har visat sig vara en viktig vändpunkt i NLP-industrin, eftersom de har resulterat i enorma framsteg inom utmanande uppgifter som att besvara frågor, läsa förståelse eller textblock, textuell implicering och mycket mer.
Men trots deras fördelar har överföringspråkmodeller en stor begränsning, eftersom de kräver uppgiftsspecifik finjustering eller uppgiftsspecifik dataset för att uppnå önskad prestanda på en uppgift. Dessutom kräver överföringspråkmodeller också att utvecklare finjusterar dataset till hundratusentals exempel som är specifika för en viss uppgift.
Det går utan att säga att att ta bort kravet på uppgiftsspecifikt dataset och uppgiftsspecifik finjustering kommer att vara mycket önskvärt och fördelaktigt för NLP-industrin av många skäl.
Problem med befintliga förtränade överföringspråkmodeller eller rekurrenta modeller
- Begränsar praktiskhet och tillämpbarhet
Först och främst begränsar kravet på ett stort dataset med märkt data för varje uppgift tillämpbarheten och praktiskheten hos språkmodellerna. Språkmodeller har tillämpningar i en mängd olika uppgifter, från att generera en kort berättelse till att korrigera grammatiska fel, till att generera exempel på ett koncept. Ibland kan det vara en utmanande uppgift att samla in ett stort övervakat dataset med märkt data, särskilt när processen behöver upprepas för varje enskild uppgift.
- Uttnyttjar spurious korrelationer i träningsdata
Begränsningar och smalhet i träningsfördelningen, kombinerat med modellens uttrycksfullhet, kan resultera i en grundläggande tillväxt i potentialen att uttnyttja spurious korrelationer i träningsdata. Potentialen att uttnyttja träningsdata kan resultera i problem under finjusterings- och förträningsparadigmet, eftersom överföringspråkmodellerna är utformade för att absorbera en stor mängd information under förtränning.
Dessutom har arbete med tidigare modeller indikerat att stora modeller inte alltid resulterar i bättre resultat utanför distributionen varje gång. Dessutom har det också indikerats att generalisering som uppnås under ett sådant paradigm kan resultera i dålig prestanda, främst eftersom modellen är mycket specifik för träningsdata och inte kan prestera bra i situationer utanför omfattningen av träningsdata.
- Jämförelse med mänskligt lärande
Slutligen, när man jämför med överföringspråkmodeller, behöver människor inte ett stort träningsdataset när det gäller att lära sig de flesta språkuppgifter. Oftast räcker en kort direktiv i en persons naturliga språk eller en liten demonstration av språkuppgiften för att en människa ska förstå och utföra en språkuppgift med en viss nivå av konkurrens.
Människors förmåga att anpassa sig har många praktiska fördelar, eftersom det tillåter dem att antingen växla mellan olika färdigheter eller kombinera dem för att bättre prestera under en dialekt, något som ligger utanför förmågan hos nuvarande NLP-system.
Att tackla problemen med meta-lärande och GPT-3
En möjlig lösning på ovanstående utmaningar är att använda meta-lärande, ett begrepp i modern ML som tillåter en modell att utveckla en större och bredare uppsättning färdigheter och förmåga att känna igen mönster under tränning, och sedan använder dessa inlärda färdigheter under interferens för att anpassa sig snabbt eller känna igen den erforderliga uppgiften.
Meta-lärande implementeras i språkmodellens arkitektur via en teknik som kallas “in-context-lärande” som använder textinmatning av en förtränad språkmodell som en uppgiftsspecifikation. I processen villkorar modellen på en naturlig språkinstruktion och kan även använda några demonstrationer, och modellen förväntas sedan slutföra resten av uppgiften genom att förutsäga nästa steg.
Det enda stora problemet med meta-lärande är att även om det har visat positiv potential, är det fortfarande underlägsen finjusteringsmetoden i naturlig språkarkitektur, och det behöver ytterligare förbättring för att bli en praktisk metod för att övervinna språkuppgifter.
Förutom meta-lärande är en annan metod som växer i popularitet att öka kapaciteten hos transformer-språkmodeller. Under de senaste åren har överföringsmodellerna sett en betydande ökning av sin kapacitet med RNSS18-modellen med 100 miljoner parametrar, DCLT18-modellen med 300 miljoner parametrar, RWC19-modellen med 1,5 miljarder parametrar, SSP19-modellen med 8 miljarder parametrar, RSR19-modellen med 11 miljarder parametrar och TUR20-modellen med 17 miljarder parametrar.
Att öka modellens kapacitet eller öka antalet parametrar har historiskt sett resulterat i förbättringar av textsyntes och det har funnits en indikation på att logförlust, som korrelerar med nedströmsuppgifter, också följer en slät trend av förbättring med skalan.
Detta leder oss till GPT-3-modellen som har över 175 miljarder parametrar, och när den lanserades var den den överföringspråkmodell med den högsta kapaciteten. Låt oss nu prata om GPT-3-modellen.
En introduktion till GPT-3-modellen
GPT-3 är en autoaggressiv språkmodell med över 175 miljarder parametrar som släpptes av OpenAI 2020. GPT-3 klassificeras också som en stor språkmodell som, liksom dess föregångare GPT-2-modellen, är en decoder-endast djupinlärnings-transformator-modell som använder konvolutionsbaserad arkitektur för att generera textdata.
GPT-3-modellen mäter sin egen kontextinlärningsförmåga, och GPT-3-modellen utvärderas på över två dussin NLP-dataset och flera nya uppgifter. För varje enskild uppgift utvärderas GPT-3-modellen under tre förhållanden,
- Few Shot Learning eller In-Context Learning: I few shot learning tillåter GPT-3-modellen så många distributioner som kan passa väl in i modellens kontextfönster.
- One Shot Learning: I one shot learning tillåter modellen endast en demonstration.
- Zero Shot Learning: I zero shot learning finns det inga demonstrationer, och det finns endast en instruktion i naturligt språk som matas in i modellen.

I allmänhet uppnår GPT-3-modellen önskad prestanda i zero-shot- och one-shot-inställningar, och i few-shot-inställningen överträffar den state-of-the-art-överföringsmodellerna oftast.

GPT-3-modell: Tillvägagångssätt
GPT-3-modellen använder en konventionell förträningsmetod som består av modell, data och träningsprocess, och den liknar den förträningsprocess som följs av RWC-19-överföringsmodellen. GPT-3-modellen skalar upp modellstorleken, datasetstorleken, datasetets diversitet och ökar träningsperiodens längd.
Modellen använder också en in-context-lärandeansats som återigen liknar RWC-19-modellens ansats, men justerar saker genom att systematiskt utforska olika inställningar för att lära mönster inom kontexten av datasetet.
Så, låt oss börja med att utforska dessa inställningar och utvärdera hur GPT-3-modellen presterar på olika inställningar.
Fine-tuning
Att finjustera modellen har varit den konventionella metoden i överföringspråkmodeller, och denna metod innebär att uppdatera vikterna i en förtränad modell genom att träna modellen på ett övervakat dataset som är specifikt för den önskade uppgiften, och hundratusentals märkta exempel används under processen.
Fine-tuningsmetoden är fördelaktig eftersom den ger stark prestanda över många benchmark-tester. Å andra sidan är den största begränsningen med att använda fine-tuningsmetoden att den kräver ett nytt och stort dataset för varje enskild uppgift, har potentialen att uttnyttja spurious egenskaper hos träningsdatasetet, kan potentiellt resultera i orättvis jämförelse med mänsklig prestanda och dålig generalisering för utom distribution.
GPT-3-modellens nuvarande omfattning implementerar inte fine-tuningsmetoden på grund av dess uppgiftsagnostiska prestanda, även om fine-tuning kan tillämpas på GPT-3-modellen i framtiden.
Few Shot
Few Shot är en term som hänvisar till inställningen där GPT-3-modellen ges några demonstrationer av uppgiften under interferens som villkor, men modellens vikter uppdateras inte. I few-shot-inställningarna har datasetet vanligtvis ett exempel med kontext och en önskad slutförande (till exempel en fransk mening och dess engelska översättning).
Few-shot-inställningens stora fördel är att den signifikant minskar behovet av uppgiftsspecifika data och minskar också potentialen att lära en smal distribution från ett stort dataset som är finjusterat smalt.
Däremot är den stora nackdelen med att använda few-shot-lärande att resultaten som levereras i few-shot-inställningen inte är så bra och signifikant sämre jämfört med andra state-of-the-art-modeller som är finjusterade.
One Shot
I one-shot-inställningen tillhandahålls modellen endast en demonstration, och resten är liknande few-shot-inställningen.
Orsaken till att one-shot-inställningen är relevant i överföringspråkmodeller är att den liknar sättet som uppgifter kommuniceras till människor på bästa sätt.
Det är vanligt att ge en demonstration av uppgiften, annars kan det vara svårt att förstå uppgiftens kontext.
Zero Shot
I zero-shot-inställningen finns det inga demonstrationer, och modellen tillhandahålls en naturlig språkinstruktion som beskriver uppgiften.
Zero-shot-metoden är den som erbjuder maximal bekvämlighet, är robust och undviker spurious korrelationer, men den är också den mest utmanande av alla tre inställningarna.
Det är därför att i vissa fall kan det vara svårt även för oss människor att förstå uppgiftens kontext utan att se en demonstration först.

Ovanstående figur jämför few-shot-, one-shot- och zero-shot-inställningarna när man utför en naturlig språkuppgift som att ta en engelsk mening och översätta den till franska.
GPT-3: Modellarkitektur
GPT-3-modellen använder samma arkitektur som den som används i GPT-2-modellen, och den inkluderar pre-normalisering, modifierad initiering och reversibel tokeniseringstekniker som de användes på GPT-modellen med undantag för att använda en alternativ strategi för lokalt banded sparse attention-mönster och alternativa täta lager i transformer-lagren, liknande Sparse Transformer.
För att studera modellens prestanda beroende av modellstorleken har utvecklarna tränat 8 olika modellstorlekar som sträcker sig över tre olika storleksordningar från 125 miljoner till över 175 miljarder parametrar, den sista av dem kallad GPT-3-modellen.

Ovanstående figur jämför storleken och arkitekturen hos de 8 olika modellerna som användes för utvecklingen av GPT-3.
Dessutom, för att minimera överföringen av data mellan noderna, partitioneras modellen över GPU:erna längs djupet och bredden av dimensionerna.
Träningsdataset
Typiskt sett använder stora språkmodeller dataset som har expanderat avsevärt med senaste utvecklingen, och de kulminerar i Common Crawl-datasetet som består av över en biljon olika ord.
Storleken på datasetet är tillräckligt stor för att träna GPT-3-modellen utan att uppdatera på samma sekvens flera gånger.

Ovanstående figur visar den slutliga proportionen eller blandningen av dataseten som användes för att träna GPT-3-modellen.
En betydande oro med stora språkmodeller som är förtränade på en stor mängd internetdata med kapacitet att memorera och lära en stor mängd innehåll är den potentiella kontamineringen av nedströmsuppgifter genom att se deras utvecklings- eller testuppsättningar under förträningsprocessen.

Ovanstående bild visar den totala beräkningskraften som användes under träningsprocessen för GPT-3-modellen.
Utvärdering
För few-shot-lärande utvärderar modellen varje exempel i utvärderingsdatasetet genom att dra K-exempel slumpmässigt från uppgiftens träningsdataset som villkor och avgränsar det med 1 eller 2 nya rader beroende på uppgiften.
K kan vara vilket värde som helst, från 0 till den maximala mängd som tillåts av modellens kontextfönster, som är next = 2048 för alla modeller, och det passar vanligtvis 10 till 100 exempel.
Resultat

Ovanstående figur visar träningskurvorna för de 8 modellerna som användes i GPT-3-modellens arkitektur, som beskrivs i tidigare avsnitt.
Slutliga tankar
Det vore säkert att säga att GPT-3 var en revolutionerande fas i LLM-industrin, eftersom GPT-3 hjälpte till att pressa gränserna för vad en språkmodell kunde göra.
Det var de utvecklingar som gjordes och de hinder som övervanns av GPT-3 som banade vägen för den mest avancerade och exakta stora språkmodellen hittills, GPT-4.












