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.
| Spec | Relevancia |
|---|---|
| Szakértők keveréke | A 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ény | A 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ások | A 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 072 | A 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üllyed | A 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?
