Zpět na domů

Kvantizace Gemma 4 31B pod 57GB Kaggle

Článek popisuje metodu načítání a kvantizace 62GB modelu Gemma 4 31B na Kaggle s limitem 57GB. Používají se bitsandbytes s NF4, mazání cache a streamovací vykládka. Výsledek — 18GB model pro lokální použití.

62GB Gemma v 15GB VRAM: MLOps na T4
Advertisement 728x90

Optimalizace Gemma 4 31B pro limity Kaggle: kvantování a správa paměti

Model Gemma 4 31B ve formátu float16 zabírá 62 GB, což překračuje limit disku Kaggle 57,6 GB. Úkol vyžaduje načtení celého objemu, kvantování na 4bitové vyjádření (18 GB) a uložení výsledku bez překročení dostupného prostoru. Řešení je implementováno prostřednictvím sekvenčního umístění do VRAM dvou GPU T4 po 15 GB každé s využitím device_map="auto" z knihovny bitsandbytes s typem NF4.

Kvantování se spouští paralelně s načítáním: váhy jsou komprimovány ihned po vstupu do videopaměti, čímž se minimalizuje špičková spotřeba disku.

Technika uvolnění prostoru: odstranění mezipaměti během práce

Po úplném načtení modelu do VRAM se použije shutil.rmtree() pro odstranění složky mezipaměti Hugging Face. V Linuxu je to možné pro otevřené soubory – prostor se stává dostupným pro nové operace, ačkoli du ukáže jeho obsazenost.

Google AdInline article slot

Proces:

  • Model je načten a kvantován v paměti.
  • Původních 62 GB je odstraněno.
  • Uvolněné místo je použito pro vykládání 18 GB kvantovaných vah.
# Příklad streamovacího vykládání
model.push_to_hub("repo_id", safe_serialization=True)

Tento přístup umožňuje obejít matematickou bariéru 62 + 18 = 80 GB.

Detaily implementace na GPU T4

Knihovna bitsandbytes rozděluje vrstvy modelu mezi dvě T4. Kvantování NF4 snižuje velikost 4krát bez významné ztráty kvality pro úlohy porozumění kódu a generování. Úplná sekvence:

Google AdInline article slot
  • Inicializace s device_map="auto".
  • Paralelní kvantování shardů.
  • Odstranění mezipaměti po přenosu do VRAM.
  • Přímá publikace do repozitáře přes push_to_hub.

Výsledek – model o objemu 18,3 GB, kompatibilní s běžnými GPU.

Výhody metody pro MLOps

Technika je použitelná pro velké modely v omezených prostředích:

  • Minimální požadavky: Pouze bezplatný Kaggle nebo ekvivalent.
  • Automatizace: Skript běží bez manuálního zásahu.
  • Zachování kvality: NF4 zachovává výkon na úrovni float16 pro inference.
  • Škálovatelnost: Snadno přizpůsobitelné pro jiné limity (např. Colab).

Metoda nevyžaduje clustery A100 a funguje na standardním hardware.

Google AdInline article slot

Co je důležité

  • Kvantování NF4 přes bitsandbytes umožňuje komprimovat 62 GB na 18 GB za běhu.
  • Odstranění mezipaměti Hugging Face s otevřenými soubory uvolňuje disk během práce.
  • device_map="auto" rozděluje zátěž mezi několik GPU T4.
  • Přímé vykládání push_to_hub vylučuje mezilehlé ukládání.
  • Přístup je vhodný pro Gemma 4 31B a podobné modely nad 30B parametrů.

— Editorial Team

Advertisement 728x90

Číst dál