LLM modellek mérete és memóriaigénye, valamint a kvantálás

Bíró Gábor 2024. november 12.
4 perc olvasási idő

Az LLM-ek, mint például a GPT-3, a LLaMA, vagy a PaLM, hatalmas méretű neurális hálózatok. Méretüket általában a paraméterek számával jellemzik (7b, 14b, 72b stb.). Egy paraméter lényegében egy súly vagy egy bias érték a hálózatban, ami a modell "tudását" reprezentálja. A modern LLM-ek több milliárd, sőt, több százmilliárd paraméterrel rendelkeznek.

LLM modellek mérete és memóriaigénye, valamint a kvantálás
Forrás: Saját szerkesztés

A több százmilliárd paraméter óriási memóriaigényt jelent:

  • Tárolás: A modell paramétereit tárolni kell a háttértárolón, merevlemezen vagy SSD-n.
  • Betöltés: A modell futtatásához a paramétereket be kell tölteni a GPU (vagy más gyorsító) memóriájába.
  • Számítás: A modell futtatása során a GPU-nak folyamatosan hozzá kell férnie a paraméterekhez a számítások elvégzéséhez.

Példa:

Tegyük fel, hogy egy modell 175 milliárd paraméterrel rendelkezik, és minden paramétert FP32 (32-bit floating point) formátumban tárolunk.

  • Egy FP32 szám 4 bájtot (32 bit / 8 bit/bájt) foglal.
  • 175 milliárd paraméter * 4 bájt/paraméter = 700 milliárd bájt = 700 GB.

Tehát csak a modell paramétereinek tárolása 700 GB helyet igényel! A betöltéshez és futtatáshoz pedig legalább ennyi VRAM (videó RAM) szükséges a GPU-n. Ezért van szükség a csúcskategóriás, nagy VRAM-mal rendelkező GPU-kra (pl. NVIDIA A100, H100) a nagyméretű LLM-ek futtatásához. Amennyiben a modell 4 byte helyett csak 1 byte-ot foglal, mint pl. a Deepseek V3 esetében (int8 formátumban), úgy a modell paraméterinek száma megegyezik a hely igényével. Tehát a Deepseek V3 eredeti in8 -as formátuma esetén a szükséges helyigény 641 GB VRAM.

Kvantálás: A memóriaigény csökkentése

A kvantálás egy olyan technika, amelynek célja a modell méretének és memóriaigényének csökkentése a pontosság elfogadható mértékű feláldozásával. A kvantálás során a modell paramétereit (súlyokat és aktivációkat) alacsonyabb pontosságú számformátumba konvertáljuk.

Hogyan működik a kvantálás?

  1. Eredeti formátum: A modelleket általában FP32 vagy FP16 formátumban tanítják be.
  2. Célformátum: A kvantálás során a paramétereket átalakítjuk például INT8 (8-bit integer), FP8, vagy más alacsonyabb pontosságú formátumba.
  3. Mapolás: A kvantálás során egy leképezést (mapping) hozunk létre az eredeti (pl. FP32) értéktartomány és a cél (pl. INT8) értéktartomány között. Ez a leképezés lehet lineáris vagy nemlineáris.
  4. Kerekítés: Az eredeti értékeket a leképezés alapján "kerekítjük" a célformátum legközelebbi értékére.
  5. Veszteség: A kerekítés miatt információvesztés következik be, ami a modell pontosságának csökkenéséhez vezethet. A kvantálás művészete abban rejlik, hogy ezt a pontosságvesztést minimalizáljuk.

Példa (INT8 kvantálás):

  • FP32: Egy szám 4 bájtot foglal.
  • INT8: Egy szám 1 bájtot foglal.

Ha egy 175 milliárd paraméteres modellt FP32-ről INT8-ra kvantálunk, a modell mérete 700 GB-ról 175 GB-ra csökken! Ez jelentős megtakarítás, ami lehetővé teszi a modell futtatását kisebb, olcsóbb GPU-kon is (természetesen a minőség csökkenésével).

Kvantálási módszerek:

  • Post-Training Quantization (PTQ): A kvantálást a modell betanítása után végezzük el. Ez a legegyszerűbb módszer, de nagyobb pontosságvesztéshez vezethet.
  • Quantization-Aware Training (QAT): A kvantálást beépítjük a betanítási folyamatba. A modell "megtanulja" kompenzálni a kvantálás okozta pontosságvesztést. Ez jobb eredményeket ad, mint a PTQ, de több időt és erőforrást igényel.

Összefoglalás

A kvantálás elengedhetetlen technika a nagyméretű LLM-ek hatékony futtatásához. Lehetővé teszi a modellek méretének és memóriaigényének jelentős csökkentését, ami szélesebb körben elérhetővé teszi ezeket a modelleket. A kvantálás azonban kompromisszumokkal jár a pontosság terén, ezért fontos a megfelelő kvantálási módszer és számformátum kiválasztása az adott feladathoz. A hardveres támogatás (pl. INT8 műveletek GPU-n) kulcsfontosságú a kvantált modellek gyors és hatékony futtatásához. A számformátumok (FP32, FP16, BF16, INT8, FP8) fejlődése és a hardveres támogatásuk közvetlenül kapcsolódik a kvantáláshoz, és együttesen teszik lehetővé a egyre nagyobb és komplexebb LLM-ek létrehozását és alkalmazását.

Bíró Gábor 2024. november 12.
© 2025 Birow.com