Optimalizace modelu DeepSeek V4 Flash na AMD MI300X
Autor repozitáře popisuje produkční konfiguraci 304miliardového checkpointu DeepSeek V4 Flash na jedné GPU AMD MI300X včetně výkonu, paměťových nároků a vlastních oprav pro vLLM a ROCm.
Autor repozitáře popisuje svou produkční konfiguraci checkpointu DeepSeek-V4-Flash-0731 na jedné GPU AMD MI300X. Nejde o oficiální referenční nasazení DeepSeeku, AMD ani projektu vLLM, ale o konkrétní technickou konfiguraci s připnutými verzemi a vlastními opravami.
Model se vejde na jednu MI300X
Checkpoint má 304 miliard parametrů. AMD MI300X nabízí 192 GB HBM3 a paměťovou propustnost 5,3 TB/s. Samotné váhy podle autora zabírají 156,67 GiB, takže mohou zůstat v paměti GPU bez offloadování vrstev nebo streamování přes PCIe.
To ale neznamená, že celé nasazení potřebuje pouze GPU. Repozitář počítá také s přibližně 20GB GPU KV cache, 96GiB CPU vrstvou pro odložené položky prefix cache, zhruba 235 GiB systémové RAM a přibližně 500 GB diskového prostoru.
Naměřený výkon
V konkrétní připnuté konfiguraci autor uvádí medián 168,6 tokenu za sekundu při dekódování jednoho streamu s DSpark-7.
Prefill s laděnými kernely dosahoval přibližně 7,9 až 8,5 tisíce tokenů za sekundu. Běžný profil pro nové prompty se podle repozitáře pohyboval přibližně mezi 6 988 a 7 019 tokeny za sekundu.
Při více souběžných požadavcích autor naměřil:
- 542 tokenů za sekundu celkem při osmi streamech,
- krátkodobě 830 tokenů za sekundu při 64 streamech,
- ověřený kontext až 256 tisíc tokenů.
Jde o výsledky konkrétní konfigurace. Nelze je automaticky přenést na každé nasazení MI300X, jinou verzi ROCm nebo jiné sestavení vLLM.
Vlastní opravy a konfigurace
V připnuté verzi vLLM a ROCm autor potřeboval vlastní opravy pro:
- FP8 formát používaný na MI300X,
- MoE routing při vyšší souběžnosti,
- spekulativní ověřování,
- synchronizaci CPU KV cache.
Repozitář doporučuje také scheduler budget 2 048 tokenů a Caddy jako HTTPS proxy s omezením přístupu podle IP adres.
Tyto opravy jsou navázané na konkrétní sestavení. V budoucích upstream verzích už nemusí být potřeba, případně se mohou změnit.
Omezení konfigurace
Volná HBM paměť je omezená, takže změny v délce kontextu, KV cache nebo souběžnosti mohou vést k chybám způsobeným nedostatkem paměti.
Autor zároveň upozorňuje na potřebu kontroly správnosti. Odlišné kernely a výpočetní cesty mohou dávat mírně jiné výsledky s plovoucí desetinnou čárkou.
Repozitář ukazuje, že vysoká kapacita MI300X umožňuje provozovat tento 304miliardový checkpoint na jedné GPU. Jde ale o technicky náročnou a přesně připnutou konfiguraci, nikoli o jednoduché univerzální nasazení.