Følg os

Kunstig intelligens

OLMo: Forbedring af videnskaben om sprogmodeller

mm

Udviklingen og fremskridtene af sprogmodeller i de sidste par år har markeret deres tilstedeværelse næsten overalt, ikke kun i NLP-forskning, men også i kommercielle tilbud og applikationer i den virkelige verden. Imidlertid har stigningen i kommerciel efterspørgsel efter sprogmodeller til en vis grad hindret samfundets vækst. Dette skyldes, at et flertal af state-of-the-art og dygtige modeller er lukket bag proprietære grænseflader, hvilket gør det umuligt for udviklingssamfundet at få adgang til vitale detaljer om deres træningsarkitektur, data og udviklingsprocesser. Det er nu ubestrideligt, at disse trænings- og strukturelle detaljer er afgørende for forskningsstudier, herunder adgang til deres potentielle risici og skævheder, hvilket skaber et krav for forskersamfundet om at have adgang til en virkelig åben og kraftfuld sprogmodel.

For at opfylde dette krav har udviklere skabt OLMo, en state-of-the-art, virkelig åben sprogmodelramme. Denne ramme giver forskere mulighed for at bruge OLMo til at bygge og studere sprogmodeller. I modsætning til de fleste avancerede sprogmodeller, som kun har frigivet grænsefladekode og modelvægte, er OLMo-rammeværket virkelig open source med offentligt tilgængelig evalueringskode, træningsmetoder og træningsdata. OLMos primære mål er at styrke og booste det åbne forskningssamfund og den kontinuerlige udvikling af sprogmodeller.

I denne artikel vil vi diskutere OLMo-rammerne i detaljer og undersøge dens arkitektur, metodologi og ydeevne sammenlignet med nuværende state-of-the-art rammer. Så lad os komme i gang.

OLMo: Forbedring af videnskaben om sprogmodeller

Sprogmodellen har uden tvivl været den hotteste trend i de sidste par år, ikke kun inden for AI- og ML-samfundet, men også på tværs af teknologiindustrien, på grund af dens bemærkelsesværdige evner til at udføre opgaver i den virkelige verden med menneskelignende ydeevne. ChatGPT er et glimrende eksempel på de potentielle sprogmodeller, hvor store aktører i teknologiindustrien udforsker sprogmodelintegration med deres produkter.

NLP, eller Natural Language Processing, er en af ​​de industrier, der i vid udstrækning har brugt sprogmodeller i løbet af de sidste par år. Men lige siden industrien begyndte at anvende menneskelige annoteringer til tilpasning og storstilet fortræning, har sprogmodeller været vidne til en hurtig forbedring af deres kommercielle levedygtighed, hvilket har resulteret i, at et flertal af avancerede sprog- og NLP-rammer har begrænset proprietære grænseflader, hvor udviklingssamfundet ikke har adgang til vitale detaljer.

For at sikre udviklingen af ​​sprogmodeller tilbyder OLMo, en state-of-the-art, virkelig åben sprogmodel, udviklere en ramme til at bygge, studere og fremme udviklingen af ​​sprogmodeller. Det giver også forskere adgang til dets trænings- og evalueringskode, træningsmetodik, træningsdata, træningslogfiler og kontrolpunkter for mellemliggende modeller. Eksisterende state-of-the-art modeller har varierende grader af åbenhed, hvorimod OLMo-modellen har frigivet hele rammen, fra træning til data til evalueringsværktøjer, og dermed mindsket ydeevnegabet sammenlignet med state-of-the-art modeller som f.eks. LLaMA2-modellen.

Til modellering og træning inkluderer OLMo-rammerne træningskoden, fulde modelvægte, ablationer, træningslogfiler og træningsmetrikker i form af grænsefladekode samt logs over vægte og skævheder. Til analyse og opbygning af datasæt inkluderer OLMo-rammeværket de fulde træningsdata, der bruges til AI2s Dolma- og WIMBD-modeller, sammen med koden, der producerer træningsdataene. Til evalueringsformål inkluderer OLMo-rammen AI2's Catwalk-model til downstream-evaluering og Paloma-modellen for forvirring-baseret evaluering.

OLMo: Model og arkitektur

OLMo-modellen anvender en transformerarkitektur, der kun er dekoder, baseret på Neural Information Processing Systems og leverer to modeller med henholdsvis 1 milliard og 7 milliarder parametre, med en 65 milliarder parametermodel under udvikling. 

Arkitekturen af ​​OLMo-rammeværket leverer adskillige forbedringer i forhold til rammer, inklusive vaniljetransformatorkomponenten i deres arkitektur, herunder den seneste state of the art store sprogmodeller som OpenLM, Falcon, LLaMA og PaLM. Følgende figur sammenligner OLMo-modellen med 7B milliarder parametre med nyere LLM'er, der opererer på næsten lige mange parametre. 

OLMo-rammeværket udvælger hyperparametrene ved at optimere modellen til træningsgennemstrømning på hardwaren, samtidig med at risikoen for langsom divergens og tabsspidser minimeres. Når det er sagt, er de primære ændringer implementeret af OLMo-rammen, der adskiller sig fra vaniljetransformatorarkitekturen, som følger:

Ingen skævheder

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

Ikke-parametrisk lagnorm

OLMo-rammen implementerer den ikke-parametriske formulering af lagnormen i sin arkitektur. Den ikke-parametriske lagnorm tilbyder ingen affin transformation inden for normen, dvs. den tilbyder ikke nogen adaptiv forstærkning eller bias. Ikke-parametriske lagnormer giver ikke kun mere sikkerhed end parametriske lagnormer, men de er også hurtigere. 

SwiGLU aktiveringsfunktion

Som et flertal af sprogmodeller som PaLM og LLaMA inkluderer OLMo-rammeværket SwiGLU-aktiveringsfunktionen i sin arkitektur i stedet for ReLU-aktiveringsfunktionen og øger den skjulte aktiveringsstørrelse til det nærmeste multiplum af 128 for at forbedre gennemløbet. 

RoPE eller Rotary Positional Embeddings

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

Fortræning med Dolma

Selvom udviklingsfællesskabet nu har forbedret adgang til modelparametre, forbliver dørene til adgang til før-træningsdatasæt stadig lukkede, da førtræningsdataene ikke frigives sammen med de lukkede modeller eller ved siden af ​​de åbne modeller. Desuden mangler teknisk dokumentation, der dækker sådanne data, ofte vitale detaljer, der kræves for fuldt ud at forstå og replikere modellen. Spærringen gør det svært at føre forskningen videre i visse tråde af sprogmodel forskning, herunder forståelsen af, hvordan træningsdataene påvirker modellens muligheder og begrænsninger. OLMo-rammen byggede og udgav sit før-træningsdatasæt, Dolma, for at lette åben forskning i sprogmodel før-træning. Dolma-datasættet er en multi-source og mangfoldig samling af over 3 billioner tokens på tværs af 5 milliarder dokumenter indsamlet fra 7 forskellige kilder, der almindeligvis bruges af kraftfulde store LLM'er til fortræning og er tilgængelige for det generelle publikum. Sammensætningen af ​​Dolma-datasættet er opsummeret i følgende tabel. 

Dolma-datasættet er bygget ved hjælp af en pipeline af 5 komponenter: sprogfiltrering, kvalitetsfiltrering, indholdsfiltrering, blanding af flere kilder, deduplikering og tokenisering. OLMo har også udgivet Dolma-rapporten, der giver mere indsigt i designprincipperne og konstruktionsdetaljerne sammen med en mere detaljeret indholdsoversigt. Modellen åbner også sine højtydende datakurationsværktøjer for at muliggøre nem og hurtig curation af datakorpus før træning. Evaluering af modellen følger en to-trins strategi, startende med online evaluering til beslutningstagning under modeltræning og en endelig offline evaluering for en aggregeret evaluering fra modelkontrolpunkter. Til offline-evaluering bruger OLMo Catwalk-rammeværket, vores offentligt tilgængelige evalueringsværktøj, der har adgang til en bred mangfoldighed af datasæt og opgaveformater. Rammen bruger Catwalk til downstream-evaluering såvel som iboende sprogmodelleringsevaluering på vores nye forvirringsbenchmark, Paloma. OLMo sammenligner det derefter med adskillige offentlige modeller ved hjælp af dens faste evalueringspipeline til både nedstrøms- og forvirringsevaluering. 

OLMo kører adskillige evalueringsmålinger om modelarkitekturen, initialisering, optimering, læringshastighedsplan og blandinger af data under træningen af ​​modellen. Udviklere kalder det OLMos "online evaluering", idet det er en in-loop iteration ved hver 1000 træningstrin (eller ~4B træningstokens) for at give et tidligt og kontinuerligt signal om kvaliteten af ​​den model, der trænes. Opsætningen af ​​disse evalueringer afhænger af de fleste kerneopgaver og eksperimentindstillinger, der bruges til vores offlineevaluering. OLMo sigter mod ikke kun at sammenligne OLMo-7B med andre modeller for at opnå den bedste ydeevne, men også at vise, hvordan det muliggør en mere fuldstændig og mere kontrolleret videnskabelig evaluering. OLMo-7B er den største sprogmodel med eksplicit dekontaminering til forvirringsevaluering. 

OLMo træning

Det er vigtigt at bemærke, at OLMo-frameworkmodellerne trænes ved hjælp af ZeRO-optimeringsstrategien, som leveres af FSDP-frameworket via PyTorch, og på denne måde reducerer GPU-hukommelsesforbruget betydeligt ved at sharding modelvægte over GPU'er. Med dette kan træning på 7B-skalaen udføres med en mikrobatchstørrelse på 4096 tokens pr. GPU på vores hardware. Træningsframeworket for OLMo-1B- og -7B-modellerne bruger en globalt konstant batchstørrelse på omkring 4 millioner tokens (2048 instanser hver med en sekvenslængde på 2048 tokens). For modellen OLMo-65B (i øjeblikket under træning) bruger udviklere en batchstørrelsesopvarmning, der starter ved omkring 2 millioner tokens (1024 instanser), og fordobles for hver 100 milliarder tokens indtil omkring 16 millioner tokens (8192 instanser). 

For at forbedre gennemløbet anvender vi træning med blandet præcision (Micikevicius et al., 2017) gennem FSDPs indbyggede indstillinger og PyTorchs forstærkermodul. Sidstnævnte sikrer, at visse operationer som softmax altid kører med fuld præcision for at forbedre stabiliteten, mens alle andre operationer kører med halv præcision med bfloat16-formatet. Under vores specifikke indstillinger holdes de sønderdelte modelvægte og optimeringstilstand lokalt for hver GPU i fuld præcision. Vægtene inden for hver transformerblok bliver kun støbt til bfloat16-format, når parametrene i fuld størrelse materialiseres på hver GPU under fremad- og tilbagegående gennemløb. Gradienter reduceres på tværs af GPU'er med fuld præcision. 

Optimizer

OLMo-rammen gør brug af AdamW optimizer med følgende hyperparametre. 

For alle modelstørrelser opvarmes indlæringshastigheden lineært over de første 5000 trin (~21B tokens) til en maksimal værdi og falder derefter lineært med den omvendte kvadratrod af trintallet til den specificerede minimumsindlæringshastighed. Efter opvarmningsperioden klipper modellen gradienter således, at den samlede l-norm for parametergradienterne ikke overstiger 1.0. Følgende tabel giver en sammenligning af vores optimeringsindstillinger på 7B-skalaen med dem fra andre nyere LM'er, der også brugte AdamW. 

Træningsdata

Træning involverer tokenisering af træningsforekomster efter ord og BPE-tokenizer for sætningsstykkemodellen efter tilføjelse af et særligt EOS-token i slutningen af ​​hvert dokument, og derefter grupperer vi på hinanden følgende bidder af 2048 tokens for at danne træningsforekomster. Træningsforekomster blandes på nøjagtig samme måde for hvert træningsløb. Datarækkefølgen og den nøjagtige sammensætning af hver træningsbatch kan rekonstrueres ud fra de artefakter, vi frigiver. Alle de frigivne OLMo-modeller er blevet trænet til mindst 2T tokens (en enkelt epoke over dets træningsdata), og nogle blev trænet ud over det ved at starte en anden epoke over dataene med en anden blander rækkefølge. I betragtning af den lille mængde data, som dette gentager, burde det have en ubetydelig effekt. 

Resultater

Kontrolpunktet, der bruges til evaluering af OLMo-7B, trænes op til 2.46T tokens på Dolma-datasættet med den lineære læringshastighedsnedbrydningsplan nævnt før. Yderligere tuning af dette kontrolpunkt på Dolma-datasættet for 1000 trin med lineært faldende indlæringshastighed til 0 øger yderligere modellens ydeevne på forvirring og slutopgaveevalueringssuiter beskrevet før. Til den endelige evaluering sammenlignede udviklere OLMo med andre offentligt tilgængelige modeller - LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B og RPJ-INCITE-7B. 

Nedstrømsevaluering

Den centrale downstream-evalueringspakke er opsummeret i følgende tabel. 

Vi udfører nul-skudsevaluering efter rangklassificeringstilgang i alle tilfælde. I denne tilgang, kandidaten tekstudfyldninger (f.eks. forskellige flervalgsmuligheder) rangeres efter sandsynlighed (normalt normaliseret af en normaliseringsfaktor), og forudsigelsesnøjagtighed rapporteres. 

Selvom Catwalk bruger adskillige typiske sandsynlighedsnormaliseringsmetoder, såsom normalisering pr. token og normalisering pr. tegn, vælges de anvendte normaliseringsstrategier separat for hvert datasæt og inkluderer svarets ubetingede sandsynlighed. Mere konkret involverede dette ingen normalisering for arc- og openbookqa-opgaverne, normalisering pr. token 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-forudsigelsesopgave).

Den følgende figur viser fremskridtene for nøjagtighedsscore for de ni kerneslutopgaver. Det kan udledes, at der er en generelt stigende tendens i nøjagtighedstallet for alle opgaver, bortset fra OBQA, da OLMo-7B er videreuddannet på flere tokens. Et skarpt opadgående flueben i nøjagtigheden af ​​mange opgaver mellem sidste og næstsidste trin viser os fordelen ved lineært at reducere LR til 0 over de sidste 1000 træningstrin. For eksempel, i tilfælde af indre evalueringer, argumenterer Paloma gennem en række analyser, fra inspektion af ydeevne i hvert domæne separat op til mere opsummerede resultater over kombinationer af domæner. Vi rapporterer resultater på to niveauer af granularitet: den samlede ydeevne over 11 af de 18 kilder i Paloma, såvel som mere finkornede resultater for hver af disse kilder individuelt.

Afsluttende tanker

I denne artikel har vi talt om OLMo, en topmoderne virkelig åben sprogmodel, der tilbyder udviklere en ramme til at bygge, studere og fremme udviklingen af ​​sprogmodeller sammen med at give forskere adgang til dens trænings- og evalueringskode, træningsmetodik, træningsdata, træningslogfiler og kontrolpunkter for mellemliggende model. Eksisterende avancerede modeller har varierende grader af åbenhed, hvorimod OLMo-modellen har frigivet hele rammen fra træning til data til evalueringsværktøjer, og dermed mindsket forskellen i ydeevne sammenlignet med avancerede modeller som LLaMA2-modellen. 

"En ingeniør af profession, en forfatter udenad". Kunal er en teknisk skribent med en dyb kærlighed og forståelse for AI og ML, dedikeret til at forenkle komplekse begreber på disse områder gennem sin engagerende og informative dokumentation.