- Enquanto a demanda por inferência supera a oferta e os custos de GPUs da NVIDIA e de tokens sobem, a AMD MI355X surge como uma alternativa de inferência de baixo custo, com preço médio por GPU cerca de 2,75 vezes menor que o da B300
- A linha AMD Instinct MI350 compete com Blackwell no nível do silício, mas a vantagem em software e o suporte day-0 da NVIDIA determinam a velocidade real de serving e a dificuldade de adoção
- A Wafer otimizou o GLM-5.2 na MI355X e atingiu 2626 tok/s/node e 2.4 rps em uma carga com 20k de entrada / 1k de saída e 60% de cache hit, o que equivale a 80% do desempenho medido na B200
- Em stream único, registrou 213 tok/s com 10k tokens de entrada / 1,5k tokens de saída e, embora não lidere o ranking, considera ter vantagem em custo por desempenho
- Como esse resultado foi obtido sem kernels customizados, apenas com correções de bugs no framework, quantização, speculative decode e ajuste fino da seleção de kernels MoE, o desafio da AMD passa a ser cada vez mais de suporte do que do próprio software
Custo de inferência da AMD e a diferença de software da NVIDIA
- A demanda por inferência está crescendo rapidamente e superando a oferta, enquanto modelos de ponta como Claude Fable, GLM-5.2 e Minimax M3 estão surgindo quase a cada duas semanas, ampliando também a demanda por tokens
- Como a oferta de Blackwell não é suficiente, os preços das GPUs da NVIDIA e o custo por token estão subindo juntos
- A AMD MI355X custa, em média, cerca de 2,75 vezes menos por GPU que a B300, com especificações de hardware em nível comparável
- A linha AMD Instinct MI350 compete com Blackwell no nível do silício, mas a NVIDIA consegue servir inferência dos modelos mais recentes com mais rapidez e menos atrito graças ao suporte day-0 e ao seu ecossistema de software
- Na MI355X e na stack ROCm, muitas vezes o desempenho SOTA de modelos de ponta mais recentes não vem pronto por padrão, e pode ser difícil até encontrar uma imagem executável
- Sem suporte day-0, são necessárias semanas de engenharia e compute para compilar e otimizar os modelos mais recentes; nesse meio-tempo, surgem modelos ainda mais novos, mantendo a AMD sempre correndo atrás
Desempenho do GLM-5.2 na MI355X
- A Wafer avalia que, à medida que agentes melhoram na otimização de kernels e modelos, a diferença prática entre AMD e NVIDIA está diminuindo
- Em uma carga com 20k de entrada / 1k de saída e 60% de cache hit, atingiu 2626 tok/s/node
- RPS sustentado de 2.4 rps
- O knee definido foi TTFT de no máximo 5 segundos
- Equivale a 80% do desempenho medido na B200
- A MI355X custa mais de 2 vezes menos
| RPS sustentado | tok/s/node agregado | TTFT p50 / p95 | Taxa de sucesso |
|---|---|---|---|
| 0.5 | 449 | 0.59s / 0.60s | 100% |
| 1.0 | 974 | 0.60s / 0.81s | 100% |
| 1.5 | 1913 | 0.62s / 1.03s | 100% |
| 2.0 | 1944 | 0.62s / 1.05s | 100% |
| 2.25 | 2089 | 0.63s / 1.23s | 100% |
| 2.4 saturado | 2626 | 0.81s / 2.22s | 100% |
- Seguindo o critério da Artificial Analysis, o GLM-5.2 em stream único atingiu 213 tok/s com 10k tokens de entrada / 1,5k tokens de saída
- Esse número não coloca o modelo no topo do ranking da Artificial Analysis, mas a Wafer considera que ele leva vantagem em custo por desempenho
- O teste foi servido na capacidade AMD MI355X da TensorWave
Quantização e escolha do framework de inferência
- A primeira etapa foi a escolha da quantização e do framework, e a Wafer quantizou o GLM-5.2 baseado em bf16 para MXFP4 com o AMD Quark
- Em comparação com a quantização FP8 oficial da z-ai, o MXFP4 foi avaliado como praticamente sem perdas em GPQA-Diamond, tau2 e GSM8K
| Avaliação | Referência FP8 | MXFP4 | Δ |
|---|---|---|---|
| GSM8K, 200 questões, 5-shot, greedy | 0.965 ± 0.013 | 0.955 ± 0.014 | −0.010 |
| GPQA-Diamond, 198 questões × 2 seeds, temp 1.0 | 0.9217 ± 0.027 | 0.9026 ± 0.029 | −0.019 |
| tau2 macro | 0.819 | 0.834 | +0.015 |
- Os candidatos a framework de inferência eram vLLM, ATOM e sglang
- O vLLM não conseguia executar o caminho MXFP4 + GlmMoeDsa, então não aproveitava as vantagens dos pesos MXFP4
- O ATOM apresentava queda de qualidade de saída em contextos longos
- O sglang tinha o menor atrito até o suporte nativo, aproveitando a quantização e mantendo saídas consistentes
Dois problemas que impediam o speculative decode
- Para melhorar o throughput, a equipe tentou ativar speculative decode no sglang, mas a imagem ROCm do sglang não oferecia esse suporte por padrão
- Para que o MTP funcionasse corretamente, foram necessárias duas correções
- O primeiro problema era que o shared expert do head MTP era armazenado em bf16, mas a busca de quantização do sglang tentava construí-lo em MXFP4 devido a uma incompatibilidade no prefixo do módulo
- O Quark nomeia o shared expert em bf16 como
model.layers.78.mlp.shared_experts.* - O prefixo real da camada MTP é
model.decoder.* - Por causa dessa inconsistência, no carregamento o sistema tentava ler pesos bf16 em largura total em slots 4-bit de meia largura, e a inicialização falhava por shape mismatch
- A Wafer copiou mais uma vez os itens da camada 78 para o nome de decoder realmente usado pelo sglang, liberando o speculative decode e quase triplicando o throughput em stream único
- O Quark nomeia o shared expert em bf16 como
- O segundo problema era o bloqueio de speculative decode profundo, como a configuração 5/1/6 proposta pela z-ai
- O kernel fused multi-step metadata necessário para draft depth 4 ou mais escrevia
#include <cuda_runtime.h>sem guard para ROCm - A correção foi feita com um único guard
#ifdef USE_ROCM
- O kernel fused multi-step metadata necessário para draft depth 4 ou mais escrevia
- Depois que o speculative decode passou a funcionar corretamente, ajustes adicionais como
--kv-cache-dtype fp8_e4m3e--enable-aiter-allreduce-fusionlevaram o decode em stream único a 213 tok/s
Gargalo de throughput agregado e ajuste de MoE
- Na carga definida, otimizar apenas o decode não era suficiente, e com 20k de entrada e 60% de cache a principal limitação era o prefill
- Em uma configuração TP8 voltada para decode em stream único, a MI355X executava o GLM-5.2-MXFP4 a 1461 tok/s/node
- Ao migrar para TP4×DP2, atingiu 1944 tok/s/node e 2.0 RPS na mesma carga
- Ainda assim, o desempenho medido pela Wafer em Blackwell foi de 3192 tok/s/node a 3.0 RPS, e o prefill da MI355X era relativamente mais lento
- Um dos principais motivos foi que o fp4 MoE do GLM-5.2, na imagem do sglang, caía silenciosamente em um fallback heurístico lento do FlyDSL
- O aiter fornece configurações ajustadas apenas para o caminho a8w8/fp8
- A Wafer ajustou manualmente a seleção de kernels MoE para corresponder ao shape fp4 do GLM
- O shape-alvo era
model_dim 6144,moe_inter 2048,E=256,topk=8
- Com esse ajuste, o throughput agregado chegou a 2626 tok/s/node e 2.4 RPS
O que é necessário para obter desempenho SOTA na AMD
- O processo para atingir o melhor custo por desempenho na MI355X teve algum atrito, mas foi considerado não especialmente difícil
- Ao contrário do trabalho com o Qwen3.5 397B, desta vez não foram escritos kernels customizados
- Este estudo não considerou desempenho multinó, mas implantações em nó único continuam amplamente usadas em ambientes reais
- O desafio de obter desempenho SOTA na AMD está se tornando cada vez mais uma questão de suporte do que do próprio software
- A conclusão é que o moat do CUDA está enfraquecendo em tempo real
1 comentários
Comentários do Hacker News
Eu gostaria que comparações como essa também incluíssem desempenho por watt como métrica. Queria saber onde a AMD realmente fica em custo versus desempenho
Conversando com empresas que querem construir data centers fora dos EUA, elas dizem que é difícil conseguir volume suficiente de Nvidia em escala adequada
Se a AMD for competitiva em desempenho por watt e o suporte de software também for em geral confiável, isso importa bastante, já que fora dos EUA a eletricidade muitas vezes é relativamente cara
Se ela tornar viáveis pequenos data centers por um preço adequado, parece que a AMD pode virar parte da stack em regiões onde a oferta da Nvidia é limitada
Dito isso, não sei como é na prática a aquisição de GPUs AMD, e fora a Wafer nos EUA e algumas poucas empresas, quase nunca vejo empresas usando AMD, então talvez eu esteja preso dentro da bolha da Nvidia
Assumindo operação contínua a 100% por 8 anos, isso dá cerca de 1 GWh, o que mesmo em um lugar com eletricidade cara como a Alemanha fica em algo como 100 mil euros, então em comparação com o custo inicial de US$ 500 mil do equipamento não é tão relevante ao longo de 8 anos
O verdadeiro problema do alto consumo de energia não é a conta de luz, mas o limite de fornecimento elétrico que se consegue trazer para o data center. Uma configuração mais eficiente significa que dá para colocar mais equipamentos dentro de uma entrada de energia limitada
O mercado realmente precisa de um concorrente real para a Nvidia, e especialmente com desempenho/watt importante
A OpenAI também: https://www.amd.com/en/newsroom/press-releases/2025-10-6-amd...
É legal, mas em uso real quase nunca há casos em que a quantização FP4 seja de fato sem perdas. Muitos provedores anunciam altas taxas de tokens por segundo com Kimi e GLM, mas o modelo acaba funcionalmente capado e já não fica perto da qualidade de ponta
Espero que isso não seja verdade
Isso é diferente do GLM, cujo padrão é 16 bits e que também costuma usar 8 bits
Então o ideal seria criar uma quantização MXFP6 que seja quase sem perdas e fique muito mais perto do desempenho de FP4 do que de FP8
Eu não testei modelos convertidos pela Nvidia para NVFP4 o bastante além do GLM 5.2, mas me pareceu ok
Na prática, a experiência variou bastante de modelo para modelo
Achei que iam discutir caminhos para melhorar ficando mais rápido e barato, mas neste texto parece que estão oferecendo a versão quantizada pelo mesmo preço da versão completa, e vendendo a versão rápida por muito mais
Isso não é quase óbvio? Desempenho por dólar deveria melhorar só em uma direção, como uma catraca. Como algo mais caro substituiria algo mais barato?
Acho que deveria ser ilegal publicar título assim sem especificar o método de quantização
.ai. Se terminar, há uma chance altíssima de ser conteúdo de baixo esforço, caça-cliques, raso, inútil ou enganosoComputação em memória e paradigmas neuromórficos provavelmente vão empurrar muito mais essa tendência na próxima década
À medida que melhorias mais radicais saírem dos laboratórios, novos materiais e nanodispositivos devem acabar entrando em cena, e a eficiência pode melhorar em várias ordens de grandeza
Só de escalar tecnologias existentes como MRAM já há espaço para isso
Ao passar de fp8 para mxfp4 há uma perda de precisão perceptível
Mesmo assim, agora está se gabando de ter reduzido ainda mais os custos com quantização, apesar de a implementação claramente deixar a desejar
[1] https://www.ycombinator.com/launches/Q9i-wafer-pass-flat-rat...
Isso não é um fenômeno novo. Desempenho por dólar vem melhorando de forma exponencial e bastante consistente desde por volta de 1900
1900~2010: https://www.thekurzweillibrary.com/exponential-growth-of-com...
1939~2023: https://medium.com/@timventura/kurzweils-law-for-the-ai-age-...
Não surpreende competir com Blackwell. Rubin é 5 vezes mais rápido que Blackwell em inferência, e Blackwell é a última geração que a Nvidia não otimizou especificamente para inferência
Se deixei passar algo, gostaria de saber
Dá para ver uma configuração desagregada separando nós de prefill e nós de decoding, mas fora isso não sei o que mais haveria
Especialmente agora que várias moedas estão se desvalorizando