AI-modeller och plattformar
GLM-130B: En öppen tvåspråkig förtränad modell

GLM-130B-ramverket är en tvåspråkig förtränad stor språkmodell med över 130 miljarder parametrar som kan generera textutdata på både engelska och kinesiska. GLM-130B-ramverket är ett försök att öppna källkoden för en språkmodell i en skala på över 100 miljarder parametrar och diskutera hur ramverk av sådan stor skala kan förtränas, eftersom det för närvarande ofta är svårt att träna en modell av sådan stor skala på grund av problem som divergens och förlustspikar.
I den här artikeln kommer vi att prata om GLM-130B-ramverket, som försöker utveckla en metod för att effektivt förträna stora språkmodeller med hundratals miljarder parametrar. Vi kommer att dyka djupare i GLM-130B-ramverkets arkitektur och träningprocess, samt designval som inte bara hjälper till att öka effektiviteten, utan också stabiliteten. De första experimenten som utfördes för att testa GLM-130B-ramverkets funktion på en mängd olika engelska benchmark-tester resulterade i att GLM-130B-modellen överträffade den nuvarande state-of-the-art GPT-3-ramverket med en betydande marginal. Så låt oss börja och utforska hur GLM-130B-ramverket levererar så konsekventa, precisa och stabila resultat.
En introduktion till GLM-130B-ramverket
Stora språkmodeller som kan fungera i fåskott- och nollskottssituationer, särskilt de med över 100 miljarder parametrar, presenterar attraktiva skalningslagar, och GPT-3-ramverket är ett av de bästa presterande ramverken som levererar betydande prestandaförbättringar jämfört med sin föregångare, BERT-ramverket. Men trots GPT-3-ramverkets popularitet och dess omfattande tillämpningar, har träningprocessen och i vissa avseenden GPT-3-ramverket i sig varit icke transparent för allmänheten. Dessutom är det empiriskt sett omöjligt att räkna upp alla möjliga designalternativ för att träna LLM med över 100 miljarder parametrar, vilket gör det ännu viktigare att komma med en förträningsmetod för stora LLM-ramverk.
Den ovan nämnda punkten gör det viktigt att dela GLM-130B-ramverkets funktion och träningprocess, och med de etiska aspekterna i åtanke, är GLM-130B-ramverket ett försök att förträna en exakt och öppen källkods-LLM med över 100 miljarder parametrar. Under utvecklingsprocessen observerade GLM-130B-utvecklingsteamet att förträning av ett stort LLM-ramverk ofta åtföljs av en mängd olika tekniska och ingenjörsrelaterade utmaningar i fråga om förträningsstabilitet, effektivitet och konvergens.
Mer specifikt är GLM-130B ett tät och tvåspråkigt ramverk som består av över 130 miljarder parametrar, förtränat på 400 miljarder token på en kluster av 96 NVIDIA DGX-A100 GPU-noder under en period av nästan två månader. Dessutom, istället för att använda GPT-stilens arkitektur, använder GLM-130B-ramverket GLM eller General Language Model-algoritmen i ett försök att utnyttja dess autoregressiva blankfyllningsobjektiv och den bidirektionella uppmärksamhetsfördelen. Följande tabell jämför GLM-130B-ramverket med andra modeller med över 100 miljarder parametrar, inklusive GPT, BLOOM-176B och OPT-175B.

De tekniska och ingenjörsrelaterade koncept som är involverade i GLM-130B-ramverket överträffar nästan alla stora LLM-ramverk, inklusive GPT-3 och PaLM 540B med över 500 miljarder parametrar, i många fall och över en mängd olika benchmark-tester. Följande figur jämför GLM-130B-ramverkets prestanda med modeller med över 100 miljarder parametrar, och som det kan ses, har GLM-130B-ramverket betydligt mindre generationsgift och bias jämfört med sina motståndare.

Slutligen har GLM-130B-ramverket utformats för att tillåta så många utvecklare som möjligt att genomföra studier på ramverk med över 100 miljarder parametrar, och det finns två sätt som GLM-130B-ramverket uppnår detta. Först, istället för att använda över 175 miljarder parametrar som BLOOM och OPT, använder GLM-130B-ramverket 130 miljarder parametrar, eftersom modellens storlek stöder interferens även på en ensam A100-server. För det andra är GPU-kraven för att köra GLM-130B-ramverket lägre jämfört med andra LLM-ramverk, och GLM-130B-ramverket uppnår detta genom att kvantifiera den ursprungliga ramverket till INT4 precision. Den INT4-kvantifiering som används av GLM-130B-ramverket förbättrar prestandan samtidigt som den bibehåller en försumbar prestandaförsämring.
GLM-130B: Arkitektur
Den induktiva biasen hos en maskinläringsmodell beskrivs av dess arkitektur, och det kommer inte som en överraskning när utvecklare inte kan utforska olika arkitektoniska designalternativ för stora språkmodeller, med tanke på den beräkningsmässiga åtkomligheten och livskraften. Med det sagt, låt oss titta på GLM-130B-ramverkets arkitektur.
Stora LLM-ramverk som PaLM, GPT och fler har över 100 miljarder parametrar och är byggda på den konventionella decoder-only GPT-stilens arkitektur för autoregressiv språkmodellering. Å andra sidan utforskar GLM-130B-ramverket möjligheten att använda en bidirektionell General Language Model eller GLM, en transformer-baserad språkmodell som syftar till att utnyttja autoregressiv blankfyllning som träningsobjektiv, som grund.
Den bidirektionella uppmärksamheten hos den allmänna språkmodellen över oåtkomliga eller omaskerade sammanhang är vad som skiljer GLM-130B-ramverket från GPT-stilens tillvägagångssätt som använder en unidirektionell tillvägagångssätt. Dessutom för att stödja både generering och förståelse av data, kombinerar GLM-ramverket två korruptionsstrategier, var och en indikerad med en särskild och unik masktoken.
- [MASK] : [MASK] är en korruptionsstrategi som använder korta blanker i meningar, vars längd adderar upp till en viss procent av indata.
- [gMASK] : [gMASK] är en korruptionsstrategi som använder slumpmässiga blanker mot slutet av meningen med prefixsammanhang.
Tillvägagångssättet som följs av GLM-ramverket är vad som tillåter ramverket att registrera en träffsäkerhet på över 80% på zero-shot LAMBADA-språkmodellering och överträffar både PaLM 540B och GPT-3-ramverket.

Lager normalisering
En av de stora utmaningarna som utvecklare möter när de tränar en LLM-modell är träningsinstabiliteten, och användning av en lämplig lager normalisering (LN) kan hjälpa till med träningsprocessen. GLM-130B-ramverket använder en post-LN-tillvägagångssätt tack vare dess prestanda på nedströmsuppgifter.
FFN och positionell kodning
Feedforward neurala nätverk (FFN) och positionell kodning är två tillvägagångssätt som antagits av GLM-130B-ramverket för att introducera högkvalitativ nedströmsprestanda och träningsstabilitet.
Träningssetup
GLM-130B-ramverkets träningsobjektiv inkluderar inte bara multiuppgiftslärande för ett litet antal token, utan också självständigt övervakat GLM för autoregressiv fyllning av blanker, med förväntningen att detta tillvägagångssätt kommer att hjälpa GLM-130B-ramverket i nedströmsuppgifter.
Självständigt övervakat blankfyllning
Som redan nämnts använder GLM-130B-ramverket två korruptionsstrategier, nämligen [MASK] och [gMASK], och en av dessa strategier tillämpas oberoende på varje enskild träningssekvens, en i taget. För att fylla i blanker, maskerar [MASK]-strategin på varandra följande spann i 30% av träningssekvensen, där spannens längd adderar upp till 15% av indata, och följer en Poisson-fördelning. För de återstående 70% av sekvensen hålls prefixet för varje sekvens som kontext, och [gMASK]-strategin hjälper till att maskera resten, och den maskerade längden sampas sedan med hjälp av uniform fördelning.
Multiuppgiftsinstruktioner förträning
Det har visats att en multiuppgiftslärande tillvägagångssätt för förträning av modeller kan leverera bättre resultat än finjustering, för att förbättra uppgiftsöverföring i en zero-shot-situation. I följd därav föreslår GLM-130B-ramverket att använda en mängd instruktionspromptade dataset, inklusive språkgenerering, förståelse och informationsutvinning under förträning.
Jämfört med andra tillvägagångssätt för zero-shot-uppgiftsöverföring som använder multiuppgiftspromptad finjustering, står GLM-130B-ramverkets multiuppgiftsinstruktioner förträning för endast 5% av de totala token, och det är inställt under förträningsfasen i ett försök att förhindra att förstöra andra förmågor hos LLM-ramverket eller, med andra ord, ovillkorlig fri generering.
3D-parallell strategi
Det finns två de facto-praxis för att träna stora modeller med miljarder parametrar, tensor modell parallellism och data parallellism. I ett försök att minimera GPU-användning och hantera enorma GPU-krav, implementerar GLM-130B-ramverket en 3D-parallell strategi som kombinerar pipeline modell parallellism strategi med tensor modell parallellism och data parallellism strategier.
GLM-130B: Träningsstabilitet
Träningsstabilitet är en viktig faktor när man bestämmer en LLM-modells kvalitet, och träningsstabiliteten påverkas kraftigt beroende på antalet token den passerar genom. Dessutom är det viktigt att etablera en avvägning mellan stabilitet och effektivitet med avseende på flyttalsformat, med tanke på beräkningsbegränsningar. Till exempel, lågprecisions flyttalsformat ökar beräkningshastigheten, men de resulterar ofta i träningskollapsar, eftersom de är benägna att underflödes- och överflödesfel.
Blandad precision
I ett försök att öka träningsprecisionen och minska minnesanvändningen, följer GLM-130B-ramverket den vanliga praxisen att använda blandad precision, dvs. FP16 för både framåt och bakåt, och FP32 för både huvudvikter och optimeringslägen. Liksom andra populära LLM-ramverk, inklusive BLOOM-176B och OPT-175B, möter GLM-130B-ramverkets träningsfas med blandad precision ofta frekventa förlustspikar, och frekvensen av dessa förlustspikar tenderar att öka allteftersom modellen fortsätter att träna.

Först, kan värdeskalan för transformerens huvudgren vara mycket stor i de djupare lagren när man använder Pre-LN, och i GLM-130B-ramverket åtgärdas detta genom att använda en DeepNorm-baserad Pre-LN, som säkerställer att värdeskalan förblir begränsad alltid. För det andra, när modellen skalar upp, kan uppmärksamhetspoängen växa till en punkt där de överstiger FP16-området.
Embedding-lager gradient krympning eller EGS
Utvecklare som arbetar med GLM-130B-ramverket upptäckte att gradientnormen kan fungera som en informativ indikator för träningskollapsar, och en träningskollaps följer vanligtvis efter en topp i gradientnormen. Orsaken till dessa toppar är de onormala gradienterna av embedding-lagret, och utvecklare observerade att, jämfört med gradientnormen för andra lager, är gradientnormen för embedding-lagren större med flera storleksordningar, och den tenderar också att fluktuera dramatiskt under den tidiga träningsfasen av ramverket.

GLM-130B: Resultat och prestanda
För att utvärdera GLM-130B-ramverkets prestanda för engelska uppgifter, implementerar det samma inställningar som följs av vanliga LLM-ramverk, inklusive PaLM och GPT-3, och eftersom GLM-130B är ett tvåspråkigt ramverk, utvärderas det också över flera kinesiska benchmark-tester. GLM-130B-ramverkets prestanda kommer att mätas över flera benchmark-tester, inklusive språkmodellering, MMLU eller Massiv multitask språkförståelse, BIG-Bench eller Beyond the Imitation Game Benchmark, och CLUE eller Kinesisk språkförståelse utvärdering. Så låt oss börja.
Språkmodellering
Språkmodelleringstestet på GLM-130B-ramverket utförs över två dataset: LAMBADA och Pile.
LAMBADA-datasetet används för att testa den sista ordmodelleringens förmåga hos LLM, och GLM-130B-ramverket uppnår en zero-shot träffsäkerhet på 80,2 i en tvåspråkig inställning, och på vägen, satte det ett nytt benchmark-rekord på LAMBADA-datasetet.
Å andra sidan är Pile en testuppsättning som består av en serie benchmark-tester för språkmodeller. I genomsnitt, jämfört med GPT-3 och Jurassic-1, levererar GLM-130B-ramverket sin bästa prestanda på 18 delade testuppsättningar i termer av vägda BPB. Resultaten demonstrerar den starka språkförmågan hos GLM-130B-ramverket, och resultaten ingår i tabellen nedan.

MMLU eller Massiv multitask språkförståelse
MMLU eller Massiv multitask språkförståelse är en mångfacetterad benchmark som består av över 50 flervalsfrågor som rör mänsklig intelligens och kunskap, som sträcker sig från gymnasienivå till expertnivå, och det släpptes efter att Pile-testuppsättningen kryssades, och därmed fungerar det som en ideal testuppsättning för att utvärdera LLM-ramverkets fåskottslärande förmåga.

Som det kan ses, i en fåskottssituation (5-skott), närmar sig GLM-130B-ramverkets prestanda GPT-3-modellens prestanda efter att ha sett nästan 300 miljarder token. Prestandan fortsätter att öka allteftersom träningsprocessen fortskrider, och när träningsprocessen är klar, uppnår ramverket en träffsäkerhet på 44,8 efter att ha sett totalt 400 miljarder token.
BIG-Bench eller Beyond the Imitation Game Benchmark
BIG-Bench eller Beyond the Imitation Game Benchmark-tester en modells förmåga på kunskap, resonemang och sunt förnuft. Som visas i följande figurer, i en zero-shot-situation, överträffar GLM-130B-ramverket både PaLM 540B och GPT-3 175B-ramverk, vilket kan bero på MIP och den bidirektionella kontextuppmärksamheten för att öka GLM-130B-ramverkets prestanda i osynliga uppgifter i zero-shot-situationen. Dessutom, allteftersom antalet skott ökar, förbättras GLM-130B-ramverkets prestanda och överträffar GPT-3-ramverket konsekvent.

CLUE eller Kinesisk språkförståelse utvärdering
GLM-130B-ramverkets kinesiska zero-shot-prestanda utvärderas på etablerade NLP-benchmark-uppgifter, inklusive CLUE och FewCLUE, och jämförs med 260B ERNIE Titan 3.0, den största existerande kinesiska språkmodellen. Som det kan observeras, överträffar GLM-130B-ramverket konsekvent 260B ERNIE Titan 3.0-ramverket över 12 olika uppgifter, och presterar nästan 260% bättre än ERNIE-ramverket på två abstrakta MRC-dataset.

Slutsats
I den här artikeln har vi pratat om GLM-130B, en tvåspråkig förtränad stor språkmodell som syftar till att främja inkluderande LLM-forskning. Arkitekturen, ingenjörskonst och tekniska företag syftar till att ge AI-samhället en bättre inblick i arkitekturen för LLM-ramverk, tränings-effektivitet och stabilitet, förträningobjektiv och överkomlig interferens.












