Agrupamento NVIDIA DGX Spark + M3 Ultra Mac Studio para uma inferência LLM 4x mais rápida. DGX Spark: 128GB @ 273GB/s, 100 TFLOPS (fp16), $3,999 M3 Ultra: 256GB @ 819GB/s, 26 TFLOPS (fp16), $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 pré-preenchimento limitado por computação no DGX Spark, decodificação limitada por memória no M3 Ultra e transmitindo o cache KV via 10GbE, conseguimos obter o melhor de ambos os hardwares com aumentos de velocidade massivos. Explicação curta neste tópico e link para o post completo do blog abaixo.
A inferência LLM consiste em uma fase de pré-preenchimento e uma fase de decodificação. O pré-preenchimento processa o prompt, construindo um cache KV. É limitado pelo cálculo, portanto, fica mais rápido com mais FLOPS. A decodificação lê o cache KV e gera tokens um por um. É limitado pela memória, portanto, fica mais rápido com mais largura de banda de memória.
Podemos executar estas duas etapas em dispositivos diferentes: Pré-preenchimento: DGX Spark (dispositivo de alto desempenho, 4x desempenho) Decodificação: 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 (10GbE). Isso introduz um atraso.
Mas o cache KV é criado para cada camada do transformador. Ao enviar o cache KV de cada camada após ser computado, sobrepomos a comunicação com a computação. Transmitimos o cache KV e ocultamos o atraso da rede. Conseguimos um aumento de 4x na pré-preenchimento e 3x na decodificação, com 0 de atraso na rede.
Postagem completa do blog e mais detalhes sobre o EXO 1.0: Obrigado @NVIDIA pelo acesso antecipado a dois DGX Sparks. #SparkSomethingBig
439,64K