Weboldal keresés

Gpt-Oss, Az OpenAI első nyílt súlyú érvelési modellje


Bemutatkozik a gpt-oss

Elképedve figyeljük az OSS néhány kiadását, mint például a Kimi K2, a Qwen3 Coder és a GLM-4.5 (cikk hamarosan érkezik), figyelembe véve azokat a hihetetlen előrelépéseket, amelyeket ezek a cselekvő modellek mutatnak az ügyes, többszörös lépésből álló érvelés, programozás és eszközhasználat terén.

A gpt-oss segítségével az OpenAI több mint öt év után hozta nyilvánosságra első jelentős nyílt forráskódú modelljét, a 2019-es GPT-2 után. Ez a modellcsalád egy megengedő Apache 2.0 licenc alatt került kiadásra - ami annyit jelent, hogy széleskörű szabadságot kapsz a szoftver használatára, módosítására és terjesztésére, még kereskedelmi célokra is, a fő feltételek pedig az eredeti licencek és szerzői jogi nyilatkozatok feltüntetése, valamint a módosítások elismerése.

A modell két változatban kapható, 120B és 20B, ahol a 120B modell 117 milliárd összes paraméterrel rendelkezik (amelyből 5,1 milliárd aktív tokenenként) 36 rétegen, míg a 20B modell 21 milliárd összes paramétert tartalmaz (3,6 milliárd aktív tokenenként) és 24 rétegen. Mindkét modell natív 4-bites (MXFP4) kvantizációt alkalmaz a MoE súlyaihoz, lehetővé téve, hogy a 120B modell egyetlen 80 GB-os GPU-n elférjen, a 20B modell pedig körülbelül 16 GB memória mellett működjön.

A Gpt-oss elérhető a DigitalOcean-on.

A DigitalOcean elkötelezett amellett, hogy egyszerűvé tegye a dolgokat a fejlesztők és a vállalkozások számára, akik növekedni szeretnének. További információkat a gpt-oss használatáról a termékfrissítésünkben talál.

Kulcsfontosságú megállapítások

  • Az OpenAI kiadja a gpt-oss-t, első jelentős nyílt forráskódú modelljét a GPT-2 (2019) óta, Apache 2.0 licenc alatt.
  • Modellvariánsok: 120B és 20B, mindkettő 4-bites (MXFP4) kvantálást használ a MoE súlyokhoz; a 120B egyetlen 80GB-os GPU-ra fér el.
  • Elérhető a DigitalOcean Gradient™ AI Platformon
  • Kulcsfontosságú építészeti jellemzők: MoE, Gated SwiGLU, GQA, SWA, RoPE, kibővített kontextus a YaRN segítségével, Figyelemelnyelő rendszerek
  • Kvantizáció: Natív mikroskálázás FP4 (MXFP4), MoE súlyok 4,25 bit/paraméter
  • Tokenizer: o200k_harmony (BPE változat), elérhető a TikToken-ben
  • Képzés utáni fókusz: Érvelés, eszközhasználat (böngészés, Python, fejlesztői funkciók), biztonság CoT RL révén
  • A Harmonikus Csevegési Formátumot használ a képzés/telepítés következetessége érdekében

Előfeltételek

Ez a cikk sok lehet, ha nincs tapasztalata a nagy nyelvi modellek és a modellarchitektúrák terén. Azt javasoljuk, hogy az olvasók értsenek a neurális hálózatok alapelveihez, az figyelmi mechanizmushoz, a transzformátorhoz és az adatformátumokhoz, mielőtt továbblépnének. Az alábbiakban felsoroltunk néhány további előképzettséget és forrást. Nyugodtan kattintson a cikkben elhelyezett hiperlinkekre is, hogy jobban megérthesse az anyagot. Cikkünkkel nem az a célunk, hogy újra megismételjük a gpt-oss modell kártyát, hanem hogy ezt az izgalmas modellkiadást felhasználva kibővítsük azokat a megközelítéseket, eszközöket és keretrendszereket, amelyek segítenek Önnek bármiben, amit szeretne tanulni és elérni.

Ha nem ismered a kvantálást, Maarten Grootendorst A Visual Guide to Quantization című könyve nagyszerű. Ez megadhatja számodra a kontextust a MXFP4 kvantálás megértéséhez.

A figyelem és variánsai szakasz a következtetési optimalizálásról szóló cikkünkben érdemes lehet megnézni, hogy előzetes megértést nyerjünk a figyelmi mechanizmusokról. Meg fogjuk tárgyalni a gpt-oss GQA és SWA használatát.

Hasznos lehet ezt a cikket a gpt-oss modellkártya mellett olvasni. A modellkártya részletesen foglalkozik a biztonsági teszteléssel és a modell teljesítményével a benchmarkokon - amelyeket itt nem tárgyalunk. A cikk végén található további források szakasz egy aranybányát jelent, ezért érdemes azt is megnézni. Nyugodtan végezzen el egy gyors tesztet a modell hivatalos gpt-oss weboldalán.

Modell architektúra

Egy beszélgetéssel fogjuk kezdeni a modell architektúrájáról. Összefoglaltuk a fontos specifikációkat és azok relevanciáját egy táblázatban, abban a reményben, hogy így könnyebb lesz feldolgozni.

SpecRelevancia
Szakértők keverékeA gpt-oss Mixture of Experts (MoE) architektúrája ritka Feedforward Neurális Hálózati (FFN) rétegeket használ, amelyeket szakértőknek neveznek, együtt egy kapuvezérlő mechanizmussal (router) a tokenek irányításához a top-4 szakértőhöz, ezáltal csak a paraméterek egy részhalmazát aktiválja minden token számára. Ez az architektúra kedvező, mivel számítási hatékony alternatívát kínál a sűrű modellekhez képest.
Kapus SwiGLU aktivációs függvényA aktivációs függvények nemlinearitást hoznak be, lehetővé téve a hálózat számára, hogy tanuljon és modellezzen bonyolult mintázatokat az adatokban. A gpt-oss MoE blokkjai gated SwiGLU aktivációs függvényt használnak - a SwiGLU a modern LLM-ek jelenlegi standardja. A gpt-oss modell kártya megjegyzi, hogy a SwiGLU implementációja szokatlan abban, hogy tartalmaz klampálást és reziduális kapcsolatot. Valószínűleg ezek a módosítások simább optimalizáláshoz és gyorsabb konvergenciához vezetnek, különösen nagy léptékű transformer architektúrák esetén. A reziduális kapcsolatok, vagy ugrás kapcsolatok, a neurális hálózat architektúra összetevői, amelyek létrehoznak egy „rövidítési” utat, lehetővé téve, hogy egy réteg bemenete közvetlenül hozzáadódjon a kimenetéhez, megkerülve egy vagy több köztes réteget.
Csoportosított Lekérdező Figyelem (GQA) Csúszó Ablak Figyelem (SWA)A modellkártyában ezt teljesen sűrű és sávos ablakmintázatként említik, váltakozó figyelmi blokkokkal. De valójában ez csak annyit jelent, hogy a figyelmi blokkok a csoportosított lekérdezési figyelem és a csúszóablak figyelem között váltakoznak. A gpt-oss figyelmi mechanizmusa 8 kulcs-érték fejet tartalmaz. Minden figyelmi fejnek van egy tanult torzítása a softmax nevezőjében, hasonlóan az off-by-one figyelemhez.
Forgóhelyzet-beágyazásokA RoPE a token pozíciójától függően a lekérdezés és a kulcs vektorok elforgatásával kódolja a pozíciót. A pozíció kódolása kritikus, mivel a figyelem nem érzékeli a bemeneti tokenek sorrendjét.
A sűrű rétegek kontextushossza=131 072A gpt-oss sűrű rétegeinek kontextusának hossza 131,072 tokenre nőtt a YaRN használatával. A YaRN (Még egy RoPE-skálázási módszer) egy számítási szempontból hatékony technika, amelyet a transformer-alapú modellek kontextusablakának hatékony bővítésére terveztek.
Figyelem SüllyedA figyelem süllyesztők olyan tokenek, amelyeket egy szekvencia elejére helyeznek el a figyelem stabilizálása érdekében. Ez különösen hasznos hosszú kontextusú forgatókönyvekben.

Kvantálás

Nagyon érdekel minket az itt használt kvantálás. A gpt-oss modellek családja natívan Microscaling FP4 vagy MXFP4 formátumban van betanítva, ahol a MoE súlyok (a teljes paraméterszám 90%-a) 4,25 bitre vannak kvantálva paraméterenként. A mikroskalázás jobb megértése érdekében javasoljuk, hogy olvassa el az OCP Microscaling Formats (MX) Specification Version 1.0 - különösen az 5. fejezetet.

Tokenizáló

Az o200k_harmony tokenizer, egy 200k-tokenes szókincset tartalmazó BPE változat, a modell összes képzési szakaszában használatos. Ez az open-source tokenizer elérhető a TikToken könyvtárban, és az OpenAI más modelljeiben használt o200k tokenizerre épít.

Képzés utáni fókusz

A gpt-oss utáni képzés fókuszában a következtetés, az eszközhasználat (böngészés, Python és fejlesztői funkciók), a CoT RL technikákon alapuló biztonság és a Harmony Chat Formátum áll. Tudomásunk szerint ennek a modellnek a datasetjei/RL környezetei még nincsenek kiadva.

OpenAI Harmony Chat Formátum

Számos oka van annak, hogy miért kritikusak a csevegési sablonok. A csevegési formátumok közötti konzisztencia a tréning és a telepítési formátumok között enyhíti a teljesítményromlást. A tokenizálókkal ellentétben a csevegési sablonok tárolják az adatfeldolgozás során szerzett információkat. Az Open AI egy egyedi csevegési formát alkalmaz a gpt-oss képzésében, amelyet harmónia csevegési formátumnak neveznek, és amely speciális tokeneket tartalmaz az üzenet határokra és szerepkategóriákra, mint például Felhasználó, Asszisztens, Rendszer, és Fejlesztő.

A modell követi a szerepelrendezést a Rendszer, Fejlesztő, Felhasználó, Asszisztens és Eszköz szintjei között a konfliktusok megoldása érdekében, és csatornákat használ az üzenetek láthatóságának kezelésére az elemzés, kommentálás és végső output érdekében.

Ez a megközelítés fejlett ügynöki funkciókat tesz lehetővé, mint például a kölcsönös eszközhasználat.

További források

Konceptuális Áttekintések

Az Illusztrált GPT-OSS - Jay Alammar által: A cikk vizuális anyagai kiválóak a gpt-oss architektúrájának intuitívabb megértéséhez és az üzenetformázásnak, amelyet a modell használ. Nagyon tetszik, ahogyan ez a cikk beszél a különböző felhasználói szerepekről (például a chatGPT végfelhasználóiról, az olyan LLM alkalmazásokat építőkről, mint a kurzor, vagy azokról, akik utólagos tanítják a modellt) és arról, hogyan támogatják őket a bemenetek és kimenetek formájának formázása (például a gondolkodási nyomok, eszközinterakciók) a modell számára.

GPT-2-től gpt-oss-ig: Az építészeti fejlődések elemzése - Sebastian Raschka: Ez a cikk nagyszerű, mert perspektívába helyezi a hosszú utat, amelyen a GPT-2 óta jártunk. A különböző fogalmak (pl. RoPE, SwiGLU, Szakértők keveréke, GQA, SWA, RMSNorm) magyarázatai nagyon átfogóak, nagyon alaposak.

SwiGLU

Mi az a SwiGLU? jcarlosroldan által. Ez a cikk jól szemlélteti a SwiGLU háttérét, mint a modern LLM-ek preferált aktiváló függvényét.

Csevegési Formátum

Csevegési sablonok: A csendes teljesítményromlás vége: A csevegési sablonok Jinja-alapú sablonok, amelyek be vannak ágyazva a tokenizáló programokba. Ezek automatikusan formázzák a beszélgetési üzeneteket a modell által tanult helyes struktúrába. Ez a cikk azt magyarázza el, hogy ha nem formázod a promptokat pontosan úgy, ahogy a modell elvárja, a teljesítménye csendben romolhat, nem feltétlenül hibák nélkül, hanem gyenge eredményekkel.

Emlékezz, hogy a gpt-oss a Harmony csevegési formátumot használja.

Mikroskálázás

OCP Mikroscaling Formátumok (MX) Specifikáció 1.0: Ez az erőforrás további információkat nyújt az Open Compute Project (OCP) mikroscaling formátumairól. A 2. szakasz ismerteti, hogyan illeszkednek az MX formátumok az OCP alapelveihez. Ezek nyitottak, a legnagyobb iparági szereplők közösen fejlesztették ki őket és korábbi nyílt szabványokra építenek; hatékonyak, lehetővé teszik a csökkentett pontosság és memóriahasználat révén az alacsonyabb költségeket és jobb teljesítményt; hatással vannak, széles körű támogatottsággal rendelkeznek, ami valószínűvé teszi, hogy ipari szabványokká váljanak; skálázhatóak, könnyen alkalmazhatók a meglévő hardveren; és fenntarthatóak, csökkentik az energiafelhasználást és a szén-dioxid-kibocsátást az AI munkaterhelések során.

GitHub - microsoft/microxcaling: PyTorch emulációs könyvtár Microscaling (MX) kompatibilis adatformátumokhoz: Ez a GitHub könyvtár az MX-kompatibilis formátumokat és a bfloat kvantizációt emulálja PyTorchban. A számítások float32/bfloat16/fp16 típust használnak, de tiszteletben tartják az MX vagy bfloat formátumok kifejezhető tartományát. A GitHub könyvtár a MX-kompatibilis adatformátumok PyTorch emulációjára támogatja a mátrixmultiplikációt (konkrétan a torch.matmul, torch.linear, és torch.bmm) MX tenzora számára, valamint elem szintű műveleteket is, mint például a GELU, softmax, és layernorm, ahol az alapvető műveletek (például add, sub, sqrt, és exp) bfloat pontoságúakkal hajtódnak végre.

Mikroszkálázási adatformátumok mélytanulás számára: Ez az a tanulmány, amely bevezette a mikroszkálázási adatformátumok fogalmát.

1.5x Gyorsabb MoE Képzés a Blackwell-en MXFP8 Magokkal, Amelyeket a Semmiből Építettek | Cursor - Az AI Kód Szerkesztő: Ez a cikk bemutatja, hogyan érte el a Cursor az end-to-end képzés 1.5x-es gyorsulását nagyméretű nyelvi modellek esetén Blackwell GPU-kkal. A Mixture-of-Experts (MoE) rétegek egyedi MXFP8 magokkal való újratervezésével jelentősen csökkentették a tanítási időt és költségeket, felgyorsítva a csúcsmodellek fejlesztését és telepítését.

Vegye figyelembe, hogy a gpt-oss az MXFP4-et használja, nem pedig az MXFP8-at a MoE réteg lineáris projekciós súlyaihoz.

Megvalósítások

Finomhangolás a gpt-oss és a Hugging Face Transformers segítségével: “H100 GPU-n ez körülbelül 18 percet vesz igénybe az edzéshez, de a hardverétől függően hosszabb ideig is eltarthat.”

Ollama (gpt-oss 20b, ~14GB VRAM): „Az Ollama natívan támogatja a MXFP4 formátumot, további kvantálások vagy átalakítások nélkül. Új kernelt fejlesztenek az Ollama új motorjának támogatására az MXFP4 formátumhoz. Az Ollama együttműködött az OpenAI-val, hogy összehasonlító teszteket végezzenek a referencia megvalósításaikkal, hogy biztosítsák, hogy az Ollama megvalósításai ugyanazt a minőséget nyújtják.”

Unsloth (gpt-oss 20b, ~14GB VRAM): „Közvetlenül az OpenAI Triton Kernels könyvtárát használtuk az MXFP4 következtetések engedélyezésére. Az MXFP4 kernel azonban még nem támogatja a finomhangolást/képzést, mivel a hátrameneti lépés még nem valósult meg. Aktívan dolgozunk a megvalósításán a Tritonban!”

további megvalósításokat a gpt-oss tárolóban található linkeken lehet megtalálni.

Biztosan vannak nagyszerű források, úgyhogy nyugodtan kommentálj bármit, ami kimaradt.

Végső gondolatok

Amikor ezt a cikket kutattuk, lenyűgözött minket a gpt-oss körül megjelent tartalom mennyisége, legyen az hírek, youtube videók, blogbejegyzések, külsőleg fejlesztett alapmodellek stb. Nagyon világos, hogy a közösség nagyon izgatott az OpenAI nyílt forráskódú modelljeinek kiadása miatt, és izgatottan várjuk, hogy ezek hogyan lesznek alkalmazva és hogyan hasonlítanak más hasonló modellekhez.

Várj - említettük, hogy a gpt-oss elérhető a DigitalOcean Gradient™ AI Platformon?