Kunstig intelligens

OLMo: Forbedring af sprogmodellernes videnskab

mm

Udviklingen og fremgangen af sprogmodeller i de seneste par år har markeret deres tilstedeværelse næsten overalt, ikke kun i NLP-forskning, men også i kommercielle tilbud og virkelige anvendelser. Imidlertid har den stigende kommercielle efterspørgsel efter sprogmodeller til en vis udstrækning hæmmet væksten af fællesskabet. Dette skyldes, at de fleste af de bedste og mest kapable modeller er låst bag lukkede grænseflader, hvilket gør det umuligt for udviklerfællesskabet at få adgang til vital information om deres træningsarkitektur, data og udviklingsprocesser. Det er nu uafviseligt, at disse trænings- og strukturinformationer er afgørende for forskningsstudier, herunder adgang til deres potentielle risici og fordomme, og skaber dermed et krav om, at fællesskabet skal have adgang til en virkelig åben og kraftfuld sprogmodel.

For at opfylde dette krav har udviklere skabt OLMo, en tilstand af kunst sprogmodelramme, der er åben og kraftfuld. Denne ramme giver forskere mulighed for at bruge OLMo til at bygge og studere sprogmodeller. I modsætning til de fleste af de bedste sprogmodeller, der kun har frigivet grænsefladekod og modelvægte, er OLMo-rammen virkelig åben kilde, med offentligt tilgængelig evalueringkode, træningsmetoder og træningsdata. OLMo’s primære formål er at styrke og fremme det åbne forskningsfællesskab og den kontinuerlige udvikling af sprogmodeller.

I denne artikel vil vi diskutere OLMo-rammen i detaljer, hvor vi undersøger dens arkitektur, metode og ydelse i forhold til nuværende tilstand af kunst-rammer. Så lad os komme i gang.

OLMo: Forbedring af sprogmodellernes videnskab

Sprogmodellen har sandsynligvis været den hotteste trend i de seneste par år, ikke kun inden for AI- og ML-fællesskabet, men også på tværs af tech-industrien, på grund af dens bemærkelsesværdige evner til at udføre virkelige opgaver med menneske-lignende ydelse. ChatGPT er et primært eksempel på det potentiale, som sprogmodeller har, med store spillere i tech-industrien, der udforsker sprogmodelintegration med deres produkter.

NLP, eller Natural Language Processing, er en af de industrier, der har anvendt sprogmodeller i stor udstrækning i de seneste par år. Imidlertid har industrien oplevet en hurtig forbedring af deres kommercielle levedygtighed, siden industrien begyndte at anvende menneskeligt annotation til justering og storstiletræning, hvilket har resulteret i, at de fleste af de bedste sprog- og NLP-rammer har begrænsede, lukkede grænseflader, og udviklerfællesskabet har ikke adgang til vital information.

For at sikre fremskridtet af sprogmodeller tilbyder OLMo, en tilstand af kunst, åben sprogmodel, udviklere en ramme til at bygge, studere og fremme udviklingen af sprogmodeller. Det giver også forskere adgang til trænings- og evalueringkode, træningsmetode, træningsdata, træningslog og mellemmodel checkpoints. Eksisterende tilstand af kunst-modeller har varierende grader af åbenhed, hvorimod OLMo-modellen har frigivet hele rammen, fra træning til data til evalueringværktøjer, hvilket reducerer ydelsesgapet i forhold til tilstand af kunst-modeller som LLaMA2-modellen.

Til modellering og træning inkluderer OLMo-rammen træningskoden, fulde modelvægte, ablationer, træningslog og træningsmetrikker i form af grænsefladekod samt Weights & Biases-log. Til analyse og datasætbygning inkluderer OLMo-rammen det fulde træningsdata, der er anvendt til AI2’s Dolma- og WIMBD-modeller, sammen med koden, der producerer træningsdata. Til evaluering formål inkluderer OLMo-rammen AI2’s Catwalk-model til downstream-evaluering og Paloma-modellen til perplexity-baseret evaluering.

OLMo: Model og arkitektur

OLMo-modellen anvender en decoder-kun transformer-arkitektur baseret på Neural Information Processing Systems og leverer to modeller med 1 milliard og 7 milliarder parametre henholdsvis, med en 65 milliarder parameter-model, der for øjeblikket er under udvikling.

Arkitekturen af OLMo-rammen leverer flere forbedringer over rammer, herunder den vanlige transformer-komponent i deres arkitektur, herunder seneste tilstand af kunst-sprogmodeller som OpenLM, Falcon, LLaMA og PaLM. Følgende figur sammenligner OLMo-modellen med 7 milliarder parametre mod seneste LLM’er, der opererer på næsten lige så mange parametre.

OLMo-rammen vælger hyperparametrene ved at optimere modellen for træningsgennemløb på hardwaren, samtidig med at minimere risikoen for langsom divergens og tabsspidser. Med det sagt er de primære ændringer, der er implementeret af OLMo-rammen, der adskiller sig fra den vanlige transformer-arkitektur, følgende:

Ingen fordomme

I modsætning til Falcon, PaLM, LLaMA og andre sprogmodeller indeholder OLMo-rammen ikke nogen fordomme i sin arkitektur for at forbedre træningsstabiliteten.

Ikke-parametrisk lag-norm

OLMo-rammen implementerer den ikke-parametrisk formulering af lag-normen i sin arkitektur. Den ikke-parametrisk lag-norm tilbyder ingen affin transformation inden for normen, dvs. den tilbyder ingen adaptiv gevinst eller fordomme. Ikke-parametrisk lag-norm tilbyder ikke kun mere sikkerhed end parametrisk lag-normer, men de er også hurtigere.

SwiGLU-aktiveringsfunktion

Ligesom de fleste sprogmodeller som PaLM og LLaMA, inkluderer OLMo-rammen SwiGLU-aktiveringsfunktionen i sin arkitektur i stedet for ReLU-aktiveringsfunktionen og øger den skjulte aktiveringsstørrelse til den nærmeste multiple af 128 for at forbedre gennemløb.

RoPE eller Rotary Positional Embeddings

OLMo-modellerne følger LLaMA- og PaLM-modellerne og udskifter de absolute positionelle indlejninger med RoPE eller Rotary Positional Embeddings.

For-træning med Dolma

Selvom udviklerfællesskabet nu har forbedret adgang til modelparametre, er dørene til adgang til for-træningsdata stadig lukkede, da for-træningsdata ikke frigøres sammen med de lukkede modeller eller sammen med de åbne modeller. Desuden mangler tekniske dokumentationer, der dækker sådanne data, ofte vital information, der er nødvendig for at fuldt ud forstå og replikere modellen. Vejblokeringen gør det svært at fortsætte forskningen i visse tråde af sprogmodel-forskning, herunder forståelsen af, hvordan træningsdataene påvirker modellens evner og begrænsninger. OLMo-rammen har bygget og frigivet sin for-træningsdataset, Dolma, for at lette åben forskning på sprogmodel-for-træning. Dolma-datasættet er en multi-kilde og divers samling af over 3 billioner tokens på tværs af 5 milliarder dokumenter, der er samlet fra 7 forskellige kilder, der er almindeligt anvendt af kraftfulde storstile-sprogmodeller til for-træning og er tilgængelige for det generelle publikum. Sammensætningen af Dolma-datasættet er sammenfattet i følgende tabel.

Dolma-datasættet er bygget ved hjælp af en rørledning af 5 komponenter: sprogfiltrering, kvalitetsfiltrering, indholdsfiltrering, multi-kilde-blanding, deduplikation og tokenisering. OLMo har også frigivet Dolma-rapporten, der giver mere indsigt i designprincipperne og konstruktionsdetaljerne samt en mere detaljeret indholdssammenfattelse. Modellen åbner også sine højpræstationsdata-curation-værktøjer for at lette en nem og hurtig curation af for-træningsdata-korpora. Evalueringen af modellen følger en to-trins-strategi, der starter med online-evaluering til beslutningstagning under modeltræning og en slut-evaluering til en samlet evaluering fra model-checkpoints. Til offline-evaluering bruger OLMo Catwalk-rammen, vores offentligt tilgængelige evalueringværktøj, der har adgang til en bred diversitet af datasæt og opgaveformater. Rammen bruger Catwalk til downstream-evaluering samt intrinsisk sprogmodel-evaluering på vores nye perplexity-benchmark, Paloma. OLMo sammenligner derefter med flere offentlige modeller ved hjælp af dens faste evaluering-rørledning, både til downstream- og perplexity-evaluering.

OLMo kører flere evaluering-metrikker om modellens arkitektur, initialisering, optimizatorer, læringsrate-skema og blandinger af data under modellens træning. Udviklere kalder det OLMo’s “online-evaluering”, da det er en løkke i løbet af hver 1000 trænings-trin (∼4B træningstokens) for at give en tidlig og kontinuerlig signal om modellens kvalitet. Opsætningen af disse evalueringer afhænger af en majoritet af kerne-opgaver og eksperiment-indstillinger, der bruges til vores offline-evaluering. OLMo sigter ikke kun på sammenligninger af OLMo-7B med andre modeller for bedste ydelse, men også på at vise, hvordan det muliggør en fuldstændig og mere kontrolleret videnskabelig evaluering. OLMo-7B er den største sprogmodel med eksplizit dekontaminering til perplexity-evaluering.

OLMo-træning

Det er vigtigt at bemærke, at OLMo-ramme-modellerne trænes ved hjælp af ZeRO-optimizator-strategien, der er tilgængelig via FSDP-rammen gennem PyTorch, og på den måde reducerer GPU-hukommelsesforbruget væsentligt ved at shard model-vægte over GPU’er. Med dette kan træning på 7B-skalaen udføres med en mikro-batch-størrelse på 4096 tokens per GPU på vores hardware. Træningsrammen for OLMo-1B- og -7B-modellerne bruger en globalt konstant batch-størrelse på omkring 4M tokens (2048 instanser, hver med en sekvenslængde på 2048 tokens). For modellen OLMo-65B (der for øjeblikket er under træning) bruger udviklere en batch-størrelse-opvarmning, der starter på omkring 2M tokens (1024 instanser), der fordobles hver 100B tokens, indtil omkring 16M tokens (8192 instanser).

For at forbedre gennemløb bruger vi blandet-præcisionstræning (Micikevicius et al., 2017) gennem FSDP’s indbyggede indstillinger og PyTorch’s amp-modul. Sidstnævnte sikrer, at visse operationer som softmax altid kører i fuld præcision for at forbedre stabiliteten, mens alle andre operationer kører i halv præcision med bfloat16-formatet. Under vores specifikke indstillinger holdes de shardede model-vægte og optimizator-tilstanden lokal for hver GPU i fuld præcision. Vægtene inden for hver transformer-blok er kun castet til bfloat16-format, når de fuldstændige parametre materialiseres på hver GPU under fremad- og bagad-gennemløb. Gradients reduceres over GPU’er i fuld præcision.

Optimizator

OLMo-rammen bruger AdamW-optimizatoren med følgende hyperparametre.

For alle modellernes størrelser varmer læringsraten op lineært over de første 5000 trin (∼21B tokens) til en maksimumværdi og derefter falder lineært med den inverse kvadratrod af trinnummeret til den specificerede minimumslæringsrate. Efter opvarmingsperioden klipper modellen gradienter, så den samlede l-norm af parameter-gradienter ikke overstiger 1,0. Følgende tabel giver en sammenligning af vores optimizator-indstillinger på 7B-skalaen med dem fra andre seneste LMs, der også brugte AdamW.

Træningsdata

Træning indebærer tokenisering af trænings-eksempler ved ord og BPE-tokenizer for sætningsskema-modellen efter tilføjelse af en special EOS-token i slutningen af hver dokument og derefter grupperer konsekutive stykker af 2048 tokens for at danne trænings-eksempler. Trænings-eksemplerne blandes i samme måde for hver træning. Data-ordenen og den præcise sammensætning af hver trænings-batch kan rekonstrueres fra de udgivne OLMo-modeller, der er trænet i mindst 2T tokens (en enkelt epoch over dens træningsdata), og nogle blev trænet længere end dette ved at starte en anden epoch over data med en anden blandingsorden. Givet den lille mængde data, der gentages, burde det have en negligibel effekt.

Resultater

Checkpointen, der bruges til evaluering af OLMo-7B, er trænet op til 2,46T tokens på Dolma-datasættet med den lineære læringsrate-fald, der er nævnt tidligere. Yderligere finjustering af denne checkpoint på Dolma-datasættet i 1000 trin med lineært faldende læringsrate til 0 øger yderligere modellens ydelse på perplexity og end-opgave-evalueringssuiter, der er beskrevet tidligere. Til den endelige evaluering sammenlignede udviklerne OLMo med andre offentligt tilgængelige modeller – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B og RPJ-INCITE-7B.

Downstream-evaluering

Den centrale downstream-evalueringssuite er sammenfattet i følgende tabel.

Vi udfører zero-shot-evaluering ved hjælp af en rang-klassificeringsmetode i alle tilfælde. I denne metode rangeres de kandidat-tekst-completions (f.eks. forskellige multiple-choice-muligheder) efter sandsynlighed (normalt normaliseret af en eller anden normaliseringsfaktor), og præcisionsnøjagtigheden rapporteres.

Mens Catwalk bruger flere typiske sandsynlighedsnormaliseringsmetoder, såsom per-token-normalisering og per-karakter-normalisering, vælges normaliseringsstrategierne separat for hvert datasæt og inkluderer svarets ubetingede sandsynlighed. Mere konkrekt indebærer dette ingen normalisering for arc- og openbookqa-opgaver, per-token-normalisering for hellaswag-, piqa- og winogrande-opgaver og ingen normalisering for boolq-, copa- og sciq-opgaver (dvs. opgaver i en formulering tæt på en enkelt token-prædiktionsopgave).

Følgende figur viser fremgangen i nøjagtighedsscoren for de ni centrale slut-opgaver. Det kan sluttes, at der er en generelt stigende trend i nøjagtighedsnummeret for alle opgaver, undtagen for OBQA, da OLMo-7B yderligere trænes på flere tokens. En skarp opadgående tick i nøjagtighed af mange opgaver mellem den sidste og anden sidste trin viser os fordelene ved at lineært reducere LR til 0 over de sidste 1000 trænings-trin. For eksempel i tilfældet af intrinsiske evalueringer argumenterer Paloma gennem en række analyser, fra inspektion af ydelse i hver domæne separat op til mere sammenfattede resultater over kombinationer af domæner. Vi rapporterer resultater på to niveauer af granularitet: den samlede ydelse over 11 af de 18 kilder i Paloma samt mere detaljerede resultater over hver af disse kilder individuelt.

Endelige tanker

I denne artikel har vi talt om OLMo, en tilstand af kunst, åben sprogmodel, der tilbyder udviklere en ramme til at bygge, studere og fremme udviklingen af sprogmodeller samt giver forskere adgang til trænings- og evalueringkode, træningsmetode, træningsdata, træningslog og mellemmodel-checkpoints. Eksisterende tilstand af kunst-modeller har varierende grader af åbenhed, hvorimod OLMo-modellen har frigivet hele rammen fra træning til data til evalueringværktøjer, hvilket reducerer ydelsesgapet i forhold til tilstand af kunst-modeller som LLaMA2-modellen.

En ingeniør af profession, en forfatter af hjerte. Kunal er en teknisk forfatter med en dyb kærlighed og forståelse af AI og ML, dedikeret til at forenkle komplekse koncepter inden for disse felter gennem sin engagerende og informative dokumentation.