AI-modeller og plattformer
OLMo: Forbedring av vitenskapen om språkmodeller
Utviklingen og fremgangen av språkmodeller de siste årene har markert deres tilstedeværelse nesten overalt, ikke bare i NLP-forskning, men også i kommersielle tilbud og virkelige applikasjoner. Imidlertid har økningen i kommersiell etterspørsel etter språkmodeller, i en viss grad, hindret veksten av samfunnet. Dette skyldes at de fleste av de beste og mest kapable modellene er låst bak lukkede grensesnitt, noe som gjør det umulig for utviklingssamfunnet å få tilgang til vital informasjon om deres treningssarkitektur, data og utviklingsprosesser. Det er nå uimotsigelig at disse trening- og strukturelle detaljene er avgjørende for forskningsstudier, inkludert tilgang til deres potensielle risiko og fordommer, og skaper dermed et krav til at forskningssamfunnet må ha tilgang til en virkelig åpen og kraftig språkmodell.
For å møte dette kravet har utviklere skapt OLMo, et toppmoderne, virkelig åpent språkmodellrammeverk. Dette rammeverket lar forskere bruke OLMo til å bygge og studere språkmodeller. I motsetning til de fleste toppmoderne språkmodellene, som bare har sluppet ut grensesnittskode og modellvekt, er OLMo-rammeverket virkelig åpent, med offentlig tilgjengelig evalueringkode, treningsmetoder og treningsdata. OLMos primære mål er å styrke og fremme det åpne forskningssamfunnet og den kontinuerlige utviklingen av språkmodeller.
I denne artikkelen vil vi diskutere OLMo-rammeverket i detalj, og se på dens arkitektur, metode og ytelse sammenlignet med nåværende toppmoderne rammeverk. La oss begynne.
OLMo: Forbedring av vitenskapen om språkmodeller
Språkmodellen har uten tvil vært den heteste trenden de siste årene, ikke bare innen AI- og ML-samfunnet, men også over hele teknologiindustrien, på grunn av dens bemerkelsesverdige evner til å utføre virkelige oppgaver med menneske-lignende ytelse. ChatGPT er et eksempel på potensialet språkmodellene har, med store spillere i teknologiindustrien som utforsker språkmodell-integrasjon med sine produkter.
NLP, eller naturlig språkbehandling, er en av industrien som har utstrakt brukt språkmodeller de siste årene. Imidlertid, siden industrien begynte å bruke menneskelig annotasjon for justering og stor-skala-pre-trening, har språkmodellene vært utsatt for en rask forbedring av deres kommersielle levedyktighet, noe som har resultert i at de fleste toppmoderne språk- og NLP-rammeverk har begrensede, lukkede grensesnitt, med utviklingssamfunnet som ikke har tilgang til vital informasjon.
For å sikre fremgangen av språkmodellene, tilbyr OLMo, et toppmoderne, virkelig åpent språkmodellrammeverk, utviklere en ramme for å bygge, studere og fremme utviklingen av språkmodeller. Det gir også forskere tilgang til trenings- og evalueringsskoden, treningsmetodene, treningsdataene, treningsloggene og mellomliggende modellkontrollpunkter. Eksisterende toppmoderne modeller har varierende grader av åpenhet, mens OLMo-modellen har sluppet ut hele rammeverket, fra trening til data til evalueringverktøy, og dermed har redusert ytelsesgapet når sammenlignet med toppmoderne modeller som LLaMA2-modellen.
For modellering og trening inkluderer OLMo-rammeverket treningskoden, full modellvekt, ablasjoner, treningslogger og treningsmetrikker i form av grensesnittskode, samt Weights & Biases-logger. For analyse og datasettbygging inkluderer OLMo-rammeverket full treningsdata brukt for AI2s Dolma- og WIMBD-modeller, samt koden som produserer treningsdataene. For evaluering inkluderer OLMo-rammeverket AI2s Catwalk-modell for nedstrøms-evaluering og Paloma-modellen for forvirringsbasert evaluering.
OLMo : Modell og arkitektur
OLMo-modellen adopterer en decoder-bare transformer-arkitektur basert på Neural Information Processing Systems, og leverer to modeller med 1 milliard og 7 milliarder parametre henholdsvis, med en 65 milliarder parametermodell som for tiden er under utvikling.

Arkitekturen til OLMo-rammeverket leverer flere forbedringer over rammeverk som inkluderer den vanlige transformer-komponenten i deres arkitektur, inkludert nylige toppmoderne store språkmodeller som OpenLM, Falcon, LLaMA og PaLM. Følgende figur sammenligner OLMo-modellen med 7 milliarder parametre mot nylige LLM-er som opererer med omtrent like mange parametre.

OLMo-rammeverket velger hyperparameterne ved å optimere modellen for trenings-gjennomstrømming på maskinvaren samtidig som den minimiserer risikoen for langsom divergens og tap-spike. Med det sagt er de primære endringene implementert av OLMo-rammeverket som skiller seg fra den vanlige transformer-arkitekturen følgende:
Ingen fordommer
I motsetning til Falcon, PaLM, LLaMA og andre språkmodeller, inkluderer OLMo-rammeverket ingen fordommer i sin arkitektur for å forbedre treningsstabiliteten.
Ikke-parametrisk lag-norm
OLMo-rammeverket implementerer den ikke-parametrisk formuleringen av lag-normen i sin arkitektur. Den ikke-parametrisk lag-norm tilbyr ingen affin transformasjon innenfor normen, dvs. den tilbyr ingen adaptiv gevinst eller fordom. Ikke-parametrisk lag-norm tilbyr ikke bare mer sikkerhet enn parametrisk lag-normer, men de er også raskere.
SwiGLU-aktiveringsfunksjon
Liksom de fleste språkmodellene, som PaLM og LLaMA, inkluderer OLMo-rammeverket SwiGLU-aktiveringsfunksjonen i sin arkitektur i stedet for ReLU-aktiveringsfunksjonen, og øker skjulte aktiveringsstørrelsen til nærmeste multiple av 128 for å forbedre gjennomstrømming.
RoPE eller rotasjonelle posisjons-embeddings
OLMo-modellene følger LLaMA- og PaLM-modellene og bytter ut absolute posisjons-embeddings med RoPE eller rotasjonelle posisjons-embeddings.
For-trening med Dolma
Selv om utviklingssamfunnet nå har forbedret tilgang til modellparametre, er dørene til å få tilgang til for-trening-datasett fortsatt stengt, da for-trening-dataene ikke er sluppet ut sammen med de lukkede modellene eller sammen med de åpne modellene. Videre mangler tekniske dokumentasjoner som dekker slike data ofte viktig informasjon som er nødvendig for å fullstendig forstå og replikere modellen. Veiblokkeringen gjør det vanskelig å fremme forskningen i visse tråder av språkmodellforskning, inkludert forståelsen av hvordan treningsdataene påvirker modellens evner og begrensninger. OLMo-rammeverket bygget og slapp ut sitt for-trening-datasett, Dolma, for å fremme åpen forskning på språkmodell-for-trening. Dolma-datasettet er en multi-kilde og divers samling av over 3 billioner token over 5 milliarder dokumenter samlet fra 7 forskjellige kilder som vanligvis brukes av kraftige, store-skala LLM-er for for-trening og er tilgjengelig for allmennheten. Sammensetningen av Dolma-datasettet er sammenfattet i følgende tabell.

Dolma-datasettet er bygget ved hjelp av en pipeline bestående av 5 komponenter: språkfiltrering, kvalitetsfiltrering, innholdsfiltrering, multi-kilde-blanding, duplikatfjerning og tokenisering. OLMo har også sluppet ut Dolma-rapporten som gir mer innsikt i designprinsippene og konstruksjonsdetaljene, samt en mer detaljert innholdssammenfatning. Modellen åpner også kilden for sine høy-ytelses data-kurering-verktøy for å muliggjøre enkel og rask kurering av for-trening-datasett. Evalueringen av modellen følger en to-trinns-strategi, som starter med online-evaluering for beslutning under modell-trening og en slutt-evaluering for en aggregert evaluering fra modell-kontrollpunkter. For slutt-evaluering bruker OLMo Catwalk-rammeverket, vårt offentlig tilgjengelige evaluering-verktøy som har tilgang til en bred diversitet av datasett og oppgave-formater. Rammeverket bruker Catwalk for nedstrøms-evaluering, samt intrinsisk språkmodell-evaluering på vårt nye forvirrings-benchmark, Paloma. OLMo sammenligner det med flere offentlige modeller ved hjelp av sin faste evaluering-pipeline, både for nedstrøms- og forvirrings-evaluering.
OLMo kjører flere evaluering-metrikker om modell-arkitekturen, initialisering, optimisatorer, lærings-rateskema og blandinger av data under treningen av modellen. Utviklere kaller det OLMos “online-evaluering” fordi det er en løkke i løpet av hver 1000 trenings-steg (∼4B trenings-token) for å gi en tidlig og kontinuerlig signal om kvaliteten på modellen som trenes. Oppsettet av disse evalueringene avhenger av en majoritet av core-oppgaver og eksperiment-innstillinger brukt for vår slutt-evaluering. OLMo har som mål ikke bare å sammenligne OLMo-7B mot andre modeller for beste ytelse, men også å vise hvordan det muliggjør en fullere og mer kontrollert vitenskapelig evaluering. OLMo-7B er den største språkmodellen med eksplisitt dekontaminering for forvirrings-evaluering.
OLMo-trening
Det er viktig å merke seg at OLMo-rammeverk-modellene trenes ved hjelp av ZeRO-optimisator-strategien, som er tilgjengelig via FSDP-rammeverket gjennom PyTorch, og på denne måten vesentlig reduserer GPU-minne-forbruk ved å shard modell-vekt over GPU-er. Med dette kan trening utføres med en mikro-batch-størrelse på 4096 token per GPU på vår maskinvare. Trenings-rammeverket for OLMo-1B- og -7B-modellene bruker en globalt konstant batch-størrelse på omtrent 4M token (2048 instanser, hver med en sekvenslengde på 2048 token). For modellen OLMo-65B (som for tiden er under trening) bruker utviklerne en batch-størrelse-varm opp som starter på omtrent 2M token (1024 instanser), og dobles hver 100B token inntil omtrent 16M token (8192 instanser).
For å forbedre gjennomstrømming, bruker vi blandet-presisjon-trening (Micikevicius et al., 2017) gjennom FSDPs innebygde innstillinger og PyTorchs amp-modul. Den sistnevnte sikrer at visse operasjoner som softmax alltid kjøres i full presisjon for å forbedre stabiliteten, mens alle andre operasjoner kjøres i halv-presisjon med bfloat16-formatet. Under våre spesifikke innstillinger, beholdes de shardede modell-vektene og optimisator-tilstanden lokale til hver GPU i full presisjon. Vektene innenfor hver transformer-blokk castes kun til bfloat16-format når full-størrelse-parametrene materialiseres på hver GPU under fremover- og bakover-passer. Gradients reduseres over GPU-er i full presisjon.
Optimisator
OLMo-rammeverket bruker AdamW-optimisatoren med følgende hyperparameterne.

For alle modell-størrelser, varmer lærings-raten lineært opp over de første 5000 steg (∼21B token) til en maksimum-verdi, og deretter avtar lineært med den inverse kvadrat-roten av steg-nummeret til den spesifiserte minimum lærings-raten. Etter varm-opp-perioden, klipper modellen gradientene slik at den totale l-normen av parameter-gradientene ikke overstiger 1,0. Følgende tabell gir en sammenligning av våre optimisator-innstillinger på 7B-skalaen med de fra andre nylige LMs som også brukte AdamW.

Trenings-data
Trenings-involverer tokenisering av trenings-eksempler ved ord og BPE-tokenizer for setningen-piecemodellen etter å ha lagt til en spesiell EOS-token på slutten av hver dokument, og deretter grupperer vi påfølgende chunker av 2048 token for å danne trenings-eksempler. Trenings-eksemplene blandes i samme måte for hver trenings-kjøring. Data-rekkefølgen og den eksakte sammensetningen av hver trenings-batch kan rekonstrueres fra artifactene vi slipper ut. Alle de sluppet ut OLMo-modellene er trenet i minst 2T token (en enkelt epoch over trenings-dataene), og noen er trenet utover dette ved å starte en ny epoch over dataene med en annen blandings-rekkefølge. Gitt den lille mengden data som dette gjentar, burde det ha en ubetydelig effekt.
Resultater
Kontrollpunktet som brukes for evaluering av OLMo-7B er trenet opp til 2,46T token på Dolma-datasettet med den lineære lærings-rate-avtalen nevnt tidligere. Videre justering av dette kontrollpunktet på Dolma-datasettet for 1000 steg med lineært avtatt lærings-rate til 0 øker ytterligere modell-ytelsen på forvirring og slutt-oppgave-evaluering-suiter beskrevet tidligere. For den slutt-evalueringen sammenlignet utviklerne OLMo med andre offentlig tilgjengelige modeller – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B og RPJ-INCITE-7B.
Nedstrøms-evaluering
Den primære nedstrøms-evaluering-suiten er sammenfattet i følgende tabell.

Vi utfører null-skudd-evaluering ved rangerings-klassifisering-tilnærming i alle tilfeller. I denne tilnærmingen rangeres kandidat tekst-fullføringer (f.eks. forskjellige fler-valgs-alternativer) etter sannsynlighet (vanligvis normalisert av en eller annen normaliseringsfaktor), og prediksjons-nøyaktighet rapporteres.
Mens Catwalk bruker flere typiske sannsynlighets-normaliserings-metoder, som per-token-normalisering og per-tekst-normalisering, velges normaliserings-strategiene separat for hver datasett og inkluderer svarets ubetingede sannsynlighet. Mer konkret innebærer dette ingen normalisering for arc- og openbookqa-oppgavene, per-token-normalisering for hellaswag-, piqa- og winogrande-oppgavene, og ingen normalisering for boolq-, copa- og sciq-oppgavene (dvs. oppgaver i en formulering nær en enkelt-token-prediksjons-oppgave).

Følgende figur viser fremgangen av nøyaktighets-scoren for de ni primære slutt-oppgavene. Det kan sluttes at det er en generelt økende trend i nøyaktighets-tall for alle oppgaver, unntatt for OBQA, når OLMo-7B blir videre trenet på flere token. En skarp oppadgående vinkel i nøyaktighet for mange oppgaver mellom den siste og nest siste steg viser oss fordelene med å lineært redusere LR til 0 over de siste 1000 trenings-steg. For eksempel, i tilfelle av intrinsisk evaluering, argumenterer Paloma gjennom en rekke analyser, fra inspeksjon av ytelse i hver domene separat til mer sammenfattede resultater over kombinasjoner av domener. Vi rapporterer resultater på to nivåer av granularitet: den aggregerte ytelsen over 11 av de 18 kildene i Paloma, samt mer fin-granulerte resultater over hver av disse kildene individuelt.

Slutt-tanker
I denne artikkelen har vi talt om OLMo, et toppmoderne, virkelig åpent språkmodellrammeverk som tilbyr utviklere en ramme for å bygge, studere og fremme utviklingen av språkmodeller, samt gir forskere tilgang til trenings- og evalueringsskoden, treningsmetodene, treningsdataene, treningsloggene og mellomliggende modell-kontrollpunkter. Eksisterende toppmoderne modeller har varierende grader av åpenhet, mens OLMo-modellen har sluppet ut hele rammeverket fra trening til data til evaluering-verktøy, og dermed har redusert ytelses-gapet når sammenlignet med toppmoderne modeller som LLaMA2-modellen.












