Clustering NVIDIA DGX Spark + M3 Ultra Mac Studio pro 4x rychlejší odvozování LLM. DGX Spark: 128GB @ 273GB/s, 100 TFLOPS (fp16), 3,999 $ M3 Ultra: 256 GB @ 819 GB/s, 26 TFLOPS (fp16), 5 599 $ DGX Spark má 3x menší šířku pásma paměti než M3 Ultra, ale 4x více FLOPS. Spuštěním výpočetně vázaného předvyplnění na DGX Sparku, dekódováním vázaným na paměť na M3 Ultra a streamováním KV cache přes 10GbE jsme schopni získat to nejlepší z obou hardwaru s masivním zrychlením. Krátké vysvětlení v tomto vlákně a odkaz na celý příspěvek na blogu níže.
LLM inference se skládá z fáze předvyplnění a dekódování. Předvyplnění zpracuje výzvu a vytvoří mezipaměť KV. Je vázán na výpočty, takže je rychlejší s více FLOPS. Decode čte mezipaměť KV a generuje tokeny jeden po druhém. Je vázán na paměť, takže je rychlejší s větší šířkou pásma paměti.
Tyto dvě fáze můžeme spustit na různých zařízeních: Předvyplnění: DGX Spark (zařízení s vysokým výpočtem, 4x výpočty) Dekódování: M3 Ultra (zařízení s vysokou šířkou pásma paměti, 3x šířka pásma paměti) Nyní však potřebujeme přenést KV cache po síti (10GbE). To způsobuje zpoždění.
Ale KV cache je vytvořena pro každou vrstvu transformátoru. Tím, že po výpočtu posíláme KV cache každé vrstvy, překrýváme komunikaci s výpočtem. Streamujeme KV cache a skryjeme zpoždění sítě. Dosahujeme 4x zrychlení v předvyplnění a 3x v dekódování, s 0 zpožděním sítě.
Celý příspěvek na blogu a další podrobnosti o EXO 1.0: Díky @NVIDIA za předběžný přístup ke dvěma DGX Sparkům. #SparkSomethingBig
439,62K