Agrupando NVIDIA DGX Spark + M3 Ultra Mac Studio para una inferencia LLM 4x más rápida. DGX Spark: 128GB @ 273GB/s, 100 TFLOPS (fp16), $3,999 M3 Ultra: 256GB @ 819GB/s, 26 TFLOPS (fp16), $5,599 El DGX Spark tiene 3x menos ancho de banda de memoria que el M3 Ultra pero 4x más FLOPS. Al ejecutar prefill limitado por computación en el DGX Spark, decodificación limitada por memoria en el M3 Ultra, y transmitiendo la caché KV a través de 10GbE, podemos obtener lo mejor de ambos hardware con enormes aceleraciones. Explicación breve en este hilo y enlace a la publicación completa del blog a continuación.
La inferencia de LLM consiste en una etapa de prellenado y una etapa de decodificación. El prellenado procesa el aviso, construyendo una caché KV. Es dependiente de la computación, por lo que se vuelve más rápido con más FLOPS. La decodificación lee la caché KV y genera tokens uno por uno. Es dependiente de la memoria, por lo que se vuelve más rápido con más ancho de banda de memoria.
Podemos ejecutar estas dos etapas en diferentes dispositivos: Prefill: DGX Spark (dispositivo de alto rendimiento, 4x rendimiento) Decode: M3 Ultra (dispositivo de alto ancho de banda de memoria, 3x ancho de banda de memoria) Sin embargo, ahora necesitamos transferir la caché KV a través de la red (10GbE). Esto introduce un retraso.
Pero la caché KV se crea para cada capa del transformador. Al enviar la caché KV de cada capa después de que se ha computado, superponemos la comunicación con la computación. Transmitimos la caché KV y ocultamos el retraso de la red. Logramos una aceleración de 4x en la prellenado y 3x en la decodificación, con 0 de retraso en la red.
Publicación completa del blog y más detalles sobre EXO 1.0: Gracias @NVIDIA por el acceso anticipado a dos DGX Sparks. #SparkSomethingBig
682