Kunstmatige intelligentie
GPT-3 : Few Shot Learning voor Taalmodellen?

In de afgelopen jaren heeft de AI- en ML-industrie een spectaculaire groei meegemaakt in de ontwikkeling en toepassing van NLP-systemen, aangezien onderzoekers NLP-praktijken op een zeer flexibele en taakagnostische manier hebben kunnen implementeren voor downstream-overdrachtstaken.
Aanvankelijk waren het enkel-laagsrepresentaties die woordvectoren gebruikten en vervolgens naar de taakspecifieke architectuur werden doorgevoerd. Vervolgens was het de RNN-architectuur die multi-laagsrepresentaties en contextuele status gebruikte om betere representaties te vormen. En meest recentelijk hebben we de transfer-taalmodellen of voorafgetrainde recursieve modellen, die de behoefte aan taakspecifieke architectuur volledig hebben weggenomen door deze netwerken fijn af te stemmen.
De transfer-taalmodellen hebben zich bewezen als een belangrijke keerpunt in de NLP-industrie, aangezien ze hebben geleid tot een enorm vooruitgang op uitdagende taken zoals het beantwoorden van vragen, het lezen van begrijpende teksten of tekstblokken, tekstuele implicatie en veel meer.
Echter, ondanks hun voordelen, hebben transfer-taalmodellen een belangrijke beperking, aangezien ze taakspecifieke fijnafstelling of een taakspecifieke dataset vereisen om de gewenste prestaties op een taak te bereiken. Bovendien vereisen transfer-taalmodellen ook dat ontwikkelaars de datasets fijn afstemmen op honderdduizenden voorbeelden die specifiek zijn voor een bepaalde taak.
Het spreekt voor zich dat het verwijderen van de behoefte aan een taakspecifieke dataset en taakspecifieke fijnafstelling zeer wenselijk en gunstig zou zijn voor de NLP-industrie om talloze redenen.
Problemen met bestaande vooraf getrainde transfer-taalmodellen of recursieve modellen
- Beperking van de praktische toepasbaarheid
Allereerst beperkt de behoefte aan een grote dataset met gelabelde gegevens voor elke taak de toepasbaarheid en praktische bruikbaarheid van de taalmodellen. Taalmodellen vinden hun toepassing in een breed scala aan taken, van het genereren van een kort verhaal tot het corrigeren van grammaticale fouten, tot het genereren van voorbeelden over een concept. Soms is het een moeilijke taak om een grote begeleide dataset met gelabelde gegevens te verzamelen, vooral wanneer dit proces moet worden herhaald voor elke afzonderlijke taak.
- Uitbuiten van spurious correlaties in de trainingsgegevens
Beperkingen en smalheid van de trainingsverdeling, gecombineerd met de expressiviteit van het model, kunnen leiden tot een fundamentele toename van het potentieel om spurious correlaties in de trainingsgegevens uit te buiten. Het potentieel om de trainingsgegevens uit te buiten kan problemen veroorzaken tijdens de fijnafstelling en het vooraf trainen, omdat de transfer-taalmodellen zijn ontworpen om een grote hoeveelheid informatie te absorberen tijdens het vooraf trainen.
Bovendien heeft onderzoek naar eerdere modellen aangetoond dat grote modellen niet altijd tot betere resultaten leiden buiten de distributie van de trainingsgegevens. Bovendien is het ook aangetoond dat de generalisatie die onder een dergelijk paradigma wordt bereikt, kan leiden tot slechte prestaties, voornamelijk omdat het model zeer specifiek is voor de trainingsgegevens en niet goed presteert in situaties buiten de reikwijdte van de trainingsgegevens.
- Vergelijking met menselijk leren
Ten slotte, in vergelijking met transfer-taalmodellen, hebben mensen geen grote trainingsdataset nodig om de meeste taaltaken te leren. Meestal is een korte richtlijn in iemands natuurlijke taal of een kleine demonstratie van de taak voldoende voor een mens om de taak te begrijpen en uit te voeren met een zeker niveau van concurrentie.
De mogelijkheid van mensen om aan te passen heeft talloze praktische voordelen, aangezien het hen in staat stelt om tussen verschillende vaardigheden te schakelen of ze te combineren om beter te presteren tijdens een dialect, iets dat buiten de mogelijkheden van de huidige NLP-systemen ligt.
Oplossing van de problemen met meta-leren en GPT-3
Een mogelijke oplossing voor de bovengenoemde uitdagingen is het gebruik van meta-leren, een concept in de moderne ML dat een model in staat stelt om een bredere en grotere set vaardigheden en patronen te ontwikkelen tijdens het trainen, en deze geleerde vaardigheden vervolgens gebruikt om snel aan te passen of de benodigde taak te herkennen.
Meta-leren wordt geïmplementeerd in de taalmodelarchitectuur via een techniek genaamd “in-context leren” die de tekstinput van een vooraf getraind taalmodel als taakspecificatie gebruikt. In het proces wordt het model voorwaardelijk gemaakt voor een natuurlijke taal instructie en kan het zelfs een paar demonstraties gebruiken, en het model wordt vervolgens verwacht om de rest van de taak te voltooien door de volgende stappen te voorspellen.
Het enige grote probleem met meta-leren is dat, hoewel het een positief potentieel heeft getoond, het nog steeds inferieur is aan de fijnafstellingbenadering in de natuurlijke taalarchitectuur, en dat het verdere verbetering nodig heeft om een praktische methode te worden voor het overwinnen van taaltaken.
Naast meta-leren is een andere methode die populariteit wint het vergroten van de capaciteit van transformer-taalmodellen. In de afgelopen jaren hebben transfermodellen een aanzienlijke toename van hun capaciteit meegemaakt, met de RNNS18-model met 100 miljoen parameters, het DCLT18-model met 300 miljoen parameters, het RWC19-model met 1,5 miljard parameters, het SSP19-model met 8 miljard parameters, het RSR19-model met 11 miljard parameters en het TUR20-model met 17 miljard parameters.
Het vergroten van de capaciteit van het model of het vergroten van de parameters heeft historisch gezien geleid tot verbeteringen in tekstsynthese, en er is een indicatie dat logverlies, dat correleert met downstreamtaken, ook een gladde trend van verbetering volgt met de schaal.
Dat brengt ons bij het GPT-3-model, dat meer dan 175 miljard parameters heeft, en dat, toen het werd gelanceerd, het transfer-taalmodel met de hoogste capaciteit was. Laten we nu praten over het GPT-3-model.
Inleiding tot het GPT-3-model
Het GPT-3-model is een auto-agressief taalmodel met meer dan 175 miljard parameters, dat in 2020 door OpenAI is uitgebracht. Het GPT-3-model wordt ook geclassificeerd als een groot taalmodel dat, net als zijn voorganger het GPT-2-model, een decoder-only diepe leertransformermodel is dat een convolution-gebaseerde architectuur gebruikt om tekstuele gegevens te genereren.
Het GPT-3-model meet zijn eigen context-leren capaciteiten en het GPT-3-model wordt geëvalueerd op meer dan twee dozijn NLP-datasets en meerdere nieuwe taken. Voor elke afzonderlijke taak wordt het GPT-3-model geëvalueerd onder drie voorwaarden,
- Few Shot Learning of In-Context Learning: In few shot learning, staat het GPT-3-model toe dat zoveel distributies worden gebruikt die goed in het contextvenster van het model passen.
- One Shot Learning: In one shot learning, staat het model toe dat slechts één demonstratie wordt gebruikt.
- Zero Shot Learning: In zero shot learning, zijn er geen demonstraties en wordt er alleen een natuurlijke taal instructie aan het model gegeven.

In het algemeen bereikt het GPT-3-model de gewenste prestaties in zero-shot- en one-shot-instellingen en in de few-shot-instelling overtreft het de state-of-the-art transfermodellen meestal.

GPT-3-model: benadering
Het GPT-3-model gebruikt een conventionele vooraftrainingsbenadering die bestaat uit model, gegevens en trainen, en het lijkt op de vooraftrainingsproces van het RWC-19 transfer-taalmodel.
Het model gebruikt ook een in-context lerenbenadering die opnieuw lijkt op de RWC-19-modelbenadering, maar dingen een beetje aanpast door systematisch verschillende instellingen te onderzoeken voor het leren van patronen binnen de context van de dataset.
Laten we beginnen met het onderzoeken van deze instellingen en evalueren hoe het GTP-3-model presteert op verschillende instellingen.
Fijnafstelling
Het fijn afstellen van het model is de conventionele benadering in transfer-taalmodellen en deze benadering omvat het bijwerken van de gewichten van een vooraf getraind model door het model te trainen op een begeleide dataset die specifiek is voor de gewenste taak, en honderdduizenden gelabelde voorbeelden worden gebruikt tijdens het proces.
De fijnafstellingbenadering is gunstig omdat het een sterke prestatie oplevert op talloze benchmarks.
Het huidige bereik van het GPT-3-model implementeert de fijnafstellingbenadering niet vanwege zijn taakagnostische prestaties, hoewel fijnafstelling in de toekomst aan het GPT-3-model kan worden toegepast.
Few Shot
Few Shot is een term die verwijst naar de instelling waarin het GPT-3-model een paar demonstraties van de taak krijgt tijdens de interferentie als voorwaardelijke voorwaarde, maar de gewichten van het model worden niet bijgewerkt.
In de few-shot-instelling heeft de dataset typisch een voorbeeld met een context en een gewenste voltooiing (bijvoorbeeld een Franse zin en zijn Engelse vertaling).
Het grote voordeel van het gebruik van de few-shot-instelling is dat het de behoefte aan taakspecifieke gegevens aanzienlijk vermindert en ook de mogelijkheid vermindert om een smalle distributie te leren uit een grote dataset die smal is afgesteld.
Aan de andere kant is het grote nadeel van het gebruik van few-shot-leren dat de resultaten die in de few-shot-instelling worden geleverd, niet op peil zijn en aanzienlijk slechter zijn in vergelijking met andere state-of-the-art-modellen die zijn afgesteld.
One Shot
In de one-shot-instelling wordt het model slechts één demonstratie gegeven en de rest is vergelijkbaar met de few-shot-instelling.
De reden waarom de one-shot-instelling relevant is in transfer-taalmodellen is dat het de manier waarop taken aan mensen worden gecommuniceerd, het beste benadert.

De bovenstaande figuur vergelijkt de few-shot-, one-shot- en zero-shot-instelling bij het uitvoeren van een natuurlijke taaltaak van het nemen van een Engelse zin en deze vertalen naar het Frans.
GPT-3: modelarchitectuur
Het GPT-3-model gebruikt dezelfde architectuur als die gebruikt wordt in het GPT-2-model en het omvat pre-normalisatie, gemodificeerde initialisatie en reversible tokenisatietechnieken zoals die werden gebruikt op het GPT-model, met uitzondering van het gebruik van een alternatieve strategie voor lokaal gebonden sparse aandachtspatronen en alternerende dichte lagen in de transformerlagen, vergelijkbaar met Sparse Transformer.
Om de afhankelijkheid van de prestaties van het model van de modelgrootte te bestuderen, hebben de ontwikkelaars 8 verschillende modelgroottes getraind die variëren over drie verschillende orden van grootte, van 125 miljoen tot meer dan 175 miljard parameters, waarvan de laatste het GPT-3-model wordt genoemd.

De bovenstaande figuur vergelijkt de grootte en architectuur van de 8 verschillende modellen die worden gebruikt voor de ontwikkeling van GPT-3.
Verder wordt het model opgedeeld over de GPUs langs de diepte en breedte van de dimensies om de overdracht van gegevens tussen de knooppunten te minimaliseren.
Trainingsgegevens
Typisch gebruiken grote taalmodellen datasets die aanzienlijk zijn uitgebreid met recente ontwikkelingen en die resulteren in de Common Crawl-dataset, die bestaat uit meer dan een triljoen verschillende woorden.
De grootte van de dataset is voldoende om het GPT-3-model te trainen zonder het opnieuw bij te werken op dezelfde reeks meerdere keren.
Om het probleem van de gemiddelde kwaliteit van de dataset aan te pakken, hebben de ontwikkelaars drie stappen genomen om de kwaliteit van de dataset te verbeteren.
- De ontwikkelaars hebben een versie van de Common Crawl-dataset gedownload en gefilterd op basis van een bereik vergelijkbaar met hoogwaardige referentiecorpora.
- De ontwikkelaars hebben fuzzy duplicatie op documentniveau uitgevoerd over de dataset in een poging om de integriteit van hun gehouden validatieverzameling te behouden als een effectieve maatstaf voor overfitting en om redundantie te voorkomen.
- De ontwikkelaars hebben ook hoogwaardige referentiecorpora toegevoegd aan de trainingsgegevens om de Common Crawl-dataset aan te vullen en de diversiteit van de dataset verder te vergroten.
De volgende figuur toont de definitieve verhouding of mengsel van de datasets die worden gebruikt voor het trainen van het GPT-3-model.

Een aanzienlijke zorg met grote taalmodellen die zijn voorgetraind op een grote hoeveelheid internetgegevens met de capaciteit om een grote hoeveelheid inhoud te memoriseren en te leren, is het potentieel voor verontreiniging van downstream-taken door hun ontwikkel- of testsets te zien tijdens het vooraf trainen.

De bovenstaande afbeelding toont de totale berekening die tijdens het trainen van het GPT-3-model wordt gebruikt.
Evaluatie
Voor few-shot-leren, evalueert het model elke voorbeeld in de evaluatiegegevens door K voorbeelden willekeurig te trekken uit de trainingsdataset van die taak als voorwaardelijke voorwaarde en deze te beperken met 1 of 2 nieuwe regels, afhankelijk van de taak.
K kan elke waarde zijn, variërend van 0 tot het maximum aantal dat is toegestaan door het contextvenster van het model, dat next = 2048 is voor alle modellen, en het past typisch 10 tot 100 voorbeelden.
Resultaten

De bovenstaande figuur toont de trainingscurves voor de 8 modellen die in de GPT-3-modelarchitectuur worden gebruikt, zoals beschreven in de voorgaande secties.
Slotgedachten
Het zou veilig zijn om te zeggen dat GPT-3 een revolutionaire fase was in de LLM-industrie, aangezien GPT-3 hielp om de grenzen van wat een taalmodel kon doen, te verleggen.












