Clustering NVIDIA DGX Spark + M3 Ultra Mac Studio voor 4x snellere LLM-inferentie. DGX Spark: 128GB @ 273GB/s, 100 TFLOPS (fp16), $3,999 M3 Ultra: 256GB @ 819GB/s, 26 TFLOPS (fp16), $5,599 De DGX Spark heeft 3x minder geheugensnelheid dan de M3 Ultra, maar 4x meer FLOPS. Door compute-bound prefill op de DGX Spark uit te voeren, memory-bound decode op de M3 Ultra, en de KV-cache via 10GbE te streamen, kunnen we het beste van beide hardware combineren met enorme versnellingen. Korte uitleg in deze thread & link naar de volledige blogpost hieronder.
LLM-inferentie bestaat uit een prefill- en decodeerfase. Prefill verwerkt de prompt en bouwt een KV-cache. Het is compute-bound, dus het wordt sneller met meer FLOPS. Decode leest de KV-cache en genereert tokens één voor één. Het is memory-bound, dus het wordt sneller met meer geheugendoorvoer.
We kunnen deze twee fasen op verschillende apparaten uitvoeren: Prefill: DGX Spark (hoog rekenvermogen apparaat, 4x rekenvermogen) Decode: M3 Ultra (hoog geheugenbandbreedte apparaat, 3x geheugenbandbreedte) Echter, nu moeten we de KV-cache over het netwerk (10GbE) overdragen. Dit introduceert een vertraging.
Maar de KV-cache wordt voor elke transformerlaag aangemaakt. Door de KV-cache van elke laag te verzenden nadat deze is berekend, overlappen we communicatie met berekening. We streamen de KV-cache en verbergen de netwerklatentie. We behalen een 4x versnelling in prefill en 3x in decoderen, met 0 netwerklatentie.
Volledige blogpost en meer details over EXO 1.0: Bedankt @NVIDIA voor de vroege toegang tot twee DGX Sparks. #SparkSomethingBig
439,62K