AI-modellen en platforms

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

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Het GLM-130B-kader is een bilinguaal 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 te stellen, en te bespreken hoe kaders van zo’n grote schaal kunnen worden pre-getraind, omdat het trainen van een model van zo’n grote schaal vaak wordt geconfronteerd met problemen zoals divergentie en verliespieken.

In dit artikel zullen we het GLM-130B-kader bespreken, dat een methode probeert te ontwikkelen om grote taalmodellen met honderden miljarden parameters effectief te pre-trainen. We zullen dieper ingaan op 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. Eerste experimenten die zijn uitgevoerd om de werking van het GLM-130B-kader te testen op een breed scala van Engelse benchmarks, resulteerden in het GLM-130B-model dat de huidige staat van de kunst GPT-3-kader met een aanzienlijk marginaal overtrof. Laten we dus beginnen en onderzoeken hoe het GLM-130B-kader zo consistente, nauwkeurige en stabiele resultaten levert.

Een inleiding tot het GLM-130B-kader

Grote taalmodellen die in staat zijn om te functioneren 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 dat aanzienlijke prestatie-upgrades levert ten opzichte van zijn voorganger, het BERT-kader. Echter, ondanks de populariteit van het GPT-3-kader en zijn wijdverbreide toepassingen, 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, wat het nog kritieker maakt om een pre-trainingsmethode te ontwikkelen voor grote schaal LLM-kaders.

Het bovenstaande punt maakt het delen van de werking en het trainingsproces van hoge kwaliteit grote schaal LLM-kaders zoals GPT-3 van kritiek belang, en met de ethische bezorgdheden 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 het verloop van hun poging, observeerde het GLM-130B-ontwikkelteam dat het pre-trainen van een grote schaal LLM-kader vaak wordt vergezeld van een breed scala aan technische en technische uitdagingen in termen van pre-trainingsstabiliteit, efficiëntie en convergentie.

Om specifieker te zijn, is de GLM-130B een bidirectioneel en bilinguaal dicht kader dat bestaat uit 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, in plaats van te kiezen voor de GPT-stijl architectuur, gebruikt het GLM-130B-kader de GLM of General Language Model-algoritme in een poging om zijn autoregressieve blanco-infilling-objectieven en de bidirectionele aandachtvoordelen 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 bijna alle grote schaal LLM-kaders, 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.

Ten slotte is de GLM-130B ontworpen om zo veel mogelijk ontwikkelaars in staat te stellen om studies uit te voeren op kaders met meer dan 100 miljard parameters, en er zijn twee manieren waarop het GLM-130B-kader dit doet. Ten eerste, in plaats van te gebruiken meer dan 175 miljard parameters zoals BLOOM en OPT, gebruikt het GLM-130B-kader 130 miljard parameters, 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-quantificatie die wordt gebruikt door het GLM-130B-kader, verbetert de prestaties terwijl een verwaarloosbare prestatie-degradatie wordt behouden.

GLM-130B: Architectuur

De inductieve bias van een machine learning-model wordt beschreven door zijn architectuur, en het is geen verrassing wanneer ontwikkelaars niet kunnen verkennen verschillende architectonische ontwerpen voor grote taalmodellen, gegeven de computationele haalbaarheid en levensvatbaarheid. Met dat gezegd, laten we eens kijken naar de architectuur van GLM-130B.

Grote schaal LLM-kaders zoals PaLM, GPT en meer, hebben meer dan 100 miljard parameters en zijn gebouwd op de conventionele decoder-only GPT-stijl architectuur 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 om autoregressieve blanco-infilling als trainingsobjectief te benutten, 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-stijl benadering 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 gebruik maakt van willekeurige lengte blanco’s 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.

Layer Normalization

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 (Layer Normalization) kan helpen bij het trainen van LLM’s. Het GLM-130B-kader gebruikt een Post-LN-benadering dankzij zijn prestaties op downstream-taken.

FFNs en Positional Encoding

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

Pre-Training Setup

De pre-trainingsobjectieven van het GLM-130B-kader omvatten niet alleen multi-task learning voor een klein aantal tokens, maar ook het zelfstandig 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-trainingssetup van het GLM-130B-kader er als volgt uit.

Zelfstandige Blanco-infilling

Zoals al eerder 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, maskert de [MASK]-strategie opeenvolgende spannen in 30% van de trainingssequentie, waarvan de lengte opgeteld wordt tot 15% van de invoer, en volgt een Poisson-verdeling. Voor de overige 70% van de sequentie wordt de prefix van elke sequentie gehouden 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-Training

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 taakoverdracht in een zero-shot-instelling te verbeteren. Vervolgens stelt het GLM-130B-kader voor om een reeks instructie-gestuurde datasets te gebruiken, waaronder taalgeneratie, begrip en informatie-extractie tijdens het pre-trainen.

In vergelijking met andere benaderingen voor zero-shot taakoverdracht die gebruik maken van multi-task gestuurde fine-tuning, houdt de Multi-Task Instructies Pre-Training-benadering van het GLM-130B-kader slechts 5% van het totale aantal tokens in, en wordt ingesteld tijdens de pre-trainingsfase in een poging om andere vaardigheden van het LLM-kader niet te bederven, of met andere woorden, onvoorwaardelijke vrije generatie.

3D Parallel Strategy

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

GLM-130B: Trainingsstabiliteit

Trainingsstabiliteit is een belangrijke factor bij het bepalen van de kwaliteit van een LLM, en de trainingsstabiliteit wordt zwaar beïnvloed afhankelijk van het aantal tokens dat het passeert. Bovendien is het essentieel om een balans te vinden tussen stabiliteit en efficiëntie met betrekking tot floating point-formaten, gegeven de computationele beperkingen. Bijvoorbeeld, lage precisie floating point-formaten verhogen de computationele efficiëntie, maar 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-stataten. Net als andere populaire LLM-kaders, waaronder BLOOM-176B en OPT-175B, wordt het trainingsproces van het GLM-130B-kader met behulp van de gemengde precisie-strategie geconfronteerd met frequente verliespieken, en de frequentie van deze verliespieken neigt ernaar toe om te toenemen naarmate het model verder wordt getraind. Bovendien zijn er belangrijke problemen waarmee ontwikkelaars worden geconfronteerd 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-Layer Gradient Shrink of EGS

Ontwikkelaars die werkten aan het GLM-130B-kader, ontdekten dat de gradiëntnorm kan dienen als een informatieve indicator voor trainingscollapses, en een trainingscollapse volgt meestal op een piek in de gradiëntnorm. De oorzaak van deze pieken is de abnormale gradiënten van de embedding-laag, en ontwikkelaars observeerden dat, in vergelijking met de gradiëntnorm van andere lagen, de gradiëntnorm van de embedding-lagen groter is met enkele grootteordes, en dat deze ook dramatisch fluctueert tijdens de vroege training van het kader. Visuele modellen worden ook geconfronteerd met dit probleem, en dit wordt opgelost door de patch-projectie-laag te bevriezen. Echter, dezelfde benadering kan niet worden toegepast op LLM’s, aangezien in taalmodellen de projectie-lagen niet kunnen worden bevroren.

GLM-130B: Resultaten en Prestaties

Om de prestaties van GLM-130B te evalueren voor Engelse taken, wordt hetzelfde instellingen gevolgd als die van andere LLM-kaders, waaronder PaLM en GPT-3, en aangezien GLM-130B een bilinguaal kader is, wordt het ook geëvalueerd over verschillende Chinese benchmarks. De prestaties van het GLM-130B-kader zullen worden gemeten over 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 over 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 bilinguaal instelling, en stelt daarmee een nieuw benchmarkrecord 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 prestaties 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 vraagbeantwoordingstaken met betrekking tot menselijke intelligentie en kennis, variërend van middelbare school tot expertniveau, en wordt vrijgegeven na het crawlen van de Pile-testset, en dient dus als een ideale test om de few-shot learning-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 een totaal van 400 miljard tokens.

BIG-Bench of Beyond the Imitation Game Benchmark

BIG-Bench of Beyond the Imitation Game Benchmarks uitdagende taken test een model’s capaciteit op kennis, redenering en gezond verstand. Zoals wordt aangetoond in de volgende figuren, in een 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 verhogen in ongezien taken in een 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 de 260B ERNIE Titan 3.0 over 12 verschillende taken, en presteert bijna 260% beter dan de ERNIE op twee abstracte MRC-datasets.

Conclusie

In dit artikel hebben we het over GLM-130B, een bilinguaal pre-getraind groot taalmodel dat als doel heeft om inclusief LLM-onderzoek te bevorderen. De architectuur, engineering en technische ondernemingen zijn gericht op het bieden van de AI-gemeenschap met een beter inzicht 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.