A NVIDIA relatou aumento de 42,5% no throughput de decodificação do modelo MoE Ling-3.0-flash-fp4 no DGX Spark: a taxa passou de 37,81 para 53,89 tokens por segundo em uma avaliação com 1.319 questões GSM8K e batch size 1. O artigo com os resultados foi publicado em 27 de outubro de 2026.
O ganho veio da combinação de três técnicas: kernels Humming para MoE MXFP4, quantização online FP8 do LM head e decodificação especulativa MTP com a camada NEXTN. MoE, ou mistura de especialistas, é uma arquitetura em que cada token ativa apenas parte dos especialistas do modelo.
O que a NVIDIA mediu na GSM8K
A avaliação usou cinco exemplos no prompt, temperatura 0,6, top-p 0,95, top-k 29, limite de 32.768 tokens gerados e raciocínio em cadeia ativado. Além do throughput, a NVIDIA reportou latência média de 15,21 segundos na configuração de referência e 11,49 segundos com as três otimizações. O tempo até o primeiro token foi de 0,207 e 0,214 segundo, respectivamente.
A taxa de decodificação mede a geração de tokens depois do processamento da entrada. São etapas diferentes: no vídeo em espanhol de Codigo gris, o processamento do prompt é explicado como limitado pela capacidade de computação, enquanto a geração de tokens pode ser limitada pela largura de banda da memória, que precisa alimentar repetidamente o modelo com seus pesos.
Três otimizações em partes diferentes da geração
O Humming substituiu o backend de kernels MoE MXFP4 usado na configuração de referência, que recorria ao FlashInfer. O Humming usa NVRTC, compilador da NVIDIA, para gerar kernels durante a execução conforme as dimensões, os tipos de dados e a arquitetura da GPU; depois, guarda os binários em ~/.humming/cache.
A segunda mudança quantiza online o LM head, ou cabeça de linguagem, de BF16 para FP8. Segundo a NVIDIA, isso reduz pela metade o volume de leitura dos pesos dessa camada em relação ao BF16. A configuração indicada é SGLANG_ENABLE_FP8_LM_HEAD=1, incompatível com a opção de referência --enable-fp32-lm-head.
A terceira técnica é a decodificação especulativa MTP, que usa a camada NEXTN para propor vários tokens antes de verificá-los. Na configuração descrita pela NVIDIA, o rascunho prevê três etapas e a janela de verificação cobre quatro tokens.
O modelo avaliado, Ling-3.0-flash-fp4, tem 124 bilhões de parâmetros no total e ativa 5,1 bilhões por token, segundo a NVIDIA. Em cada camada MoE, um token é encaminhado a oito dos 512 especialistas roteados, além de um especialista compartilhado.
O resultado sintético mede outra carga
A NVIDIA também testou uma carga sintética com batch size 1, entrada fixa de 32 mil tokens, saída de 2 mil tokens e decodificação gulosa. Os 185,1% de aumento relatados pertencem a esse cenário, não à avaliação GSM8K. As duas taxas de decodificação podem ser comparadas junto das condições específicas de cada teste:
| Avaliação e condições | Referência (tok/s) | Três otimizações (tok/s) | Variação relatada pela NVIDIA |
| GSM8K: 1.319 questões, batch size 1, cinco exemplos e amostragem | 37,81 | 53,89 | +42,5% |
| Sintética: batch size 1, entrada de 32 mil tokens, saída de 2 mil tokens e decodificação gulosa | 36,09 | 102,88 | +185,1% |
A aceitação média do MTP foi de 3,90 tokens por rodada no teste sintético e 2,68 na GSM8K. A NVIDIA observa que a saída repetitiva e a decodificação gulosa da carga sintética favorecem a aceitação especulativa. Por isso, os 185,1% descrevem aquela configuração, enquanto o resultado GSM8K oferece uma medida em uma avaliação diferente.
O compartilhamento do LM head é essencial para FP8 e MTP
Ao combinar FP8 e MTP, o modelo de rascunho precisa compartilhar com o modelo-alvo o módulo completo do LM head. Compartilhar apenas os pesos pode levar o rascunho a interpretar pesos FP8 como BF16. Nesse caso, a NVIDIA relata que a aceitação pode cair para 1,00 token por rodada e o throughput ficar abaixo da configuração de referência.