stub GPT-3: Få skottinlärning för språkmodell? - Unite.AI
Anslut dig till vårt nätverk!

Artificiell intelligens

GPT-3: Få skottinlärning för språkmodell?

mm

publicerade

 on

Under de senaste åren har AI- och ML-industrin sett en hastig ökning av utvecklingen och tillämpningen av NLP-systemen eftersom forskare har kunnat implementera NLP-praxis på mycket flexibla och uppgiftsagnostiska sätt för nedströmsöverföring av uppgifter. 

Till en början var det enskiktsrepresentationerna som använde ordvektorer och matades sedan till den uppgiftsspecifika arkitekturen. Därefter var det RNN-arkitekturen som använde flerskiktsrepresentationer och kontextuellt tillstånd för att bilda bättre representationer. Och nu senast har vi överföringsspråksmodellerna eller förutbildade återkommande modeller som helt har tagit bort behovet av uppgiftsspecifika arkitekturer genom att finjustera dessa nätverk. 

Överföringsspråksmodellerna har visat sig vara en stor vändpunkt i NLP-branschen eftersom de har resulterat i enorma framsteg när det gäller utmanande uppgifter som att svara på frågor, läsförståelse eller textblock, textinneslutning och mycket mer. 

Men trots sina fördelar har överföringsspråkmodeller en stor begränsning eftersom de kräver uppgiftsspecifik finjustering eller uppgiftsspecifik datauppsättning för att uppnå önskad prestanda på en uppgift. Dessutom kräver överföringsspråkmodeller också utvecklare att finjustera datamängderna till hundratusentals exempel specifika för en viss uppgift. 

Det säger sig självt att ta bort kravet på uppgiftsspecifik datauppsättning och uppgiftsspecifik finjustering kommer att vara mycket önskvärt och fördelaktigt för NLP-branschen av många skäl. 

Problem med befintliga förutbildade överföringsspråkmodeller eller återkommande modeller

  • Begränsning av praktisk och användbarhet

Först och främst begränsar kravet på en stor datamängd med märkta data för varje uppgift språkmodellernas tillämplighet och praktiska funktion. Språkmodeller kan användas i en mängd olika uppgifter, från att skapa en novell, till att korrigera grammatiska fel, till att generera exempel på ett koncept. Ibland är det en utmanande uppgift att samla in en stor övervakad datauppsättning med märkt data, särskilt när processen behöver upprepas för varje enskild uppgift. 

  • Utnyttja falska korrelationer i träningsdata

Begränsningar och trånghet i träningsfördelningen i kombination med modellens uttrycksfullhet kan resultera i en fundamental tillväxt i potential att utnyttja falska korrelationer i träningsdata. Potentialen att utnyttja träningsdata kan resultera i problem under finjusterings- och förträningsparadigmet eftersom överföringsspråksmodellerna är utformade på ett sätt att absorbera en stor mängd information under förträningen. 

Dessutom har arbetet med tidigare modeller visat att stora modeller inte leder till bättre distribution varje gång. Dessutom har det också indikerats att generalisering som uppnås under ett sådant paradigm kan resultera i dåliga prestationer främst på grund av att modellen är mycket specifik för träningsdata och inte kan prestera bra i situationer utanför träningsdatans omfattning. 

  • Jämförelse med mänskligt lärande

Slutligen, jämfört med överföringsspråkmodeller, behöver människor inte en stor träningsdatauppsättning när det gäller att lära sig de flesta språkuppgifter. Oftast är ett kort direktiv på en persons naturliga språk eller en liten demonstration av språkuppgiften tillräcklig för att en människa ska förstå och utföra en språkuppgift med en viss konkurrenskraft. 

Människans förmåga att anpassa sig har många praktiska fördelar eftersom den gör det möjligt för dem att antingen växla mellan olika färdigheter eller blanda dem för att bättre prestera under en dialekt, något som är bortom kapaciteten hos de nuvarande NLP-systemen. 

Ta itu med problemen med Meta Learning & GPT-3

En möjlig lösning på ovanstående utmaningar är användningen av meta-inlärning, ett koncept i modern ML som gör det möjligt för 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äning, och sedan använder dessa inlärda förmågor under interferens för att anpassa sig snabbt, eller känna igen den nödvändiga uppgiften. 

Meta Learning implementeras i språkmodellarkitektur via en teknik som kallas "inlärning i sammanhang” som använder textinmatning av en förtränad språkmodell som uppgiftsspecifikation. I processen förutsätter modellen en naturlig språkinstruktion och kan till och med 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 Learning är att även om det har visat positiv potential, är det fortfarande sämre än finjusteringsmetoden inom naturlig språkarkitektur, och den behöver förbättras ytterligare för att bli en praktisk metod för att övervinna språkuppgifter. 

Förutom meta-inlärning är en annan metod som vinner popularitet att öka kapaciteten hos transformatorspråkmodeller. Under de senaste åren har överföringsmodeller sett en avsevärd ökning av sin kapacitet med RNSS18 modell med 100 miljoner parametrar, den DCLT18 modell med 300 miljoner parametrar, den RWC19 modell med 1.5 miljarder parametrar, den SSP19 modell med 8 miljarder parametrar, den RSR19 modell med 11 miljarder parametrar, och TUR20 modell med 17 miljarder parametrar. 

Att öka modellens kapacitet eller öka parametrarna har historiskt resulterat i förbättringar i textsyntesen, och det har funnits en indikation på att loggförlust, som korrelerar med nedströmsuppgifter, också följer en jämn trend att förbättras med skalan. 

Det för oss till GPT-3-modellen som har över 175 miljarder parametrar, och när den lanserades var det överföringsspråkmodellen med högst kapacitet. 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 klassas också som en stor språkmodell som precis som sin föregångare GPT-2-modellen är en transformatormodell för djupinlärning endast avkodare som använder faltningsbaserad arkitektur för att generera textdata. 

GPT-3-modellen mäter sina egna kontextinlärningsförmåga, och GPT-3-modellen utvärderas på över två dussin NLP-datauppsättningar och flera nya uppgifter. För varje enskild uppgift utvärderas GPT-3-modellen under tre förhållanden,

  • Få Shot Learning eller In-Context Learning: I få skottinlärning 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 noll shot-inlärning finns det inga demonstrationer, och det finns bara en instruktion på naturligt språk som matas till modellen. 

I stort sett GPT-3 modell uppnår önskad prestanda i noll- och one-shot-inställningar, och i få-shot-inställningen överträffar den de senaste överföringsmodellerna för det mesta. Dessutom presterar GPT-3-modellen bra i engångs- och nolltagningsinställningar vid naturliga språkuppgifter som är utformade för att testa resonemang i farten, eller kräver snabb uppmärksamhet som att använda nya ord efter en mening, eller avkoda ord eller utföra aritmetik operationer. Å andra sidan, när GPT-3-modellen används i en miljö med få bilder, genererar den syntetiska nyhetsartiklar som liknar mänskligt skrivande när den passeras genom mänskliga utvärderare. 

GPT-3 Modell: Approach

GPT-3-modellen använder en konventionell förträningsmetod som omfattar modell, data och träning, och den liknar förträningsprocessen som följs av RWC-19-överföringsspråkmodellen. GPT-3-modellen skalar upp modellstorleken, datasetstorleken, mångfalden av datamängden och ökar längden på träningsperioden. 

Modellen använder också en inlärningsmetod i sammanhanget som återigen liknar RWC-19-modellens tillvägagångssätt, men justerar lite genom att systematiskt utforska olika inställningar för inlärningsmönster inom ramen för datasetet. 

Så låt oss börja med att utforska dessa inställningar och utvärdera hur GTP-3-modellen presterar på olika inställningar. 

Finjustering

Att finjustera modellen har varit den konventionella metoden för överföring språkmodeller, och detta tillvägagångssätt innebär uppdatering av vikterna för en förtränad modell genom att träna modellen på en övervakad datauppsättning som är specifik för den önskade uppgiften, och hundratusentals märkta exempel används under processen. 

Finjusterande tillvägagångssätt är fördelaktigt eftersom det ger stark prestanda över många riktmärken. Å andra sidan är den huvudsakliga begränsningen med att använda finjusteringsmetoden att den kräver en ny och stor datamängd för varje enskild uppgift, har potential att utnyttja falska funktioner i träningsuppsättningen, kan potentiellt resultera i orättvis jämförelse med mänsklig prestation , och dålig generalisering för out-of-distribution. 

Den nuvarande omfattningen av GPT-3-modellen implementerar inte finjusteringsmetoden på grund av dess uppgifts-agnostiska prestanda, även om finjustering kan tillämpas på GPT-3-modellen i framtiden. 

Få skott

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 konditionering, men modellens vikter uppdateras inte. I de få inspelningsinställningarna har datasetet vanligtvis ett exempel med ett sammanhang och en önskad komplettering (till exempel en fransk mening och dess engelska översättning). Inställningen få skott ger modellen K exempel på sammanhang och komplettering, och den förser sedan modellen med ett sista sammanhang och förväntar sig att modellen ska tillhandahålla kompletteringen. 

Den stora fördelen med att använda inställningen få skott är att det avsevärt minskar behovet av uppgiftsspecifika data, och även minskar möjligheten att lära sig en smal fördelning från en stor datamängd som är smalt finjusterad. Å andra sidan är den stora nackdelen med att använda få skott-inlärning att resultaten som levereras i få skott-inställningen inte är upp till märket och avsevärt dåliga jämfört med andra toppmoderna modeller som är finjusterade. 

One Shot

I ett skott-inställningen är modellen endast försedd med en enda demonstration, och resten liknar inställningen för få skott. Anledningen till att en shot-inställning är relevant i överföringsspråkmodeller är att av alla tre inställningarna är en shot den som liknar det sätt på vilket uppgifter kommuniceras till människor bäst. Det beror på att det i de flesta av uppgifterna är vanligt att ge en demonstration av uppgiften, annars kan det vara svårt att förstå sammanhanget för uppgiften. 

Noll skott

I nollskottsinställningen finns inga demonstrationer, och modellen ges en naturlig språkinstruktion som beskriver uppgiften. Nollskottsmetoden är den som erbjuder maximal bekvämlighet, är robust och även undviker falska korrelationer, men det är också den mest utmanande av alla tre inställningarna. Det beror på att det i vissa fall är svårt även för oss människor att ta reda på sammanhanget för en uppgift utan att först se en demonstration. 

Oavsett, för vissa uppgifter är noll-shot-inställningen den som liknar hur människor utför naturliga språkuppgifter närmast. 

Ovanstående figur jämför inställningen för få skott, one shot och noll shot när man utför en naturlig språkuppgift 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 förnormalisering, modifierad initiering och reversibla tokeniseringstekniker som de användes på GPT-modellen med undantag för att använda en alternativ strategi för lokalt bandade glesa uppmärksamhetsmönster och alternerande täta lager i transformatorlagren, liknande Sparse Transformer. 

För att studera beroendet av modellens prestanda på 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 kallas GPT-3-modellen . Tidigare arbete relaterat till LLM-modeller har indikerat att skalning av valideringsförlust med en tillräcklig mängd träningsdata bör vara en ungefärlig jämn kraftlag som en funktion av storlek. Utbildningsmodeller av varierande storlek tillåter utvecklare att testa hypotesen för både nedströms språkuppgifter och för valideringsförlust. 

Ovanstående figur jämför storleken och arkitekturen för de 8 olika modellerna som används för utveckling av GPT-3. Här definierar n(params) det totala antalet träningsbara 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 måtten på varje uppmärksamhetshuvud. Kontextfönstret för varje modell är detsamma med 2048 tokens. 

Dessutom, för att minimera överföringen av data mellan noderna, är modellen uppdelad över GPU:erna längs dimensionernas djup och bredd. De arkitektoniska parametrarna för varje modell har valts på basis av beräkningseffektivitet och lastbalansering för att maximera precisionen i layouten av modeller över GPU:er. 

Träningsdatauppsättningar

Vanligtvis använder de stora språkmodellerna datamängder som har utökats avsevärt med den senaste utvecklingen, och de kulminerar i Common Crawl-dataset som består av över en biljon olika ord. Datauppsättningens storlek är tillräcklig för att träna GPT-3-modellen utan att uppdatera på samma sekvens flera gånger. Studier och prestandaanalyser indikerar dock att lätt filtrerade versioner eller ofiltrerade versioner av Common Crawl-datauppsättningen har låg kvalitet jämfört med mer kurerad datauppsättning. 

För att ta itu med frågan om den genomsnittliga kvaliteten på datamängden tog utvecklarna tre steg för att öka kvaliteten på datasetet. 

  1. Utvecklare laddade ner och filtrerade en version av Common Crawl-datauppsättningen baserad på ett intervall som liknar högkvalitativa referenskorpora. 
  2. Utvecklare utförde suddig duplicering på dokumentnivå över datamängden i ett försök att bevara integriteten hos deras uthållna valideringsuppsättning som ett effektivt mått på överanpassning, och även för att förhindra redundans. 
  3. Utvecklare lade också till högkvalitativa referenskorpora till träningsdatan för att utöka datauppsättningen Common Crawl och för att ytterligare öka mångfalden av datauppsättningen. 

Följande figur visar den slutliga andelen eller blandningen av datamängderna som används för att träna GPT-3-modellen. Common Crawl-data bestod av över 45 TB klartext före filtrering som reducerades till 570 GB data efter filtrering, ungefär motsvarande över 400 miljarder byte-par kodade tokens. Det är värt att notera att datamängder i utbildningen som ses som högre kvalitet samplas med mer frekvens istället för att sampla datasetets proportion till deras storlek. Som ett resultat samplas datauppsättningar som Books2 och Common Crawl mindre än en gång under träningen, medan de andra datauppsättningarna samplas flera gånger. Det tillåter modellen att acceptera en liten mängd överpassning i utbyte mot träning på träningsdata med högre kvalitet. 

Ett betydande problem 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 testset ses under pre- utbildningsprocessen. För att minska sådan potentiell kontaminering sökte utvecklarna efter eventuella överlappningar med test- och utvecklingsuppsättningarna för de riktmärken som studerades för GPT-3, och försökte ta bort dessa överlappningar. 

Bilden ovan visar den totala beräkningen som användes under träningen av GPT-3-modellen. Modellen använder skalningslagar för neurala språkmodeller för att träna mycket större modeller på färre tokens än normalt. Som ett resultat tog 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äkning under förträningsprocessen. 

Utvärdering

För få skottinlärning utvärderar modellen varje exempel som finns i utvärderingsdatauppsättningen genom att dra K-exempel slumpmässigt från den uppgiftens träningsdatauppsättning som konditionering, och avgränsar den med 1 eller 2 nyrader beroende på uppgiften. För Storycloze och LAMBADA, drar modellen konditioneringsexempel från utvecklingsuppsättningen och utvärderar den på testsetet på grund av att en övervakad träningsuppsättning inte är tillgänglig. För Winograd finns det bara en datauppsättning, så konditioneringsproverna dras direkt från den. 

K kan vara vilket värde som helst som sträcker sig från 0 till det maximala belopp som tillåts av modellens kontextfönster som är next = 2048 för alla modeller, och det passar vanligtvis cirka 10 till 100 exempel. Större värden på K ger ofta bättre resultat, men inte alltid, vilket är anledningen till att när modellen har en testuppsättning och en separat utvecklingsuppsättning tillgänglig, experimenterar modellen med några få värden på K på utvecklingsuppsättningen, och baserat på resultaten , kör den det bästa värdet på testsetet. 

Vidare, på de uppgifter som kräver att man väljer ett korrekt slutförande från flera alternativ, tillhandahåller utvecklarna K exempel på korrigering plus kontextslutförande, och följer upp det genom att endast tillhandahålla ett exempel på sammanhang, och uppgifterna jämförs sedan på basis av LM-sannolikhet av varje slutförande. För uppgifter som kräver binär klassificering ger modellerna ofta alternativ mer semantiskt, och med mer meningsfulla namn, och behandlar sedan uppgiften som flerval, och ramar ibland också in uppgiften liknande det som görs av RSR-modellen & arkitekturen. 

För de uppgifter som kräver komplettering i fritt format använder modellen strålsökning med identiska parametrar som används i RSR-ramverket, med en stråle av längd 4 och en straffavgift på 0.6. Modellen poängsätts sedan med antingen F1 likhetspoäng, exakt matchning eller BLEU, beroende på standarden för datasetet. 

Resultat

Ovanstående figur visar träningskurvorna för de 8 modellerna som används i GPT-3-modellarkitekturen, enligt beskrivningen i föregående avsnitt. I likhet med resultaten från KMH-språkmodellen följer prestandan för GPT-3-modellen en korrekt lag när man använder träningsberäkning på ett effektivt sätt. Det finns en liten skillnad från lagen endast när trenden förlängs med ytterligare två storleksordningar. Det kan komma upp för människor att förbättringarna i kors-entropiförlust kan vara ett resultat av modellering av falska detaljer i träningskorpusen. Förbättringarna i kors-entropiförlusten leder dock till konsekventa vinster i den totala prestandan över ett brett spektrum av en mängd olika NLP-uppgifter. 

Innan de 8 olika modellerna utvärderas på ett brett utbud av träningsdata, grupperas datamängderna i 8 olika kategorier som representerar liknande uppgifter. Dessa kategorier är

  1. Utvärdering av traditionella språkmodelleringsuppgifter och uppgifter som liknar språkmodellering som Cloze-uppgifter, eller uppgifter för att slutföra mening/stycke. 
  2. Utvärdering av "sluten bok" frågesvarsuppgifter. 
  3. Utvärdera modellens förmåga att översätta mellan språk (särskilt one-shot och few-shot)
  4. Utvärdera modellens prestanda på Winograd Schema-liknande uppgifter. 
  5. Utvärdera på datamängder som involverar sunt förnuft eller svar på frågor. 
  6. Utvärdera på läsförståelseuppgifter. 
  7. Utvärderar på SuperGLUE benchmark suite. 
  8. Utforskar NLI. 

Språkmodellering, slutförande och Cloze-uppgifter

I det här avsnittet utvärderas GPT-3-modellens prestanda på de traditionella språkmodelleringsuppgifterna såväl som uppgifter som kräver förutsägelse av ett enstaka ord av intresse, eller att slutföra ett stycke eller en mening, eller att slutföra en del av en text. Låt oss diskutera dem i kort detalj. 

Språkmodellering

GPT-3-modellen beräknar noll-shot förvirring på PTB eller Penn Tree Bank dataset. Modellen utelämnar Wikipedia-relaterade uppgifter eftersom den redan är inkluderad i modellens träningsdata, och riktmärket på en miljard ord utelämnas också eftersom det orsakar en betydande mängd friktion av datamängden som finns i träningsdatan. Men PTB-datauppsättningen hanterar dessa problem eftersom den kan föregå det moderna internet. Den största modellen i GPT-3-modellarkitekturen har en ny SOTA på PTB-datauppsättningen med en anmärkningsvärd marginal på 15 poäng, och uppnår en förvirring på 20.50. 

Lambada

LAMBADA-datauppsättningen används för att testa modelleringen av modellen på långväga beroenden i stycken eller texter. Det innebär att modellen uppmanas att förutsäga det sista ordet i en mening efter att ha läst stycket för sammanhanget. Dessutom ger den kontinuerliga skalningen av språkmodellerna minskande avkastning på riktmärket. 

GPT-3-modellen uppnår 76 % noggrannhet på LAMBADA och har en vinst på över 8 % jämfört med tidigare bästa modeller. Dessutom demonstrerar LAMBADA-modellen flexibiliteten hos få-shot-inlärning eftersom den åtgärdade problemet på ett sätt som förekommer klassiskt med datasetet. Fullbordandet av en mening i LAMBADA är vanligtvis det sista ordet i meningen, men eftersom en språkmodell inte kan veta det, tilldelar den en sannolikhet inte bara till det korrekta slutet, utan även till andra fortsättningar i stycket. 

Dessutom, när exemplen som matas till GPT-3-modellen modifieras på ett visst sätt, ger modellen en noggrannhet på över 86 %, en ökning med över 18 % jämfört med tidigare modeller. Dessutom indikerade resultaten också att prestandan hos modellen i en få-shot-inställning ökar proportionellt med ökningen i modellstorlek. Även om denna strategi minskar den minsta modellen i GPT-3-arkitekturen med 20 %, ökar den noggrannheten hos den primära GPT-3-modellen med 175 miljarder parametrar med 10 %. 

Svara på frågor med sluten bok

Closed Book Question Answering är ett försök att mäta GPT-3-modellens förmåga att svara på frågor utifrån bred faktakunskap. Eftersom sådana frågor ofta har en stor mängd möjliga frågor, uppnås uppgiften normalt med hjälp av ett informationshämtningssystem som gör att modellen kan hitta relevant text i kombination med modellen som lär sig att generera ett svar på ett svar givet den hämtade texten, och frågan. 

Ovanstående bild jämför resultatet för GPT-3-modellen jämfört med olika modeller och körs på olika datamängder. På TriviaQA-datauppsättningen uppnår modellen en noggrannhetspoäng på 64.3 % i nollskottsinställningen, medan den uppnår en noggrannhetspoäng på 68 % och 71.2 % i engångs- respektive fåtagningsinställningar. 

Det kan uppenbarligen ses att GPT-3-modellen i nollskottsläge överträffar den finjusterade T5-11B-modellen med över 14 %. 

Ovanstående figur visar att GPT-3-modellens prestanda växer smidigt med en ökning av modellstorleken. Prestandan tyder på att språkmodellerna fortsätter att lära av datasetet när deras kapacitet ökar. 

Avslutande tankar

Det skulle vara säkert att säga att GPT-3 var en revolutionerande fas i LLM-branschen eftersom GPT-3 hjälpte till att tänja på gränserna för vad en språkmodell kunde göra. Det var den utveckling som gjorts och de hinder som övervunnits av GPT-3 som banade väg för den mest avancerade och exakta stora språkmodellen hittills, GPT-4. 

"En ingenjör till yrket, en författare utantill". Kunal är en teknisk skribent med en djup kärlek och förståelse för AI och ML, dedikerad till att förenkla komplexa koncept inom dessa områden genom sin engagerande och informativa dokumentation.