Connect with us

Kunstmatige intelligentie

GLM-130B: Een open tweesprachig pre-getraind model

mm

Het GLM-130B-kader is een tweesprachig pre-getraind groot taalmodel met meer dan 130 miljard parameters dat in staat is om tekstuitvoer te genereren in zowel Engels als Chinees. Het GLM-130B-kader is een poging om een taalmodel met een schaal van meer dan 100 miljard parameters open source te maken en te bespreken hoe kaders van een dergelijke grote schaal kunnen worden pre-getraind, omdat het trainen van een model van een dergelijke grote schaal vaak wordt geconfronteerd met problemen zoals divergentie en verliespieken.

In dit artikel zullen we het hebben over het GLM-130B-kader, dat een methode probeert te ontwikkelen om grote taalmodellen met honderden miljarden parameters effectief pre-te trainen. We zullen een diepere duik nemen in de werking en architectuur van het GLM-130B-kader, evenals het trainingsproces en de ontwerpkeuzes die niet alleen helpen bij het verhogen van de efficiëntie, maar ook de stabiliteit. Aanvankelijke experimenten die zijn uitgevoerd om de werking van het GLM-130B-kader te testen op een breed scala aan Engelse benchmarks, resulteerden in het GLM-130B-model dat het huidige state-of-the-art GPT-3-kader met een aanzienlijk verschil overtrof. Laten we dus beginnen en onderzoeken hoe het GLM-130B-kader zo consistente, nauwkeurige en stabiele resultaten levert.

Een introductie tot het GLM-130B-kader

Grote taalmodellen die kunnen werken in few-shot- en zero-shot-instellingen, vooral die met meer dan 100 miljard parameters, vertonen aantrekkelijke schaalwetten, waarvan het GPT-3-kader een van de best presterende kaders is die aanzienlijke prestatie-upgrades levert ten opzichte van zijn voorganger, het BERT-kader. Echter, ondanks de populariteit van het GPT-3-kader en zijn breed toepassingsgebied, is het trainingsproces en op sommige manieren het GPT-3-kader zelf niet transparant voor het publiek. Bovendien is het empirisch opsommen van alle mogelijke ontwerpen voor het trainen van LLM’s met meer dan 100 miljard parameters computationeel niet haalbaar, waardoor het nog kritischer wordt om een pre-trainingsmethode te ontwikkelen voor grote LLM-kaders.

Het bovenstaande punt maakt het delen van de werking en het trainingsproces van high-end grote LLM-kaders zoals GPT-3 van kritieke waarde, en met de ethische bezorgdheid in gedachten, is het GLM-130B-kader een poging om een nauwkeurig en open-source LLM met meer dan 100 miljard parameters te pre-trainen. Tijdens hun poging observeerde het GLM-130B-ontwikkelteam dat het pre-trainen van een groot LLM-kader vaak wordt vergezeld van een breed scala aan technische en technische uitdagingen op het gebied van pre-trainingsstabiliteit, efficiëntie en convergentie.

Om specifieker te zijn, is de GLM-130B een bidirectioneel en tweesprachig dicht kader met meer dan 130 miljard parameters, pre-getraind op 400 miljard tokens op een cluster van 96 NVIDIA DGX-A100 GPU-knooppunten over een periode van bijna twee maanden. Bovendien gebruikt het GLM-130B-kader in plaats van de GPT-stijlarchitectuur de GLM of General Language Model-algoritme in een poging om zijn autoregressieve blanco-infilling-objectieven en het bidirectionele aandachtvoorbeeld te benutten. De volgende tabel vergelijkt het GLM-130B-kader met andere modellen met meer dan 100 miljard parameters, waaronder GPT, BLOOM-176B en OPT-175B.

De technische en ontwikkelingsconcepten die zijn betrokken bij het GLM-130B-kader presteren beter dan bijna elk groot LLM-kader, waaronder GPT-3 en PaLM 540B met meer dan 500 miljard parameters, in veel gevallen en over een breed scala aan benchmarks. De volgende figuur vergelijkt de prestaties van het GLM-130B-kader met modellen met meer dan 100 miljard parameters, en zoals te zien is, heeft het GLM-130B-kader aanzienlijk minder generatie-toxiciteit en vooroordelen dan zijn tegenhangers.

Tenslotte is de GLM-130B ontworpen om ontwikkelaars in staat te stellen onderzoek te doen naar kaders met meer dan 100 miljard parameters, en er zijn twee manieren waarop het GLM-130B-kader dit doet. Ten eerste gebruikt het GLM-130B-kader 130 miljard parameters, in plaats van 175 miljard parameters zoals BLOOM en OPT, omdat de grootte van het model interferentie ondersteunt, zelfs op een enkele A100-server. Ten tweede zijn de GPU-eisen om het GLM-130B-kader uit te voeren lager in vergelijking met andere LLM-kaders, en het GLM-130B-kader bereikt dit door het oorspronkelijke kader te quantizeren naar INT4-nauwkeurigheid. De INT4-quantizatie die wordt gebruikt door het GLM-130B-kader verbetert de prestaties terwijl een verwaarloosbare prestatiedegradatie wordt behouden.

GLM-130B : Architectuur

De inductieve bias van een machine learning-model wordt beschreven door zijn architectuur, en het is geen verrassing dat ontwikkelaars niet alle mogelijke architectuurontwerpen voor grote taalmodellen kunnen onderzoeken, gegeven de computationele haalbaarheid en levensvatbaarheid. Met dat gezegd, laten we een kijk nemen naar de architectuur van GLM-130B.

Grote LLM-kaders zoals PaLM, GPT en meer hebben meer dan 100 miljard parameters en zijn gebouwd op de conventionele decoder-only GPT-stijlarchitectuur voor autoregressieve taalmodellering. Aan de andere kant verkent het GLM-130B-kader de mogelijkheid om een bidirectioneel General Language Model of GLM te gebruiken, een transformer-gebaseerd taalmodel dat probeert autoregressieve blanco-infilling te benutten als trainingsobjectief, als zijn fundament. Kort gezegd, voor een gegeven tekstsequentie, samplet het GLM-kader de tekstspannen die vervolgens worden vervangen door een enkel masker-token.

De bidirectionele aandacht van het General Language Model over ongecorrumpeerde of ongemaskeerde contexten is wat het GLM-130B-kader onderscheidt van de GPT-stijlbenadering die gebruik maakt van een unidirectionele benadering. Bovendien om zowel generatie als begrip van gegevens te ondersteunen, combineert het GLM-kader twee corruptie-strategieën, waarvan elk wordt aangegeven met een speciaal en uniek masker-token.

  • [MASK] : [MASK] is een corruptie-strategie die korte blanco’s in zinnen gebruikt, waarvan de lengte opgeteld wordt tot een bepaald percentage van de invoer.
  • [gMASK] : [gMASK] is een corruptie-strategie die willekeurige lengte-blanco’s gebruikt naar het einde van de zin met de prefix-contexten.

De benadering die wordt gevolgd door het GLM-kader is wat het kader in staat stelt om een nauwkeurigheidsscore van meer dan 80% te behalen op zero-shot LAMBADA-taalmodellering en om zowel PaLM 540B als het GPT-3-kader te overtreffen.

Laag-normalisatie

Een van de belangrijkste uitdagingen waarmee ontwikkelaars worden geconfronteerd bij het trainen van een LLM-kader is de trainingsinstabiliteit, en het gebruik van een geschikte LN (Laag-normalisatie) kan helpen bij het trainen van LLM’s. Het GLM-130B-kader gebruikt een Post-LN-benadering dankzij zijn prestaties op downstream-taken.

FFN’s en positionele codering

Feedforward Neural Networks of FFN’s en positionele codering zijn twee benaderingen die door het GLM-130B-kader worden geadopteerd om hoge downstream-prestaties en trainingsstabiliteit te introduceren.

Pre-trainingsopstelling

De pre-trainingsobjectieven van het GLM-130B-kader omvatten niet alleen multi-task learning voor een klein aantal tokens, maar ook self-supervised GLM voor autoregressieve blanco-infilling, met de verwachting dat deze benadering het GLM-130B-kader zal helpen bij downstream-taken. Met dat gezegd, ziet de pre-trainingsopstelling van het GLM-130B-kader er als volgt uit.

Zelf-supervised blanco-infilling

Zoals al vermeld, gebruikt het GLM-130B-kader twee corruptie-strategieën, namelijk [MASK] en [gMASK], en een van deze strategieën wordt onafhankelijk toegepast op elke individuele trainingssequentie, een voor een. Voor het invullen van de blanco’s, gebruikt de [MASK]-strategie opeenvolgende blanco’s in 30% van de trainingssequentie, waarvan de lengte opgeteld wordt tot 15% van de invoer, en volgt een Poisson-verdeling. Voor de resterende 70% van de sequentie wordt de prefix van elke sequentie gehandhaafd als context, en de [gMASK]-strategie helpt bij het maskeren van de rest, en de gemaskeerde lengte wordt vervolgens bemonsterd met behulp van de uniforme verdeling.

Multi-task instructies pre-trainen

Het is aangegeven dat het volgen van een multi-task learning-benadering voor het pre-trainen van modellen betere resultaten kan opleveren dan fine-tuning, om taakoverdrachten in een zero-shot-instelling te verbeteren. Vervolgens stelt het GLM-130B-kader voor om een reeks instructie-geprompte datasets te gebruiken, waaronder taalgeneratie, -begrip en -informatie-extractie tijdens het pre-trainen.

In vergelijking met andere benaderingen voor zero-shot-taakoverdracht die gebruikmaken van multi-task-geprompte fine-tuning, houdt de multi-task instructies pre-trainingsbenadering van het GLM-130B-kader slechts 5% van het totale aantal tokens in, en wordt deze ingesteld tijdens de pre-trainingsfase in een poging om andere vaardigheden van het LLM-kader niet te bederven, of met andere woorden, onvoorwaardelijke gratis generatie.

3D-parallelle strategie

Er zijn twee feitelijke praktijken voor het trainen van grote modellen met miljarden parameters, de tensor-modelparallelisme en de dataparallelisme. In een poging om de GPU-gebruik te minimaliseren en om de immense GPU-eisen te verwerken, implementeert het GLM-130B-kader een 3D-parallelle strategie die de pijplijn-modelparallelisme-strategie combineert met de tensor-modelparallelisme- en dataparallelisme-strategieën.

GLM-130B : Trainingsstabiliteit

Trainingsstabiliteit is een belangrijke factor bij het bepalen van de kwaliteit van een LLM, en de trainingsstabiliteit wordt sterk beïnvloed door het aantal tokens dat het passeert. Bovendien is het essentieel om een evenwicht te vinden tussen stabiliteit en efficiëntie met betrekking tot floating-pointformaten, gezien de computationele beperkingen. Bijvoorbeeld, lage precisie floating-pointformaten verhogen de computationele efficiëntie, maar ze resulteren vaak in trainingscollapses, aangezien ze gevoelig zijn voor onderstroom- en overstroomfouten.

Gemengde precisie

In een poging om de trainingsnauwkeurigheid te verhogen en het geheugengebruik te verlagen, volgt het GLM-130B-kader de gebruikelijke praktijk van het gebruik van gemengde precisies, d.w.z. FP16 voor zowel voorwaartse als achterwaartse beweging, en FP32 voor zowel meester-gewichten als optimizer-statistieken. Net als andere populaire LLM-kaders, waaronder BLOOM-176B en OPT-175B, wordt het trainingsproces van het GLM-130B-kader met de gemengde precisie-strategie geconfronteerd met frequente verliespieken, en de frequentie van deze verliespieken neigt ertoe om te toenemen naarmate het model verder getraind wordt. Bovendien zijn er belangrijke problemen die ontwikkelaars tegenkomen bij het opschalen van de transformatoren.

Ten eerste kan de waarde-schaal van de hoofdtak van de transformatoren enorm zijn in de diepere lagen bij het gebruik van Pre-LN, en in het GLM-130B-kader wordt dit aangepakt door het gebruik van een DeepNorm-gebaseerde Pre-LN, die ervoor zorgt dat de waarde-schaal op elk moment begrensd blijft. Ten tweede, naarmate het model wordt opgeschaald, groeien de aandachtsscores tot een punt waarop ze de bereik van FP16 overschrijden.

Embedding-laag-gradatie-verkleining of EGS

Ontwikkelaars die werken aan het GLM-130B-kader hebben vastgesteld dat de gradient-norm kan dienen als een informatieve indicator voor trainingscollapses, en een trainingscollapse volgt meestal op een piek in de gradient-norm. De oorzaak van deze pieken is de abnormale gradients van de embedding-laag, en ontwikkelaars hebben waargenomen dat, in vergelijking met de gradient-norm van andere lagen, de gradient-norm van de embedding-lagen groter is met enkele grootteordes, en deze ook tendeert om dramatisch te fluctueren tijdens de vroege training van het kader.

GLM-130B : Resultaten en prestaties

Om de prestaties van GLM-130B te evalueren voor Engelse taken, worden dezelfde instellingen geïmplementeerd die worden gevolgd door algemene LLM-kaders, waaronder PaLM en GPT-3, en aangezien GLM-130B een tweesprachig kader is, wordt het ook geëvalueerd op verschillende Chinese benchmarks. De prestaties van het GLM-130B-kader zullen worden gemeten op meerdere benchmarks, waaronder Taalmodellering, MMLU of Massive Multitask Language Understanding, BIG-Bench of Beyond the Imitation Game Benchmark, en CLUE of Chinese Language Understanding Evaluation. Laten we dus beginnen.

Taalmodellering

De taalmodellering-benchmarktest op het GLM-130B-kader wordt uitgevoerd op twee datasets: LAMBADA en Pile.

De LAMBADA-dataset wordt gebruikt om de laatste woordmodellering-capaciteiten van LLM’s te testen, en het GLM-130B-kader behaalt een zero-shot-nauwkeurigheidsscore van 80,2 in een tweesprachige instelling, en stelt daarmee een nieuw benchmarkrecord in op de LAMBADA-dataset.

Aan de andere kant is Pile een testset die bestaat uit een reeks benchmarks voor taalmodellen. Gemiddeld, in vergelijking met GPT-3 en Jurassic-1, levert het GLM-130B-kader zijn beste prestatie op 18 gedeelde testsets in termen van gewogen BPBs. De resultaten demonstreren de sterke taalcapaciteiten van het GLM-130B-kader, en de resultaten zijn opgenomen in de onderstaande tabel.

MMLU of Massive Multitask Language Understanding

MMLU of Massive Multitask Language Understanding is een diverse benchmark die bestaat uit meer dan 50 multiple-choice-vragen over menselijke intelligentie en kennis, variërend van middelbare school tot expertniveau, en het wordt vrijgegeven na het crawlen van de Pile-testset, en dient dus als een ideale test-benchmark om de few-shot-leren-capaciteiten van een LLM te evalueren.

Zoals te zien is, in een few-shot-instelling (5-shot), benadert de prestatie van het GLM-130B-kader de prestatie van het GPT-3-model na het bekijken van ongeveer 300 miljard tokens. De prestatie blijft toenemen naarmate de training vordert, en wanneer de training eindigt, behaalt het kader een nauwkeurigheidsscore van 44,8 na het bekijken van in totaal 400 miljard tokens.

BIG-Bench of Beyond the Imitation Game Benchmark

BIG-Bench of Beyond the Imitation Game Benchmarks uitdagende taken testen een model’s vermogen op kennis, redenering en gezond verstand. Zoals wordt aangetoond in de onderstaande figuren, in zero-shot-instelling, overtreft het GLM-130B-kader zowel PaLM 540B als GPT-3 175B-kaders, wat mogelijk te wijten is aan MIP en de bidirectionele context-aandacht om de prestatie van het GLM-130B-kader te verbeteren in ongezien taken in zero-shot-instelling. Bovendien, naarmate het aantal shots toeneemt, verbetert de prestatie van het GLM-130B-kader ook, en overtreft het GPT-3-kader consistent.

CLUE of Chinese Language Understanding Evaluation

De Chinese zero-shot-prestatie van GLM-130B wordt geëvalueerd op gevestigde NLP-benchmarktaken, waaronder CLUE en FewCLUE, en wordt vergeleken met 260B ERNIE Titan 3.0, het grootste bestaande Chinese taalmodel. Zoals te zien is, overtreft het GLM-130B-kader consistent het 260B ERNIE Titan 3.0-kader op 12 verschillende taken, en presteert het bijna 260% beter dan het ERNIE-kader op twee abstracte MRC-datasets.

Conclusie

In dit artikel hebben we het gehad over GLM-130B, een tweesprachig pre-getraind groot taalmodel dat probeert inclusief LLM-onderzoek te bevorderen. De architectuur, technische en ontwikkelingsinspanningen zijn bedoeld om de AI-gemeenschap een beter inzicht te geven in de architectuur van LLM-kaders, trainings-efficiëntie en -stabiliteit, pre-trainingsobjectieven en betaalbare interferentie.

Een ingenieur van beroep, een schrijver van hart. Kunal is een technisch schrijver met een diepe liefde en begrip voor AI en ML, toegewijd aan het vereenvoudigen van complexe concepten in deze gebieden door middel van zijn boeiende en informatieve documentatie.