Klustring av NVIDIA DGX Spark + M3 Ultra Mac Studio för 4x snabbare LLM-inferens. DGX Spark: 128 GB @ 273 GB/s, 100 TFLOPS (fp16), $3,999 M3 Ultra: 256 GB @ 819 GB/s, 26 TFLOPS (fp16), $5,599 DGX Spark har 3 gånger mindre minnesbandbredd än M3 Ultra men 4 gånger mer FLOPS. Genom att köra beräkningsbunden förifyllning på DGX Spark, minnesbunden avkodning på M3 Ultra och strömning av KV-cache över 10 GbE kan vi få det bästa av båda maskinvarorna med massiva hastighetsökningar. Kort förklaring i denna tråd och länk till hela blogginlägget nedan.
LLM-inferens består av ett förifyllnings- och avkodningssteg. Förifyllning bearbetar prompten och skapar en KV-cache. Det är beräkningsbundet så det blir snabbare med fler FLOPS. Avkodning läser KV-cachen och genererar tokens en efter en. Det är minnesbundet så det blir snabbare med mer minnesbandbredd.
Vi kan köra dessa två steg på olika enheter: Förfyllning: DGX Spark (enhet med hög databehandling, 4x beräkning) Avkodning: M3 Ultra (enhet med hög minnesbandbredd, 3x minnesbandbredd) Men nu måste vi överföra KV-cachen över nätverket (10GbE). Detta medför en fördröjning.
Men KV-cachen skapas för varje transformatorlager. Genom att skicka varje lagers KV-cache efter att den har beräknats överlappar vi kommunikationen med beräkningen. Vi strömmar KV-cachen och döljer nätverksfördröjningen. Vi uppnår en 4x uppsnabbning i förfyllning och 3x i avkodning, med 0 nätverksfördröjning.
Hela blogginlägget och mer information om EXO 1.0: Tack @NVIDIA för tidig tillgång till två DGX Sparks. #SparkSomethingBig
679