Műszaki ÚTMUTATÓ

Vegyes precíziós képzés

A vegyes precíziós képzés felgyorsítja a neurális hálózatok képzését és csökkenti a memóriahasználatot azáltal, hogy a legtöbb matematikai műveletet 16 bites lebegőpontos módszerrel végzi a 32 bites helyett.

2 perc olvasásUtoljára frissítve

Áttekintés

It lets the same GPU train bigger models faster with almost no loss in accuracy.

Mély merülés

A hagyományos edzés 32 bites lebegőpontos (FP32) formátumban tárolja a súlyokat és futtatja a matematikát. A vegyes precizitás alacsonyabb pontosságú 16 bites formátumokat (FP16 vagy bfloat16) használ a nehéz mátrixszorzásokhoz, miközben megtartja a súlyok 32 bites „főmásolatát” a stabil frissítésekhez. Mivel a 16 bites számok feleakkoraak, jobban elférnek a GPU memóriájában, és a Tensor Cores nagyjából 2-8-szor gyorsabban dolgozzák fel őket. A fogás az FP16 szűk tartományában rejlik: az apró gradiensek a nullára csökkenhetnek. A szabványos javítás a veszteségskálázás, amely a visszaszaporítás előtt megszorozza a veszteséget egy nagy tényezővel, így a kis színátmenetek ábrázolhatóak maradnak, majd a súlyfrissítés előtt visszaosztja azt. Az NVIDIA Apex és a PyTorch és TensorFlow beépített AMP (Automatic Mixed Precision) automatizálja ezt.

Technikai betekintés

Az FP16-nak csak 5 kitevő bitje van, ami egy kis dinamikatartományt biztosít, ami gradiens alulcsordulást okoz. A Bfloat16 8 kitevő bitet tart meg (az FP32 tartományának megfelelő), de kevesebb mantissza bitet, így ritkán van szüksége veszteségskálázásra – ez a fő ok, amiért a Google TPU-k és a modern GPU-k ezt részesítik előnyben. A tenzormagok felgyorsítják a munkát azáltal, hogy megszorozzák a 16 bites operandusokat, de részösszegeket halmoznak fel az FP32-ben, megőrizve a pontosságot ott, ahol az összegzési hibák egyébként súlyosbodnának.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A vegyes precíziós képzés jövője

A pontosság folyamatosan csökken. Az NVIDIA Hopper és Blackwell GPU-kon támogatott FP8-képzés a határmodellek szabványossá válik, és az FP4 és a mikroskálázási formátumok (MXFP) kutatása tovább halad. Várható, hogy a keretrendszerek automatikusan kiválasztják a rétegenkénti pontosságot, a hardver az egyre szűkebb formátumokat natív módon kezeli, a kvantálás-tudatos képzés pedig elmossák a határvonalat az alacsony pontosságú képzés és a következtetés között, csökkentve a trillió paraméteres modellek betanításának költségeit.

Valós megvalósítás

A PyTorch torch.cuda.amp.autocastja egy képzési ciklust foglal magában, hogy nagyjából a felére csökkentse a memóriát és megduplázza az átviteli sebességet egyetlen GPU-n

Nagy nyelvi modellek, például GPT-stílusú transzformátorok betanítása a bfloat16-ban a TPU-kon a veszteségskálázó hangolás elkerülése érdekében

Nagyobb kötegméret illesztése fogyasztói RTX GPU-hoz a ResNet képképzés FP32-ről FP16-ra való átállításával

FP8 vegyes precizitás az NVIDIA H100 GPU-kon, hogy csökkentse a határmodellek előképzésének költségeit

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Mixed Precision Training quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

Álcímkézés és önképzés

Gyakran ismételt kérdések

What is Mixed Precision Training?

A vegyes precíziós képzés felgyorsítja a neurális hálózatok képzését és csökkenti a memóriahasználatot azáltal, hogy a legtöbb matematikai műveletet 16 bites lebegőpontos módszerrel végzi a 32 bites helyett. Lehetővé teszi, hogy ugyanaz a GPU gyorsabban oktasson nagyobb modelleket, szinte a pontosság vesztesége nélkül.

Miért tartja meg a vegyes precíziós edzés a súlyok 32 bites „főmásolatát”?

A súlyfrissítések gyakran nagyon kicsik; a 16 bites összegyűjtésük elveszítené a pontosságot, így a teljes pontosságú mestermásolat pontos frissítéseket biztosít.

Milyen problémát old meg a veszteségskálázás az FP16 képzésben?

Az FP16 korlátozott dinamikatartománnyal rendelkezik, így a kis színátmenetek nullára kerekedhetnek; megszorozzuk a veszteséget a backprop előtt, reprezentatívak maradnak.

Milyen előnye van a bfloat16-nak az FP16-hoz képest?

A Bfloat16 8 kitevő bitet tart, mint az FP32, így a dinamikatartománya nagy, a gradiens alulcsordulás pedig ritka.

Hogyan tartják meg a Tensor Cores a pontosságot 16 bites bemenetek használata közben?

A tenzormagok megsokszorozzák a 16 bites operandusokat, de felhalmozódnak a 32 bitesben, megakadályozva az összegzési hibák összetettségét.

Mi az elsődleges előnye a 32 bites értékek helyett a 16 bites használatnak a képzés során?

A fél méretű számok több adatot férnek el a GPU memóriájában, és a speciális hardverek többszörösen gyorsabban dolgozzák fel a mátrix matematikát.