Műszaki ÚTMUTATÓ

Aktiválási újraszámítási kompromisszumok

Az aktiválás újraszámítása (gradiens vagy aktiválási ellenőrzőpont) megtakarítja a GPU-memóriát edzés közben azáltal, hogy elveti a közbenső aktiválásokat az előremenetben, és újraszámítja azokat a visszalépés során.

2 perc olvasásUtoljára frissítve

Áttekintés

It trades extra compute for the ability to train larger models or longer sequences on the same hardware.

Mély merülés

A visszaterjesztéshez a gradiensek kiszámításához előrehaladó aktiválásokra van szükség, így alapértelmezés szerint minden réteg kimenete tárolva van – ez óriási memóriaköltség, amely a modell méretével, kötegméretével és sorozathosszával nő. Az aktiválási újraszámítás csak néhány „ellenőrzőpont” tenzort tart meg (gyakran csak réteghatárokat), a többit pedig kidobja. A visszafelé haladás során újra lefutja az előremenő számítást az ellenőrző pontok között, hogy igény szerint újragenerálja az eldobott aktiválásokat. A klasszikus eredmény az, hogy minden sqrt(N) rétegben elhelyezett ellenőrzőpontokkal a memória nagyjából O(sqrt(N))-ra csökken, miközben körülbelül egy plusz előrelépést ad hozzá (~33%-kal több számítás). A szelektív változatok csak az olcsó, de memóriaigényes műveleteket (például a figyelem vagy a lemorzsolódás) számítják újra, miközben a drágákat gyorsítótárazzák, így a legtöbb memóriamegtakarítást sokkal kevesebb újraszámítási többletköltség mellett érik el.

Technikai betekintés

Az alapvető kompromisszum a memória és a FLOP. A teljes újraszámítás lépésenként nagyjából egy plusz előrelépést ad hozzá (~30-40%-kal lassabb), de egy nagyságrenddel csökkentheti az aktiválási memóriát. Az intelligens lépés a szelektív ellenőrzőpont: azonosítsa a nagy memóriaterületű, de olcsó műveleteket (softmax, layernorm, GELU, figyelem pontszámok), és csak azokat számítsa újra, miközben a drága GEMM-ek eredményeit gyorsítótárban tárolja – minimálisra csökkentve a pazarló számításokat.

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.

Az aktiválási újraszámítási kompromisszumok jövője

Az újraszámítás egyre inkább automatizált és szelektív. A keretrendszerek mostantól profilozzák az egyes műveletek memóriáját és a FLOP költségeit, hogy optimális ellenőrzőpontokat válasszanak, és kombinálják az újraszámítást a CPU/NVMe-re történő aktiválás-kitöltéssel és a párhuzamossági stratégiákkal. Ahogy a kontextus hossza és a modellméretek folyamatosan növekszenek, a fordító által vezérelt házirendekre (PyTorch, JAX/XLA esetén) számíthatunk, amelyek automatikusan választják a műveletenkénti újraszámítási döntéseket, valamint az újraszámítás és a kommunikáció közötti szorosabb átfedést, így az extra FLOP-ok részben rejtve maradnak.

Valós megvalósítás

Egy nagy transzformátor betanítása, amely egyébként nem férne el, minden rétegblokk ellenőrzésével

A PyTorch torch.utils.checkpoint használata a transzformátorblokkok becsomagolásához és az aktiválási memória levágásához

A figyelem/softmax szelektív újraszámítása a Megatron-LM-ben a memória megtakarítása érdekében minimális lassulás mellett

Hosszabb sorozathosszúságok engedélyezése rögzített GPU-költségvetés mellett az aktiválások újraszámításával ahelyett, hogy eltárolná őket

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 Activation Recomputation Tradeoffs 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ó

SmoothQuant és aktiválási kvantálás

Gyakran ismételt kérdések

What is Activation Recomputation Tradeoffs?

Az aktiválás újraszámítása (gradiens vagy aktiválási ellenőrzőpont) megtakarítja a GPU-memóriát edzés közben azáltal, hogy elveti a közbenső aktiválásokat az előremenetben, és újraszámítja azokat a visszalépés során. Extra számítást cserél a nagyobb modellek vagy hosszabb sorozatok ugyanazon a hardveren való betanítására.

Mit vált ki az aktiválási újraszámítás a memória megtakarítása érdekében?

Az újraszámítás elveti a tárolt aktiválásokat, és újragenerálja azokat a visszafelé lépésben, így extra számítási időt fordít a memóriahasználat csökkentésére.

Miért tárolják általában az előre-pass aktiválásokat?

A visszafelé lépés az előremenő aktiválásokat használja a gradiensek kiszámításához, így alapértelmezés szerint a memóriában maradnak, amíg a visszafelé lépés le nem fut.

Körülbelül mennyi plusz számítást ad hozzá a teljes aktiválási újraszámítás?

A teljes újraszámítás újrafuttatja az előremenő számítást a visszafelé lépés során, hozzávetőleg egy plusz előrelépést – nagyjából 30-40%-kal több számítást.

Mi az ötlet a szelektív (nem teljes) újraszámítás mögött?

A szelektív újraszámítás olyan műveleteket céloz meg, amelyek sok memóriát használnak, de kevés számítást végeznek (mint például a softmax vagy a layernorm), miközben a drága GEMM-eredményeket gyorsítótárazza az elpazarolt FLOP-ok minimalizálása érdekében.

Melyik kiegészítő technikát kombinálják gyakran újraszámítással, hogy még több memóriát takarítsanak meg?

Az aktiválási tehermentesítés egyes aktiválásokat a CPU/NVMe tárolóba helyez át, és gyakran kombinálják újraszámítással és párhuzamosítással a további memóriamegtakarítás érdekében.