Modely a platformy AI

OLMo: Rozšiřování vědy o modelech jazyka

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Vývoj a pokrok jazykových modelů v posledních letech se projevil téměř všude, nejen ve výzkumu NLP, ale i v komerčních nabídkách a reálných aplikacích. Nicméně, vzrůstající komerční poptávka po jazykových modelech zpomalila růst komunity, protože většina špičkových a schopných modelů je uzavřena za proprietárními rozhraními, což znemožňuje vývojářské komunitě přístup k důležitým detailům jejich tréninkové architektury, dat a vývojových procesů. Je nyní nepochybné, že tyto tréninkové a strukturální detaily jsou zásadní pro výzkumné studie, včetně přístupu k jejich potenciálním rizikům a偏见ům, a tím vytvářejí požadavek pro výzkumnou komunitu mít přístup k truly otevřenému a silnému jazykovému modelu.

Aby bylo možné splnit tento požadavek, vývojáři vytvořili OLMo, špičkový, truly otevřený jazykový modelový rámec. Tento rámec umožňuje výzkumníkům používat OLMo k budování a studiu jazykových modelů. Na rozdíl od většiny špičkových jazykových modelů, které vydaly pouze rozhraní kódu a modelové váhy, je OLMo rámec truly otevřený, s veřejně přístupným vyhodnocovacím kódem, tréninkovými metodami a tréninkovými daty. Primárním cílem OLMo je posílit a podpořit otevřenou výzkumnou komunitu a kontinuální vývoj jazykových modelů.

V tomto článku budeme diskutovat o OLMo rámci v detailu, zkoumající jeho architekturu, metodologii a výkon ve srovnání se současnými špičkovými rámci. Takže, pojďme začít.

OLMo: Rozšiřování vědy o modelech jazyka

Jazykový model byl bezpochyby nejžhavějším trendem posledních let, nejen ve společenství AI a ML, ale i v celém technologickém průmyslu, díky jeho pozoruhodným schopnostem při provádění reálných úkolů s lidskou podobou. ChatGPT je příkladem potenciálu jazykových modelů, s hlavními hráči v technologickém průmyslu, kteří zkoumají integraci jazykových modelů se svými produkty.

NLP, nebo Přirozený jazykový zpracování, je jedním z odvětví, které v posledních letech široce využívalo jazykové modely. Nicméně, od doby, kdy průmysl začal využívat lidskou anotaci pro zarovnání a velkoškálovou předtrénink, jazykové modely prokázaly rychlé zlepšení své komerční životaschopnosti, vedoucí k tomu, že většina špičkových jazykových a NLP rámců má uzavřená proprietární rozhraní, s výzkumnou komunitou, která nemá přístup k důležitým detailům.

Aby se zajistil pokrok jazykových modelů, OLMo, špičkový, truly otevřený jazykový model, nabízí vývojářům rámec pro budování, studium a rozvoj jazykových modelů. Poskytuje také výzkumníkům přístup k jeho tréninkovému a vyhodnocovacímu kódu, tréninkové metodologii, tréninkovým datům, tréninkovým logům a mezitímním modelovým kontrolním bodům. Existující špičkové modely mají různé stupně otevřenosti, zatímco OLMo model vydal celý rámec, od tréninku po data až po vyhodnocovací nástroje, čímž se zúžil výkonový rozdíl ve srovnání se špičkovými modely, jako je LLaMA2 model.

Pro modelování a trénink, OLMo rámec zahrnuje tréninkový kód, plné modelové váhy, ablace, tréninkové logy a tréninkové metriky ve formě rozhraní kódu, stejně jako Weights & Biases logy. Pro analýzu a budování dat, OLMo rámec zahrnuje plná tréninková data používaná pro AI2’s Dolma a WIMBD modely, spolu s kódem, který produkuje tréninková data. Pro vyhodnocovací účely, OLMo rámec zahrnuje AI2’s Catwalk model pro downstream vyhodnocení a Paloma model pro perplexity-založené vyhodnocení.

OLMo : Model a architektura

OLMo model采用 decoder-only transformer architekturu založenou na Neural Information Processing Systems a dodává dva modely s 1 miliardou a 7 miliardami parametrů, s 65 miliardami parametrů aktuálně ve vývoji.

Architektura OLMo rámce dodává několik vylepšení oproti rámcům, včetně vanilla transformer komponenty v jejich architektuře, včetně nedávných špičkových velkých jazykových modelů, jako je OpenLM, Falcon, LLaMA a PaLM. Následující obrázek porovnává OLMo model s 7B miliardami parametrů proti nedávným LLMs, které operují na téměř stejném počtu parametrů.

OLMo rámec vybírá hyperparametry optimalizací modelu pro tréninkový průtok na hardwaru, zatímco současně minimalizuje riziko pomalého rozdílu a ztrátových špiček. S tím řečeno, primární změny implementované OLMo rámcem, které jej odlišují od vanilla transformer architektury, jsou následující:

Žádné偏见

Na rozdíl od Falcon, PaLM, LLaMA a dalších jazykových modelů, OLMo rámec neobsahuje žádné偏见 ve své architektuře, aby zlepšil tréninkovou stabilitu.

Non-Parametric Layer Norm

OLMo rámec implementuje non-parametrickou formulaci layer normy v své architektuře. Non-Parametric Layer Norm nabízí žádnou afinitní transformaci uvnitř normy, tzn. že neobsahuje žádné adaptivní zisky nebo偏见. Non-Parametric Layer Norm nejen nabízí více bezpečnosti než Parametric Layer Normy, ale jsou také rychlejší.

SwiGLU Activation Function

Stejně jako většina jazykových modelů, jako je PaLM a LLaMA, OLMo rámec zahrnuje SwiGLU activation funkci ve své architektuře místo ReLU activation funkce a zvyšuje skrytou aktivaci velikosti na nejbližší násobek 128, aby zlepšil průtok.

RoPE nebo Rotary Positional Embeddings

OLMo modely následují LLaMA a PaLM modely a nahrazují absolutní positionální embedinky za RoPE nebo Rotary Positional Embeddings.

Předtrénink s Dolma

Ačkoli vývojářská komunita nyní má lepší přístup k modelovým parametrům, dveře k přístupu k předtréninkovým datům jsou stále uzavřeny, protože předtréninková data nejsou vydána spolu s uzavřeným modely, ani spolu s otevřenými modely. Kromě toho, technické dokumentace pokrývající tato data často postrádají důležité detaily potřebné pro plné pochopení a replikaci modelu. Tento problém činí obtížným pokračovat ve výzkumu v určitých vláknech jazykového modelu výzkumu, včetně pochopení, jak tréninková data ovlivňují schopnosti a omezení modelu. OLMo rámec vytvořil a vydal svůj předtréninkový dataset, Dolma, aby usnadnil otevřený výzkum jazykového modelu předtréninku. Dolma dataset je multi-zdrojová a rozmanitá sbírka více než 3 bilionů tokenů napříč 5 miliardami dokumentů shromážděných z 7 různých zdrojů, které jsou běžně používány silnými velkými jazykovými modely pro předtrénink a jsou přístupné veřejnosti. Složení Dolma datasetu je shrnuto v následující tabulce.

Dolma dataset je vytvořen pomocí pipeline 5 komponent: jazykové filtrování, kvalitativní filtrování, obsahové filtrování, multi-zdrojového míchání, deduplikace a tokenizace. OLMo také vydal Dolma zprávu, která poskytuje více informací o designových principech a konstrukčních detailech, spolu s podrobnějším obsahovým souhrnem. Model také otevřeně vydává své high-performance datové kurátorské nástroje, aby ermögnil snadnou a rychlou kuraci předtréninkových datových sbírek. Hodnocení modelu následuje dvou-stupňovou strategii, počínaje online hodnocením pro rozhodování během modelového tréninku a konečným offline hodnocením pro agregované hodnocení z modelových kontrolních bodů. Pro offline hodnocení, OLMo používá Catwalk framework, náš veřejně dostupný vyhodnocovací nástroj, který má přístup k široké diverzitě dat a úkolových formátů. Rámec používá Catwalk pro downstream vyhodnocení, stejně jako intrinsic jazykový modelovací vyhodnocení na našem novém perplexity benchmarku, Paloma. OLMo pak porovnává jej proti několika veřejným modelům pomocí jeho pevného vyhodnocovacího pipeline, pro obě downstream a perplexity vyhodnocení.

OLMo provádí několik vyhodnocovacích metrik o modelové architektuře, inicializaci, optimalizátorech, učebních rychlostech a směsích dat během tréninku modelu. Vývojáři nazývají to OLMo “online vyhodnocení”, protože je to smyčka v každé 1000 tréninkových krocích (∼4B tréninkových tokenů), aby poskytla ranou a kontinuální signál o kvalitě modelu, který je trénován. Nastavení těchto vyhodnocovacích metrik závisí na většině základních úkolů a experimentálních nastaveních, která jsou použita pro naše offline vyhodnocení. OLMo cílí nejen na srovnání OLMo-7B proti ostatním modelům pro nejlepší výkon, ale také na to, aby ukázalo, jak ermögňuje plnější a kontrolovanější vědecké vyhodnocení. OLMo-7B je největší jazykový model s explicitním dekontaminovaným perplexity vyhodnocením.

OLMo Trénink

Je důležité poznamenat, že OLMo rámec modely jsou trénovány pomocí ZeRO optimizer strategie, která je poskytována FSDP rámcem prostřednictvím PyTorch a tímto způsobem podstatně snižuje spotřebu GPU paměti šaržováním modelových váh přes GPU. S tím, při 7B škále, trénink může být proveden s mikro-batch velikostí 4096 tokenů na GPU na našem hardwaru. Tréninkový rámec pro OLMo-1B a -7B modely používá globálně konstantní batch velikost asi 4M tokenů (2048 instancí, každá s délkou sekvence 2048 tokenů). Pro model OLMo-65B (aktuálně ve vývoji), vývojáři používají batch velikost warmup, která začíná asi 2M tokeny (1024 instance), zdvojnásobením každých 100B tokenů, dokud se nedosáhne asi 16M tokenů (8192 instance).

Pro zlepšení průtoku, používáme mixed-precision trénink (Micikevicius et al., 2017) prostřednictvím FSDP’s built-in nastavení a PyTorch’s amp modulu. Poslední zajišťuje, že certain operace, jako je softmax, vždy běží v plné přesnosti, aby se zlepšila stabilita, zatímco všechny ostatní operace běží v poloviční přesnosti s bfloat16 formátem. Pod našimi specifickými nastaveními, šaržované modelové váhy a optimalizátorový stav lokální na každém GPU jsou uchovávány v plné přesnosti. Váhy uvnitř každé transformer bloku jsou pouze castovány do bfloat16 formátu, když jsou plné velikosti parametrů materializovány na každém GPU během forward a backward passes. Gradients jsou redukovány přes GPU v plné přesnosti.

Optimalizátor

OLMo rámec používá AdamW optimalizátor s následujícími hyperparametry.

Pro všechny modelové velikosti, učební rychlost se zahřívá lineárně během prvních 5000 kroků (∼21B tokenů) na maximální hodnotu a poté klesá lineárně s inverzním čtvercem počtu kroků na specifikovanou minimální učební rychlost. Po zahřívacím období, model ořezává gradienty, aby celková l-norma parametrů gradientů nepřesáhla 1,0. Následující tabulka poskytuje srovnání našich optimalizátorových nastavení na 7B škále s ostatními nedávnými LMs, které také použily AdamW.

Tréninková data

Trénink zahrnuje tokenizaci tréninkových instancí slovem a BPE tokenizérem pro sentence piece model po přidání speciálního EOS tokenu na konci každého dokumentu a poté seskupení po sobě jdoucích chunků 2048 tokenů, aby se vytvořily tréninkové instance. Tréninkové instance jsou promíchány přesně stejným způsobem pro každou tréninkovou běh. Data objednávka a přesná kompozice každé tréninkové dávky mohou být rekonstruovány z artifactů, které vydáváme. Všechny vydané OLMo modely byly trénovány alespoň 2T tokenů (jedna epocha přes tréninková data) a některé byly trénovány dále, počínaje druhou epochou přes data s jinou náhodnou objednávající. Vzhledem k malému množství dat, které se opakuje, by to mělo zanedbatelný efekt.

Výsledky

Checkpoint použitý pro vyhodnocení OLMo-7B je trénován až 2,46T tokenů na Dolma datasetu s lineárním učebním poklesem, jak je zmíněno dříve. Další doladění tohoto checkpointu na Dolma datasetu pro 1000 kroků s lineárním poklesem učební rychlosti na 0 dále zvyšuje modelový výkon na perplexity a koncovém úkolu vyhodnocovacích sadách, jak je popsáno dříve. Pro konečnou vyhodnocení, vývojáři porovnali OLMo s ostatními veřejně dostupnými modely – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B a RPJ-INCITE-7B.

Downstream vyhodnocení

Jádro downstream vyhodnocovací sada je shrnuta v následující tabulce.

Provádíme zero-shot vyhodnocení pomocí rank klasifikační metody ve všech případech. V této metodě, kandidátní textové dokončení (například různé multiple-choice možnosti) jsou hodnoceny podle pravděpodobnosti (obvykle normalizované pomocí some normalizačního faktoru) a předpovězená přesnost je hlášena.

Zatímco Catwalk používá několik typických pravděpodobnostních normalizačních metod, jako je per-token normalizace a per-character normalizace, normalizační strategie aplikované jsou vybrány samostatně pro každou datovou sadu a zahrnují bezpodmínečnou pravděpodobnost odpovědi. Konkrétněji, to zahrnuje žádnou normalizaci pro arc a openbookqa úkoly, per-token normalizaci pro hellaswag, piqa a winogrande úkoly a žádnou normalizaci pro boolq, copa a sciq úkoly (tj. úkoly v formulaci blízké jednoduché tokenové predikční úkolu).

Následující obrázek ukazuje pokrok přesnosti skóre pro devět základních koncových úkolů. Můžeme vyvodit, že existuje obecně rostoucí trend v přesnosti čísla pro všechny úkoly, kromě OBQA, protože OLMo-7B je dále trénován na více tokenů. Rychlý vzestupní tick v přesnosti mnoha úkolů mezi posledním a druhým krokem ukazuje nám benefit lineárního snižování LR na 0 během posledních 1000 tréninkových kroků. Pro intrinsic vyhodnocení, Paloma argumentuje prostřednictvím série analýz, od inspekce výkonu v každém doméně samostatně až po více souhrnné výsledky přes kombinace domén. Hlášíme výsledky na dvou úrovních granularity: agregované výkonu přes 11 z 18 zdrojů v Paloma, stejně jako více jemnozrnné výsledky přes každý z těchto zdrojů samostatně.

Konečné myšlenky

V tomto článku, jsme mluvili o OLMo, špičkovém, truly otevřeném jazykovém modelu, který nabízí vývojářům rámec pro budování, studium a rozvoj jazykových modelů, stejně jako poskytuje výzkumníkům přístup k jeho tréninkovému a vyhodnocovacímu kódu, tréninkové metodologii, tréninkovým datům, tréninkovým logům a mezitímním modelovým kontrolním bodům. Existující špičkové modely mají různé stupně otevřenosti, zatímco OLMo model vydal celý rámec, od tréninku po data až po vyhodnocovací nástroje, čímž se zúžil výkonový rozdíl ve srovnání se špičkovými modely, jako je LLaMA2 model.

Inženýr z povolání, spisovatel ze srdce. Kunal je technický spisovatel s hlubokou láskou a porozuměním pro AI a ML, který se věnuje zjednodušování složitých konceptů v těchto oblastech prostřednictvím svých přitažlivých a informačních dokumentací.