Vissza a felfedezéshez
HírekFejlesztés AI-val

A Zephon GPU-szám-váltáskor is változatlan adatfolyamot ad a TorchTitannak

A Zephonnal eltérő számú GPU-n is ugyanabban a sorrendben folytatható a modell tanítása. A TorchTitanhoz kapcsolt adatbetöltő így segíthet összehasonlíthatóvá tenni a kísérleteket akkor is, ha változik az elérhető hardver.

Rögzített adatsávok őrzik a minták sorrendjét eltérő méretű számítási egységek között elosztva.
CurioFuse · AI-illusztráció
Ebben a cikkben

Amikor a GPU-k száma eltorzíthatja a kísérletet

A Zephon csapata a TorchTitanhoz kapcsolta adatbetöltő rendszerét, hogy a tanítási adatok akkor is reprodukálhatók maradjanak, ha egy futás eltérő számú GPU-n folytatódik. A hagyományos betöltők a hardverkiosztás változásakor módosíthatják a minták sorrendjét. Így egy adatkeverék vagy szűrő hatását vizsgáló kontrollkísérlet részben valójában egy másik tanítási sorrend hatását mérheti.

A csapat demonstrációjában egy egymilliárd paraméteres modellt 16 GPU-n tanítottak, a 150. lépésnél ellenőrzőpontot készítettek, majd 8, 32 és 64 GPU-n folytatták. A szabványos betöltő minden folytatásnál eltérő mintasorrendet és veszteséggörbét adott. Zephonnal viszont minden teljes tanítási adag (globális batch) közölt SHA-256 ellenőrzőösszege megegyezett az eredeti futással.

Egy második kísérletben ugyanezt a modellt 20 milliárd tokenen tanították különböző GPU-számokkal. A fejlesztők a szabványos betöltőnél legfeljebb 0,82 pontos eltérést mértek a DCLM Core v1, illetve 0,64 pontot a FineWeb teszten. Zephonnal a különböző GPU-számú futások közti eltérés 0,05 és 0,011 pontra csökkent. Ezek a Zephon fejlesztőinek eredményei, nem független reprodukciók.

Az elasztikus determinizmus működése

A Zephon a tokenizálást, csomagolást, keverést és adatkészlet-vegyítést a tanítási feladaton belül végzi, így nincs szükség teljes előfeldolgozott korpusz létrehozására. Az architektúra szétválasztja a döntést és a költséges feldolgozást. Az egyszálú akkumulátorok hozzák meg a sorrendfüggő, állapottartó döntéseket, a cserélhető dolgozók pedig párhuzamosan futtatják az állapotmentes műveleteket, majd sorrendben adják vissza az eredményt.

A rendszer a globális adatfolyamot rögzített logikai sávokra osztja, nem közvetlenül a fizikai GPU-rangokhoz köti. A data-parallel rangok számának változásakor a sávokat újraosztja anélkül, hogy azok belső sorrendje módosulna. Az ellenőrzőpont nem a teljes csomagolási vagy shuffle-puffert menti, csak a korlátozott folyamatban lévő állapotot. Visszaállításkor a legutóbbi ürítési ponttól újrajátssza a bemenetet, és eldobja a már felhasznált rekordokat.

TorchTitan-integráció és korlátok

A TorchTitan-integráció az alapértelmezett betöltőt egy adatreceptből felépített Zephon-pipeline-ra cseréli. A recept tartalmazza az adatkészleteket, keverési súlyokat, csomagolást, shuffle-beállításokat és párhuzamosságot. A Zephon állapota a modell ellenőrzőpontja mellé kerül, az induláskori ellenőrzések pedig elutasítják a nem megfelelően osztható sáv- és batch-beállításokat.

A garanciák nem korlátlanok. A sávszámot előre kell választani, lehetőleg a várható data-parallel méretek közös többszöröseként. Folytatáskor az adatkészlet, tokenizer, seed, elegy, kontextushossz és globális batchméret nem változhat. A Zephon azonos globális batch-eket garantál, nem bitazonos számítást: a lebegőpontos redukció sorrendje a GPU-k számával továbbra is módosulhat. A kapcsolódó tanulmány versenyképes sebességről számol be szöveges és képi-nyelvi feladatokon, de a preprint még felülvizsgálat alatt áll.

Források(1)

Források és alapelvekJavítás jelzése