AI-modeller och plattformar
GPT-3: Fåskottslärande för språkmodell?

Under de senaste åren har AI- och ML-industrin upplevt en meteorisk tillväxt i 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 mest nyligen har vi överföringsmodeller eller förtränade återkommande modeller som helt har tagit bort behovet av uppgiftsspecifika arkitekturer genom finjustering av dessa nätverk.
Överföringsmodellerna har visat sig vara en viktig vändpunkt i NLP-industrin, eftersom de har resulterat i enorma framsteg på utmanande uppgifter som att svara på frågor, läsa förståelse eller textblock, textuell implicering och mycket mer.
Men trots sina fördelar har överföringsmodellerna 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öringsmodellerna att utvecklare finjusterar dataseten till hundratusentals exempel som är specifika för en viss uppgift.
Det är självklart att ta bort kravet på uppgiftsspecifika dataset och uppgiftsspecifik finjustering skulle vara mycket önskvärt och fördelaktigt för NLP-industrin av många skäl.
Problem med befintliga förtränade överföringsmodeller eller återkommande modeller
- Begränsar praktiskhet och tillämpbarhet
Först och främst begränsar kravet på en stor 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 historia till att korrigera grammatiska fel, till att generera exempel på ett koncept. Ibland kan det vara en utmanande uppgift att samla in en stor övervakad dataset med märkt data, särskilt när processen måste upprepas för varje enskild uppgift.
- Uttnyttjar yttre korrelationer i träningsdata
Begränsningar och smalhet i träningsfördelningen, kombinerat med modellens uttrycksfullhet, kan resultera i en grundläggande ökning av potentialen att uttnyttja yttre korrelationer i träningsdata. Potentialen att uttnyttja träningsdata kan resultera i problem under finjusterings- och förträningsparadigmet, eftersom överföringsmodellerna är utformade för att absorbera en stor mängd information under förträning.
Dessutom har arbete med tidigare modeller visat att stora modeller inte alltid resulterar i bättre prestanda utanför distributionen. Dessutom har det också visats 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 träningsdatans omfång.
- Jämförelse med mänskligt lärande
Slutligen, när man jämför överföringsmodeller med mänskligt lärande, kräver människor inte en stor träningsdataset när det gäller att lära sig de flesta språkuppgifter. Ofta räcker en kort instruktion på 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 konkurrenskraft.
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 utföra 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 koncept i modern ML som tillåter en modell att utveckla en större och bredare uppsättning färdigheter och mönsterigenkänning under träningsprocessen, och sedan använder dessa lärdade 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 villkorsmodellen 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.
Utöver meta-lärande är en annan metod som ökar i popularitet att öka kapaciteten hos transformer-språkmodeller. Under de senaste åren har överföringsmodellerna upplevt en betydande ökning av kapaciteten, med RNNS18-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 parametrar har historiskt sett resulterat i förbättringar av textsyntes och det har också visats att log-förlust, som korrelerar med nedströmsuppgifter, också följer en jämn 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öringsmodell 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 kontextlärandefö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,
- Fåskottslärande eller in-context-lärande: I fåskottslärande tillåter GPT-3-modellen så många distributioner som kan passa väl in i modellens kontextfönster.
- Enskottslärande: I enskottslärande tillåter modellen endast en demonstration.
- Nollskottslärande: I nollskottslärande finns det inga demonstrationer och det finns endast en naturlig språkinstruktion som matas in i modellen.

I allmänhet uppnår GPT-3-modellen önskad prestanda i nollskott- och enskottinställningar och i fåskottinställningen överträffar den state-of-the-art-överföringsmodellerna oftast. Dessutom presterar GPT-3-modellen bra i enskott- och nollskottinställningar för naturliga språkuppgifter som är utformade för att testa på flygande resonemang eller kräver snabb uppmärksamhet, som att använda nya ord efter en mening eller omsortera ord eller utföra aritmetiska operationer.

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 förträningsprocessen som följs av RWC-19-överföringsmodellen. GPT-3-modellen skalar upp modellstorleken, datasetstorleken, datasetmångfalden och ökar träningsperiodens längd.
Modellen använder också en in-context-lärandeansats som återigen liknar RWC-19-modellens ansats, men ändrar saker genom att systematiskt utforska olika inställningar för att lära sig mönster inom datasetets kontext.
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öringsmodeller och denna metod innebär att uppdatera vikterna för en förtränad modell genom att träna modellen på en övervakad dataset som är specifik för den önskade uppgiften och hundratusentals märkta exempel används under processen.
Fine-tuning-metoden är fördelaktig eftersom den returnerar stark prestanda över många benchmark-tester. Å andra sidan är den stora begränsningen med att använda fine-tuning-metoden att den kräver en ny och stor dataset för varje enskild uppgift, har potentialen att uttnyttja yttre egenskaper hos träningsdataseten, kan potentiellt resultera i en orättvis jämförelse med mänsklig prestanda och dålig generalisering för utom distribution.
GPT-3-modellens nuvarande omfång implementerar inte fine-tuning-metoden på grund av dess uppgiftsagnostiska prestanda, även om fine-tuning kan tillämpas på GPT-3-modellen i framtiden.
Fåskott
Fåskott är en term som refererar till inställningen där GPT-3-modellen ges några demonstrationer av uppgiften under interferens som villkor, men modellens vikter uppdateras inte. I fåskottinställningen har datasetet vanligtvis ett exempel med kontext och önskad slutförande.
Fåskottinställningens stora fördel är att den signifikant minskar behovet av uppgiftsspecifik data och minskar också potentialen att lära sig en smal distribution från en stor dataset som är finjusterad smalt. Å andra sidan är fåskottlärandets stora nackdel att resultaten som levereras i fåskottinställningen inte är så bra och signifikant sämre jämfört med andra state-of-the-art-modeller som är finjusterade.
Enskott
I enskottinställningen ges modellen endast en demonstration och resten är liknande fåskottinställningen. Anledningen till att enskottinställningen är relevant i överföringsmodeller är att den mest liknar sättet som uppgifter kommuniceras till människor på.
Nollskott
I nollskottinställningen finns det inga demonstrationer och modellen ges en naturlig språkinstruktion som beskriver uppgiften. Nollskottmetoden är den som erbjuder maximal bekvämlighet, är robust och undviker yttre korrelationer, men det är också den mest utmanande av alla tre inställningarna.
Oavsett, för vissa uppgifter är nollskottinställningen den som mest liknar hur människor utför naturliga språkuppgifter.

Ovanstående figur jämför fåskott-, enskott- och nollskottinställningar 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 innehåller pre-normalisering, modifierad initiering och reversibel tokeniseringstekniker som användes på GPT-modellen med undantag för att använda en alternativ strategi för lokalt bandad sparse uppmärksamhetsmönster och alternativa täta lager i transformerlagren, liknande Sparse Transformer.
För att studera modellens prestandas 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. Tidigare arbete relaterat till LLM-modeller har visat att skalning av valideringsförlust med tillräckligt med träningsdata bör vara en ungefärlig slät potenslag som en funktion av storlek.

Ovanstående figur jämför storleken och arkitekturen hos de 8 olika modellerna som användes för utvecklingen av GPT-3. Här definierar n(params) det totala antalet tränbara mönster, n(lager) definierar det totala antalet lager i modellen, d(modell) definierar antalet enheter i varje lager av flaskhalsen och d(huvud) definierar dimensionerna för varje uppmärksamhetsenhet. Kontextfönstret för varje modell är detsamma med 2048 token.
Dessutom, för att minimera överföringen av data mellan noderna, partitioneras modellen över GPU:er längs djupet och bredden av dimensionerna. Arkitektoniska parametrar för varje modell har valts baserat på beräkningseffektivitet och belastningsbalansering för att maximera precisionen i modellernas layout över GPU:er.
Träningsdataset
Vanligtvis 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. Datasetets storlek är tillräckligt stor för att träna GPT-3-modellen utan att uppdatera på samma sekvens flera gånger. Men studier och prestandaanalys visar att lättfiltrerade versioner eller ofiltrerade versioner av Common Crawl-datasetet har låg kvalitet jämfört med mer kuraterade dataset.
För att tackla problemet med datasetets genomsnittliga kvalitet tog utvecklarna 3 steg för att förbättra datasetets kvalitet.
- Utvecklarna laddade ner och filtrerade en version av Common Crawl-datasetet baserat på ett intervall liknande högkvalitativa referenskorpus.
- Utvecklarna utförde fuzzy-duplikat på dokumentnivå över datasetet i ett försök att bevara integriteten hos deras valda valideringsuppsättning som en effektiv mätning av överanpassning och för att förhindra redundans.
- Utvecklarna lade också till högkvalitativa referenskorpus till träningsdata för att förbättra mångfalden i datasetet och för att ytterligare öka datasetets kvalitet.
Följande figur visar den slutliga proportionen eller blandningen av dataseten som användes för att träna GPT-3-modellen. Common Crawl-data bestod av över 45 TB i ren text före filtrering som reducerades till 570 GB data efter filtrering, en ungefärlig ekvivalent till över 400 miljarder byte-par-encoderade token.

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 sig en stor mängd innehåll är den potentiella kontamineringen av nedströmsuppgifter genom att deras utvecklings- eller testuppsättningar ses under förträningsprocessen. För att minska sådan potentiell kontaminering sökte utvecklarna efter eventuella överlappningar med test- och utvecklingsuppsättningarna för benchmark-testerna som studerades för GPT-3 och försökte ta bort dessa överlappningar.

Ovanstående bild visar den totala beräkningskraften som användes under träningsprocessen för GPT-3-modellen. Modellen använder skalningslagar för neuralspråkmodeller för att träna mycket större modeller på färre token än vanligt. Som ett resultat använde både GPT-3 och RoBERTa-Large-modellen, som är 10 gånger mindre än GPT-3-modellen, nästan 50 petaflops/dag av beräkningskraft under förträningsprocessen.
Utvärdering
För fåskottslärande utvärderar modellen varje exempel i utvärderingsdatasetet genom att dra K exempel slumpmässigt från uppgiftens träningsdataset som villkor och begränsar det med 1 eller 2 nya rader beroende på uppgiften.
K kan vara vilket värde som helst i intervallet från 0 till det maximala antalet som tillåts av modellens kontextfönster, som är next = 2048 för alla modeller, och det passar vanligtvis 10 till 100 exempel. Större värden på K resulterar ofta i bättre resultat, men inte alltid, vilket är varför när modellen har en testuppsättning och en separat utvecklingsuppsättning tillgänglig, experimenterar modellen med några värden på K på utvecklingsuppsättningen och baserat på resultaten kör den det bästa värdet på testuppsättningen.
Dessutom, på uppgifter som kräver att välja en korrekt slutförande från flera alternativ, tillhandahåller utvecklarna K exempel på korrektur och kontextslutförande, och följer sedan upp med att tillhandahålla ett exempel på kontext endast, och uppgifterna jämförs sedan baserat på LM-sannolikheten för varje slutförande.
För uppgifter som kräver fri-form-slutförande använder modellen strålsökning med identiska parametrar som används i RSR-ramverket, med en strål av längd 4 och en straffavgift på 0,6. Modellen poängsätts sedan med antingen F1-likhetspoäng, exakt match eller BLEU, beroende på standarden för datasetet.
Resultat

Ovanstående figur visar träningskurvorna för de 8 modellerna som användes i GPT-3-modellarkitekturen, som beskrivs i tidigare avsnitt. Liknande resultaten från KMH-språkmodellen följer GPT-3-modellens prestanda en ordentlig lag som använder träningsberäkning effektivt. Det finns en liten skillnad från lagen när trenden utvidgas med två fler storleksordningar.
Innan utvärderingen av de 8 olika modellerna på ett brett utbud av träningsdata grupperas dataseten i 8 olika kategorier som representerar liknande uppgifter. Dessa kategorier är
- Utvärdering på traditionella språkmodelleringuppgifter och uppgifter som liknar språkmodellering, som Cloze-uppgifter eller mening-/paragrafslutförandeuppgifter.
- Utvärdering på “stängd bok”-frågesvarsuppgifter.
- Utvärdering av modellens förmåga att översätta mellan språk (särskilt en-skott och få-skott).
- Utvärdering på Winograd-liknande uppgifter.
- Utvärdering på dataset som involverar sunt förnuft eller frågesvar.
- Utvärdering på läsförståelseuppgifter.
- Utvärdering på SuperGLUE-benchmark-suiten.
- Utforskning av NLI.
Språkmodellering, slutförande och Cloze-uppgifter
I detta avsnitt utvärderas GPT-3-modellens prestanda på traditionella språkmodelleringuppgifter och uppgifter som kräver förutsägelse av ett enskilt ord av intresse eller slutförande av en mening eller en paragraf eller slutförande av en text.
Språkmodellering
GPT-3-modellen beräknar nollskottsförvirringen på PTB eller Penn Tree Bank-datasetet. Modellen utelämnar Wikipedia-relaterade uppgifter eftersom det redan ingår i modellens träningsdata och en miljardordsbenchmarken utelämnas också eftersom det orsakar en betydande mängd friktion av datasetet som ligger inom träningsdata.
GPT-3-modellens största modell i GPT-3-modellarkitekturen sätter ett nytt SOTA på PTB-datasetet med en betydande marginal på 15 poäng och uppnår en förvirring på 20,50.
LAMBADA
LAMBADA-datasetet används för att testa modellens modellering av långväga beroenden i paragrafer eller texter. Det betyder att modellen tillfrågas om att förutsäga det sista ordet i en mening efter att ha läst paragrafen för kontext.

GPT-3-modellen uppnår 76% noggrannhet på LAMBADA och har en vinst på över 8% över tidigare bästa modeller. Dessutom visar LAMBADA-modellen flexibiliteten i fåskottslärande, eftersom den angrep problemet på ett klassiskt sätt med datasetet.
Dessutom, när exemplen som matas in i GPT-3-modellen modifieras på ett visst sätt, returnerar modellen en noggrannhet på över 86%, en ökning med över 18% över tidigare modeller.
Stängd bok-frågesvar
Stängd bok-frågesvar är ett försök att mäta GPT-3-modellens förmåga att svara på frågor baserat på bred faktakunskap. Eftersom sådana frågor ofta har ett stort antal möjliga frågor, utförs uppgiften vanligtvis med hjälp av ett informationsåtervinningssystem som tillåter modellen att hitta relevant text i kombination med modellen som lär sig att generera ett svar till en fråga, given den återvunna texten och frågan.

Ovanstående bild jämför resultatet för GPT-3-modellen jämfört med olika modeller och som körs på olika dataset. På TriviaQA-datasetet uppnår modellen en noggrannhetspoäng på 64,3% i nollskottinställningen, medan den uppnår en noggrannhetspoäng på 68% och 71,2% i en-skott och få-skott-inställningar, respectively.
Det kan tydligt ses att GPT-3-modellen i nollskottinställningen överträffar den finjusterade T5-11B-modellen med över 14%.

Ovanstående figur visar att GPT-3-modellens prestanda växer jämnt med en ökning av modellstorleken. Prestandan tyder på att språkmodellerna fortsätter att lära sig från datasetet när deras kapacitet ökar.
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 utöka gränserna för vad en språkmodell kunde göra. Det var utvecklingen som gjordes och hinder som övervanns av GPT-3 som banade väg för den mest avancerade och exakta stora språkmodellen hittills, GPT-4.












