Clustering NVIDIA DGX Spark + M3 Ultra Mac Studio para inferência LLM 4x mais rápida. DGX Spark: 128 GB @ 273 GB/s, 100 TFLOPS (fp16), US$ 3.999 M3 Ultra: 256 GB @ 819 GB/s, 26 TFLOPS (fp16), US$ 5.599 O DGX Spark tem 3x menos largura de banda de memória do que o M3 Ultra, mas 4x mais FLOPS. Ao executar o preenchimento de pré-processamento vinculado ao DGX Spark, a decodificação vinculada à memória no M3 Ultra e o streaming do cache KV em 10 GbE, podemos obter o melhor de ambos os hardwares com acelerações massivas. Breve explicação neste tópico e link para a postagem completa do blog abaixo.
A inferência de LLM consiste em um estágio de preenchimento prévio e decodificação. O preenchimento prévio processa o prompt, criando um cache KV. É vinculado à computação, então fica mais rápido com mais FLOPS. A decodificação lê o cache KV e gera tokens um por um. É limitado à memória, então fica mais rápido com mais largura de banda de memória.
Podemos executar esses dois estágios em diferentes dispositivos: Preenchimento prévio: DGX Spark (dispositivo de alta computação, computação 4x) Decodificar: M3 Ultra (dispositivo de alta largura de banda de memória, 3x largura de banda de memória) No entanto, agora precisamos transferir o cache KV pela rede (10 GbE). Isso introduz um atraso.
Mas o cache KV é criado para cada camada do transformador. Ao enviar o cache KV de cada camada depois de computado, sobrepomos a comunicação com a computação. Transmitimos o cache KV e ocultamos o atraso da rede. Alcançamos uma aceleração de 4x no preenchimento de pré-enchimento e 3x na decodificação, com 0 atraso de rede.
Postagem completa do blog e mais detalhes sobre o EXO 1.0: Obrigado @NVIDIA pelo acesso antecipado a dois DGX Sparks. #SparkSomethingBig
439,71K