LLM Benchmark v4: o veredito de open source (até out/2026)

Este é o fechamento do benchmark v4. Desde que comecei essa rodada, foram sete artigos, primeiro na nuvem e depois empurrando a mesma régua de sabotagem pra cada vez mais longe dela:

  • Parte 1: por que eu refiz o benchmark do zero pela terceira vez, como funciona o app Rails sabotado com CVEs reais, e quanto custou.
  • Parte 2: o ranking original da nuvem, com quase 40 modelos, seis empates no topo e um modelo de graça batendo metade do Claude.
  • Opus 5.5, GPT-6 sol e luna, MiMo 2.6 e Grok 4.7: a leva seguinte da nuvem. O Opus 5.5 fechou com 100, o GPT 6 luna fez 95,5 por menos de um dólar a rodada, e o Grok 4.7 regrediu contra o próprio antecessor.
  • Os top LLMs open source numa B300: uma GPU alugada, 14 modelos abertos, e dois deles, GLM 5.3 Flash e Qwen3.8 Flash-Next, empatados em 92,5, no nível do Sonnet 5.
  • Open source que só cabe em 4x B300: os modelos grandes, a maioria de 400 bilhões a 1 trilhão de parâmetros. O DeepSeek V4.1 Flash empatou com o líder em 92,5 e o resto mostrou que tamanho não compra vigilância.
  • Meu time cabe em 4x B300/H200?: teste de concorrência de verdade. O mesmo DeepSeek atende 32 sessões confortáveis no pod de B300 e só 8 no de H200.
  • Open source nível consumidor na RTX 5090 ou Strix Halo: o Qwen3.8 Flash-Next fez 91 numa placa de PC com o motor Strata, a 159 tokens por segundo.

Este artigo junta tudo numa tabela só e responde a pergunta que sobra: até outubro de 2026, open source já dá conta?

O maior benchmark que eu já rodei

O v4 foi, de longe, a maior rodada de testes que eu já fiz. São quase 70 rodadas completas do mesmo protocolo, quase 60 modelos diferentes, rodando em API de nuvem, numa B300 alugada, num pod de quatro B300, numa RTX 5090 e num Strix Halo, mais um pod de quatro H200 só pro teste de concorrência.

E foi caro. Só a primeira leva, a da nuvem, passou de 4 mil dólares em nove dias, somando créditos e assinaturas. A B300 única custou uns 270, e a campanha de 4x B300 e 4x H200 levou mais uns 2.100. Somando o que eu consigo somar, passou de 6 mil dólares, sem contar as horas de máquina em casa.

Eu não acho que muita gente vai reproduzir isso tão cedo. Se este material te serviu, compartilhe com quem precisa decidir entre nuvem, servidor próprio ou PC local. Todo o código, os prompts, os logs e os relatórios estão abertos no meu GitHub: akitaonrails/llm-coding-benchmark.

Relembrando a régua

O protocolo é sempre o mesmo. O modelo constrói um app Rails de chat em sete sprints, e entre as sprints um revisor injeta 14 defeitos de segurança e de correção, alguns barulhentos (CVE em gem, chave no código), outros silenciosos (vazamento entre tenants, agregado errado, teste adulterado pra esconder backdoor).

A nota vai de 0 a 100. Defeito corrigido sem aviso vale peso cheio; corrigido só depois que eu revelo que tem problema vale 40%; nunca corrigido vale zero. Os tiers são A a partir de 83, B de 73 a 82,5, C de 51 a 72,5 e D até 50.

É uma régua de vigilância de revisão de código. Ela mede se o modelo percebe sabotagem enquanto trabalha, e isso é diferente de medir quem escreve o seu sistema inteiro melhor.

O ranking combinado

Todas as rodadas do v4 numa tabela só, comerciais e abertos, nuvem e hardware próprio. Quando o mesmo modelo rodou em lugares diferentes, ele aparece mais de uma vez, porque o lugar muda a nota.

#ModeloPesosOnde rodouNotaTierCusto da rodadatok/sMinutos
1GPT-6 AstrafechadoNuvem (Codex)100,0AUS$ 30,55—100
1Claude Opus 5fechadoNuvem (Claude Code)100,0A~US$ 71 ¹—145
1Claude Fable 5fechadoNuvem (Claude Code)100,0A~US$ 50 ¹—85
1Claude Opus 5.5fechadoNuvem (Claude Code)100,0AUS$ 16,63 ¹—64
1GPT 5.6 solfechadoNuvem (Codex)100,0AUS$ 20,37—317
1GPT 5.6 terrafechadoNuvem (Codex)100,0AUS$ 9,52—80
1GPT 5.5fechadoNuvem (Codex)100,0AUS$ 34,69—117
8Grok 4.6fechadoNuvem (OpenCode)98,5AUS$ 13,00—67
9Claude Fable 5.1fechadoNuvem (Claude Code)95,5A~US$ 51 ¹—133
9Sakana Fugu Ultra v2fechadoNuvem (OpenCode)95,5AUS$ 122,01—294
9GPT 6 lunafechadoNuvem (Codex)95,5A~US$ 0,84 ²—122
12GPT 5.6 lunafechadoNuvem (Codex)95,0AUS$ 10,04—123
13Nex N2.5 Pro ⁴abertoNuvem (OpenCode)94,0Agrátis—480
13GLM 5.3abertoNuvem (ZCode)94,0Aplano flat—215
15DeepSeek V4.1 FlashabertoNuvem (OpenCode)92,5AUS$ 1,21—172
15DeepSeek V4.1 Flashaberto4x B30092,5Apod a US$ 36/h174,8—
15GLM 5.3 Flash (NVFP4)aberto1x B30092,5AUS$ 21,96 ³142,0145
15Qwen3.8 Flash-Next (NVFP4)aberto1x B30092,5AUS$ 12,04 ³195,080
19MiMo V2.6 ProabertoNuvem (OpenCode)92,0AUS$ 1,22—308
20Qwen3.8 Flash-Next (IQ3_S)abertoRTX 5090 (Strata)91,0AUS$ 0 (local)159,2—
20Claude Sonnet 5fechadoNuvem (Claude Code)91,0A~US$ 27 ¹—112
20GPT 6 solfechadoNuvem (Codex)91,0A~US$ 8,35 ²—73
23Gemini 3.8 Flash highfechadoNuvem (OpenCode)90,5AUS$ 15,98—97
24Gemini 3.8 FlashfechadoNuvem (Antigravity)89,5Agrátis (OAuth)—120
24MiniMax M3.1 FlashfechadoNuvem (OpenCode)89,5Agrátis——
26Muse Spark 1.3fechadoNuvem (OpenCode)88,75AUS$ 13,31—150
27Swift 1.5 27Baberto1x B30088,0AUS$ 9,71 ³203,064
27Grok 4.5fechadoNuvem (OpenCode)88,0AUS$ 6,19—48
29Claude Opus 4.6fechadoNuvem (Claude Code)87,5AUS$ 25,64 ¹—89
30Kimi K2.7 CodeabertoNuvem (Kimi CLI)87,25AUS$ 7,75—175
31MiMo V2.5 ProabertoNuvem (OpenCode)86,5AUS$ 1,03—158
31Qwen3.8 FlashfechadoNuvem (OpenCode)86,5AUS$ 1,17—149
33DeepSeek V4 FlashabertoNuvem (OpenCode)86,0AUS$ 0,97—111
33Claude Opus 4.8fechadoNuvem (Claude Code)86,0A~US$ 37 ¹—87
35Claude Sonnet 4.6fechadoNuvem (Claude Code)85,75AUS$ 18,64 ¹—91
36Kimi K3abertoNuvem (Kimi CLI)85,0AUS$ 13,79—148
36DeepSeek V4 Flash 0731abertoNuvem (OpenCode)85,0AUS$ 1,94—194
38GLM 5.3 FlashabertoNuvem (ZCode)84,25Aplano flat—296
39DeepSeek V4 Pro 0813abertoNuvem (OpenCode)84,0AUS$ 4,49—152
40Step 3.7 FlashabertoNuvem (OpenCode)83,75AUS$ 4,15—118
41Grok 4.7fechadoNuvem (OpenCode)83,5AUS$ 27,94—120
42ThinkingCap 3.8 27Baberto1x B30083,0AUS$ 11,47 ³189,076
43DeepSeek V4 ProabertoNuvem (OpenCode)82,0BUS$ 5,26—97
44Muse Glimmer 30Baberto1x B30081,0BUS$ 3,54 ³295,023
44Ornith 1.5 35Baberto1x B30081,0BUS$ 24,39 ³317,0161
46Qwen 3.8 27Baberto1x B30080,5BUS$ 29,11 ³195,0192
47Qwen 3.8 27B (Q8_0)abertoStrix Halo80,0BUS$ 0 (local)7,7706
48Qwen 3.7 MaxfechadoNuvem (OpenCode)79,0BUS$ 10,63—106
49GLM 5.2abertoNuvem (ZCode)77,0Bplano flat—239
50GLM 5.3 fullaberto4x B30076,0Bpod a US$ 36/h110,0—
51Gemini 3.7 Flash highfechadoNuvem (OpenCode)75,5BUS$ 12,93—85
51MiniMax M3abertoNuvem (OpenCode)75,5BUS$ 12,17—187
53Ornith 1.5 122Baberto4x B30073,0Bpod a US$ 36/h244,2—
54Step-5-Previewaberto4x B30072,5Cpod a US$ 36/h165,9—
55Muse Spark Openaberto4x B30069,5Cpod a US$ 36/h130,8—
56Qwen3.5 397B (NVFP4)aberto1x B30068,5CUS$ 8,22 ³140,054
57MiMo V2.6 Proaberto4x B30067,0Cpod a US$ 36/h167,2—
58Laguna-S-2.1aberto4x B30065,5Cpod a US$ 36/h263,0—
59Ornith 1.5 35B (Q8_0)abertoRTX 5090 (Strata)64,5CUS$ 0 (local)80,0—
60Nemotron 3.5 Super VL (NVFP4)aberto1x B30063,0CUS$ 7,51 ³207,050
61Kimi K2 Thinkingaberto4x B30046,0Dpod a US$ 36/h110,0—
62DeepSeek V4 Flashaberto1x B30044,5DUS$ 5,59 ³153,037
63Mistral Large 3abertoNuvem (OpenCode)39,0DUS$ 5,11—76
64GLM 4.7 Flash (BF16)aberto1x B30033,5DUS$ 4,60 ³217,030
65Gemini 3.1 Pro ⁴fechadoNuvem (OpenCode)32,5DUS$ 10,31—54
66Nex N2.5 Proaberto4x B30027,0Dpod a US$ 36/h184,0—
67GLM-4.7-Flash (Q5_K_M)abertoRTX 509024,0DUS$ 0 (local)—29

Como ler as colunas:

  • Pesos: “aberto” é checkpoint baixável, qualquer licença; “fechado” é só API.
  • Custo da rodada: o que uma rodada completa de sete sprints custou.
  • tok/s: velocidade de decodificação de um stream só, medida por mim. Só existe pra quem eu servi.
  • Minutos: tempo de relógio da rodada inteira, quando eu tenho o dado. Na B300 única, é só o tempo dos sprints.

E as notas de rodapé:

  1. Claude rodou pela assinatura Max do Claude Code. O custo é nocional: os tokens da rodada a preço de tabela da API.
  2. Estimado a partir dos tokens da rodada.
  3. Só o tempo de inferência na B300 a uns US$ 9 por hora. Download, carga, compilação e tuning ficam de fora, e o custo real do pod foi maior.
  4. Nota com ressalva. O Nex na nuvem foi avaliado pelo disco, com tudo sem commit; o Gemini 3.1 Pro foi prejudicado por um bug do proxy do OpenRouter.

Os primeiros artigos do v4 juntavam tudo abaixo de B como C; aqui eu uso a escala com D, a mesma das campanhas de B300. O MiniMax M3.1 Flash rodou de graça pelo OpenRouter como âncora de nuvem da campanha local, e a MiniMax promete liberar os pesos dele no dia 23 de outubro.

Os modelos estão convergindo

No escopo limitado deste benchmark, a impressão é de que todo mundo está chegando no mesmo lugar. 42 das 67 rodadas fizeram Tier A, 24 de modelos fechados e 18 de abertos. Sete modelos bateram 100, e 23 rodadas ficaram acima de 90.

Parte disso é limite da própria régua. Quando sete modelos tiram a nota máxima, o teste deixa de separar o topo. E uma rodada repetida do GPT 5.5 fez 91 contra os 100 da oficial, então diferenças de poucos pontos entre dois modelos podem ser só ruído.

Mesmo descontando isso, o desenho é claro. O DeepSeek V4.1 Flash, o GLM 5.3 Flash e o Qwen3.8 Flash-Next, todos abertos, estão a 7,5 pontos do teto, colados no Sonnet 5 e no GPT 6 sol.

Pra revisão de código e vigilância, o modelo aberto bom já está no pelotão do modelo fechado bom. O que ainda separa os dois é consistência: entre os abertos aparecem notas D que entre os fechados de ponta não aparecem.

O Ocidente parado, a China correndo

Comparando gerações da mesma família dentro do v4, a diferença de ritmo aparece:

FamíliaAntesDepois
DeepSeek V4 Flash → V4.1 Flash86,092,5
GLM 5.2 → 5.377,094,0
MiMo V2.5 Pro → V2.6 Pro86,592,0
MiniMax M3 → M3.1 Flash75,589,5
Kimi K2.7 Code → K387,2585,0
Gemini 3.7 Flash → 3.8 Flash (high)75,590,5
Claude Fable 5 → 5.1100,095,5
Grok 4.6 → 4.798,583,5
GPT 5.6 sol → GPT 6 sol100,091,0
GPT 5.6 luna → GPT 6 luna95,095,5
Claude Opus 5 → 5.5100,0100,0

Os chineses subiram de 5,5 a 17 pontos por geração, com exceção do Kimi. Do lado ocidental, quem já estava no teto não tinha pra onde subir: o Opus ficou em 100, o GPT 6 luna ficou onde o 5.6 luna estava, e três lançamentos novos ficaram abaixo dos antecessores. O Gemini Flash é o contraexemplo ocidental, com um salto de 15 pontos.

O calendário reforça a leitura. O Claude Fable 5 saiu em junho, o Opus 5 e o GPT 5.6 em julho, e todos já batiam 100 na minha régua. Daí até outubro, a OpenAI e a Anthropic lançaram o Fable 5.1, o GPT-6 Astra, o Opus 5.5 e o GPT-6 sol e luna. Nenhum deles mostrou ganho na minha régua, e alguns ficaram abaixo dos antecessores.

No mesmo intervalo, os chineses saíram de uma posição bem atrás: DeepSeek V4 em abril, Kimi K3 em julho, Qwen 3.8 e GLM 5.3 em agosto, DeepSeek V4.1 Flash e MiMo V2.6 Pro em setembro, MiniMax M3.1 Flash em outubro. Cada lançamento chegou mais perto do topo.

Os chineses parecem andar mais rápido, e andam. Mas parte da impressão vem de os ocidentais estarem parados há meses, pelo menos em programação. Quando o líder não se mexe, quem corre atrás encosta.

Matemática não é programação

Os laboratórios ocidentais não pararam de trabalhar. Eles estão gastando boa parte da vitrine em matemática:

É impressionante, e é legítimo. Prova formal é um dos poucos lugares onde dá pra verificar a resposta automaticamente, o que torna matemática um ótimo campo de treino e de propaganda. Só que o mesmo Fable 5.1 que serviu de régua pro Fermat fez 95,5 no meu benchmark, contra os 100 do Fable 5.

Ficar melhor em matemática não deixa o modelo automaticamente melhor em programação. Um estudo de 2025, Does Math Reasoning Improve General LLM Capabilities?, concluiu que a maioria dos modelos que vai bem em matemática não transfere o ganho pra outros domínios, com programação entre eles. Há contraexemplos: a NVIDIA mostrou que aprendizado por reforço só com matemática subiu a nota de código de modelos pequenos. A transferência acontece às vezes, e depende de como se treina.

E o tal do mixture of experts

A intuição comum é que, num modelo mixture of experts (MoE), dá pra melhorar o “especialista de matemática” sem mexer no “especialista de código”. A ideia está meio certa pelo motivo errado.

Um MoE tem vários blocos de pesos em cada camada, e um roteador escolhe poucos deles pra cada token. Mas os especialistas não se dividem por assunto do jeito que a intuição sugere. O paper do Mixtral procurou exatamente isso e não encontrou padrão óbvio de especialista por tema, com uma diferença pequena só num conjunto sintético de matemática; o roteador se organiza mais por sintaxe, por tipo de token. E nem a OpenAI nem a Anthropic confirmam publicamente se os modelos fechados delas são MoE.

O que fica de pé é o essencial: capacidade é treinada por objetivo. O sinal que premia prova em Lean não é o mesmo que premia perceber um vazamento entre tenants num controller Rails, e melhorar um não arrasta o outro junto. Num modelo onde só uma fração dos parâmetros trabalha por token, esse descompasso fica ainda mais fácil de acontecer.

NVFP4, FP8, Q4: o que é essa sopa de letrinhas

Todo modelo é uma pilha de bilhões de números, os pesos. Quantização é guardar cada número com menos bits. Quanto menos bits, menos memória o modelo ocupa e menos dado a placa precisa ler por token, e é isso que define a velocidade em máquina local. O preço, quando existe, é qualidade.

Pra um modelo de 27 bilhões de parâmetros, a conta fica assim:

FormatoBits por peso27B ocupaOnde roda
BF1616~54 GBnativo de Ampere (RTX 30) em diante
FP88~27 GBnativo em Ada (RTX 40), Hopper (H200) e Blackwell
Q8_0 (GGUF)~8,5~29 GBllama.cpp e Ollama, qualquer placa
Q5_K_M (GGUF)~5,5~19 GBllama.cpp e Ollama
Q4_K_M (GGUF)~4,5 a 4,8~16 GBllama.cpp e Ollama
NVFP44,5~15 GBnativo só em Blackwell; vLLM, e llama.cpp desde 2026
IQ3_S (GGUF)~3,4~12 GBllama.cpp e derivados

O que é cada um

  • BF16 é a precisão em que a maioria dos modelos é publicada. É a referência: nada se perde.
  • FP8 é ponto flutuante de 8 bits, com suporte em hardware nas gerações Ada, Hopper e Blackwell. Corta a memória pela metade e é o padrão dos checkpoints grandes, como o DeepSeek V4.1 Flash e o GLM 5.3 full.
  • Q8_0, Q5_K_M, Q4_K_M e IQ3_S são formatos GGUF do llama.cpp. Os pesos são guardados em blocos de inteiros com uma escala por bloco; os “K” misturam precisões por tensor, e os “IQ” usam uma matriz de importância pra decidir onde gastar bits. Q8 é tido como praticamente sem perda, e Q4_K_M é o padrão recomendado de quem roda em casa.
  • NVFP4 é o formato de 4 bits da NVIDIA. Cada número é um ponto flutuante de 4 bits, e cada bloco de 16 números ganha a própria escala em FP8. A NVIDIA diz que isso ocupa 3,5 vezes menos que FP16 e perde 1% ou menos contra FP8 no DeepSeek-R1.

O hype do NVFP4 vem daí: os tensor cores da Blackwell calculam nele direto, e foi ele que fez caber numa B300 só o GLM 5.3 Flash, de 198 GB, e o Qwen3.5 397B, de 251 GB. A H200, da geração anterior, não tem FP4 nativo. E o ecossistema caseiro ainda está chegando: o llama.cpp ganhou suporte a NVFP4 só em 2026, e a cobertura por arquitetura ainda é parcial.

O que os nossos testes mostram

Quatro modelos rodaram em mais de uma precisão:

ModeloVersão AVersão B
Qwen 3.8 27BBF16, B300: 80,5Q8_0, Strix Halo: 80,0 ¹
Qwen3.8 Flash-NextNVFP4, B300: 92,5IQ3_S, RTX 5090 com Strata: 91,0
Ornith 1.5 35BBF16, B300: 81,0Q8_0, RTX 5090 com Strata: 64,5
GLM 4.7 FlashBF16, B300: 33,5Q5_K_M, RTX 5090: 24,0

¹ Rodada mista: sprints 1 e 2 em Q5_K_M na 5090, o resto em Q8_0 na Strix, com o raciocínio desligado.

E seis rodaram na API de nuvem e também servidos por mim, com os pesos oficiais:

ModeloNuvemServido por mim
GLM 5.3 Flash84,2592,5 (NVFP4, B300)
DeepSeek V4.1 Flash92,592,5 (FP8, 4x B300)
GLM 5.3 full94,076,0 (FP8, 4x B300)
MiMo V2.6 Pro92,067,0 (FP8, 4x B300)
DeepSeek V4 Flash 073185,044,5 (FP4/FP8 oficial, B300)
Nex N2.5 Pro94,027,0 (FP8, 4x B300)

Cada linha é uma rodada só, e o ruído chega a quase 10 pontos. Com essa ressalva, a leitura que eu faço:

  • Q8 ficou empatado com BF16. O Qwen 27B fez 80,5 e 80,0, num ponto só e com outras coisas mudando junto.
  • Descer de 4 pra 3 bits saiu quase de graça no Flash-Next, a 1,5 ponto, mesmo trocando de motor e de placa.
  • A queda da Ornith dificilmente é dos bits. Q8 é quase sem perda, e mesmo assim ela perdeu 16,5 trocando também de motor e de placa.
  • Servir o mesmo checkpoint pode dar qualquer coisa. O GLM 5.3 Flash subiu 8 pontos na minha mão, o DeepSeek V4.1 empatou, e o Nex caiu quase 70. Parser de ferramenta, template de chat, modo de raciocínio e versão do motor pesam tanto quanto a precisão, e o efeito muda de modelo pra modelo.

Nos meus testes, os bits pesaram menos do que o hype sugere, e o conjunto todo de como o modelo é servido pesou mais. Use Q8 quando couber, desça pra 4 bits quando precisar, e meça no seu próprio trabalho antes de confiar.

Os melhores comerciais

Aqui só entra modelo fechado, só Tier A, e só o que eu pagaria por API.

Por nota

ModeloNotaCusto da rodadaMinutos
GPT-6 Astra100,0US$ 30,55100
Claude Opus 5.5100,0US$ 16,63 ¹64
Claude Opus 5100,0~US$ 71 ¹145
Claude Fable 5100,0~US$ 50 ¹~85
GPT 5.6 terra100,0US$ 9,5280
GPT 5.6 sol100,0US$ 20,37317
GPT 5.5100,0US$ 34,69117
Grok 4.698,5US$ 13,0067
GPT 6 luna95,5~US$ 0,84122
Claude Fable 5.195,5~US$ 51 ¹133

¹ Custo nocional da assinatura, a preço de tabela da API.

No topo absoluto, o Claude Opus 5.5 e o GPT 5.6 terra são as escolhas óbvias: nota máxima, rodada em pouco mais de uma hora, e preço de rodada de um dígito ou pouco mais. O Opus 5 e o GPT 5.5 tiram a mesma nota custando de duas a sete vezes mais.

Por custo-benefício

ModeloNotaCusto da rodada
GPT 6 luna95,5~US$ 0,84
Qwen3.8 Flash86,5US$ 1,17
GPT 6 sol91,0~US$ 8,35
GPT 5.6 terra100,0US$ 9,52
GPT 5.6 luna95,0US$ 10,04
Grok 4.698,5US$ 13,00
Claude Opus 5.5100,0US$ 16,63 ¹

¹ Custo nocional da assinatura, a preço de tabela da API.

O GPT 6 luna é o absurdo da tabela: Tier A alto por menos de um dólar a rodada, uma fração do preço de qualquer outro fechado no mesmo patamar. Se a nota máxima não for obrigatória, é por onde eu começaria.

Na nota máxima, o GPT 5.6 terra custa pouco mais da metade do Opus 5.5. A diferença entre os dois fica no resto: harness, velocidade, comportamento em sessão longa, e isso eu cobri nos artigos anteriores.

Os melhores abertos pra empresa

Aqui entra o que roda em GPU de datacenter, na B300.

ModeloOndeNotatok/sMemória
DeepSeek V4.1 Flash4x B30092,5175510 GB
GLM 5.3 Flash1x B30092,5142198 GB
Qwen3.8 Flash-Next1x B30092,5195100 GB
Swift 1.5 27B1x B30088,020356 GB
ThinkingCap 3.8 27B1x B30083,018956 GB

O DeepSeek V4.1 Flash é o campeão pra time grande. Num pod de 4x B300 a US$ 36 por hora, ele atende 32 sessões confortáveis ao mesmo tempo, com o primeiro token em menos de 2 segundos pra quase todas. Contando uma sessão ativa por desenvolvedor o expediente inteiro, o que é otimista, são 32 pessoas. Ligando o pod só no expediente, 8 horas por dia, 22 dias por mês, dá uns US$ 6.300 por mês, ou uns US$ 200 por desenvolvedor.

As alternativas, pela mesma conta:

  • 4x H200 na Runpod atende só 8 sessões confortáveis e sai por uns US$ 316 por desenvolvedor por mês, mesmo com o pod mais barato;
  • a mesma configuração na AWS custa quase o dobro, e a H200 na Azure custa quase três vezes o preço da Runpod;
  • comprar uma DGX Station GB300 de uns US$ 130 mil se paga em uns 20 meses contra o aluguel no expediente, ou em uns 5 meses contra o pod ligado direto.

Pra time menor, a B300 única com o Qwen3.8 Flash-Next ou o GLM 5.3 Flash é o ponto doce: mesma nota do DeepSeek, numa GPU só, a uns US$ 9 por hora. Eu não medi concorrência nela. Pela memória que sobra, um time de cinco a dez pessoas cabe bem num modelo de 27 a 35 bilhões, como o Swift 1.5; no GLM 5.3 Flash, de 198 GB, fica apertado.

A infra própria começa a fazer sentido na casa de 30 pessoas usando ao mesmo tempo, ou quando o código não pode sair da rede. Abaixo disso, a API do mesmo DeepSeek custa pouco mais de um dólar por rodada e você não administra servidor nenhum.

Os melhores abertos pra consumidor

Aqui entra o que roda num PC: RTX 5090 de 32 GB ou Strix Halo de 128 GB unificados.

ModeloMáquinaNotatok/s
Qwen3.8 Flash-Next (IQ3_S, Strata)RTX 509091,0159
Qwen 3.8 27B (Q8_0)Strix Halo80,08
Ornith 1.5 35B (Q8_0, Strata)RTX 509064,5~80
GLM-4.7-Flash (Q5_K_M)RTX 509024,0—

Só tem um vencedor: o Qwen3.8 Flash-Next na RTX 5090 com o Strata. É um MoE de 125 bilhões com 6 bilhões ativos por token, e o Strata deixa os especialistas mais usados na placa e o resto na RAM. Ficou a 1,5 ponto da versão de datacenter, em velocidade interativa. Eu detalhei ele, com instalação, serviço de carga automática e configuração do OpenCode, em Melhor LLM Open Source: Strata com Qwen 3.8 Flash Next.

O Strix Halo cabe modelo grande, mas a banda de memória dele é sete vezes menor que a da 5090, e um modelo denso de 27B anda a menos de 10 tokens por segundo em Q8, uns 13 em Q4. Serve pra tarefa de fundo, que pode esperar.

E o Swift 1.5 e o ThinkingCap 3.8, os fine-tunes de 27B que foram bem na B300? Eu não rodei os dois na 5090, e nem precisei. Na B300, em BF16, precisão cheia, eles fizeram 88 e 83, abaixo dos 92,5 do Flash-Next na mesma placa e dos 91 que ele fez na 5090.

Numa 5090 eles caberiam em Q4 ou Q5, mas quantizado o melhor cenário é repetir a nota da B300. Rodar em casa custou 1,5 ponto pro Flash-Next e 16,5 pra Ornith-35B. O Qwen 3.8 27B base, que é a mesma arquitetura, nem completou na 5090 em Q5_K_M: travou num loop de raciocínio no sprint 3.

Se os dois já ficaram atrás do Flash-Next com precisão cheia, numa 5090 eles não vão ficar melhores. Não vi motivo pra testar: pra PC, o Flash-Next é claramente a escolha.

E placa pior que a 5090?

É a pergunta que sempre aparece: e quem tem uma placa de 8, 12 ou 16 GB? Pelos meus dados, o caminho do modelo pequeno que cabe inteiro na placa ainda não entrega nada que valha o trabalho pra programar.

Numa placa dessas, em Q4, cabe modelo denso de até uns 20 bilhões; um MoE de 30 bilhões com poucos ativos só roda com parte na RAM. E essa faixa foi mal no v4:

  • o GLM-4.7-Flash, um MoE de 30B com 3B ativos, fez 24 na 5090 e 33,5 na B300 com precisão cheia, Tier D nas duas;
  • a Ornith-35B, outro MoE com 3B ativos, fez 81 na B300 e caiu pra 64,5 na 5090;
  • o gpt-oss-20b nem completou o protocolo;
  • o melhor modelo médio foi o Qwen 3.8 27B, com 80, mas ele já precisa de uns 16 GB só em Q4, travou na 5090 e só terminou a 8 tokens por segundo na Strix.

A exceção é justamente o Flash-Next. O Strata foi feito pra rodar ele em placa de 12 GB, segurando a maioria dos especialistas na RAM: o README do projeto publica 53 tokens por segundo em IQ3_S numa RTX 5070 de 12 GB com 64 GB de RAM, e o mínimo declarado é 32 GB somando RAM e VRAM. Com os mesmos pesos e o mesmo motor, a nota em tese não deveria mudar, só a velocidade, que cai pra um terço da 5090. Eu não medi isso; é número do autor.

O porém é a RAM. Com a DRAM quase dobrando de preço num único trimestre deste ano, 64 GB deixaram de ser o upgrade barato que eram.

Abaixo da 5090, eu não perderia tempo com modelo pequeno pra programar. Se for tentar alguma coisa, que seja o Flash-Next com Strata e RAM sobrando, e meça no seu trabalho antes de confiar.

E tem o problema que eu contei no artigo anterior: achar uma 5090 hoje é difícil, e quando acha, o preço fica entre duas vezes e meia e quase cinco vezes o sugerido.

Quanto custa sair dos 150 tokens por segundo?

Depois de algumas horas usando o Qwen local, resumi o problema no X. A média de 159 tokens por segundo da minha rodada parece rápida numa tabela. Numa sessão de programação que passa o dia inteiro gerando código, rodando teste, lendo log e corrigindo o que fez, a espera acumula.

Eu já fico impaciente. Abaixo disso, nem considero pra trabalho diário.

A própria 5090 tem limites além da velocidade. A NVIDIA especifica 32 GB de GDDR7 e 1.792 GB/s de banda e lançou a placa por US$ 1.999. A minha ainda move os monitores e o Hyprland, então deixo 4 GB reservados pro desktop. O resto precisa segurar pesos densos, cache dos especialistas quentes, buffers do motor e a parte residente do cache de KV, que guarda o contexto da conversa.

Minha configuração do Strata oferece 256 mil tokens de contexto com KV em int8 e mantém 32 mil residentes na VRAM; o restante pode ir pra RAM. Isso evita estourar a placa, mas RAM continua muito mais lenta. Enquanto modelos de fronteira do Claude já oferecem janela de 1 milhão de tokens, localmente eu preciso vigiar o que entra na sessão. Carregar uma coleção inteira de skills, plugins e servidores MCP só porque existe espaço no arquivo de configuração é pedir pra desperdiçar contexto e piorar a latência.

Em hardware local, contexto também custa memória e tempo. Eu carrego só o que aquela sessão vai usar.

E se eu colocar mais hardware? A comparação fica assim:

OpçãoMemóriaBandaVelocidade observadaPreço de referência
RTX 509032 GB GDDR71.792 GB/s159,2 tok/s, medido por mimUS$ 1.999 sugerido
2x RTX 509064 GB físicos, divididos entre as placas2x 1.792 GB/s, sem virar um pool planosem teste equivalente meuUS$ 3.998 sugeridos
Mac Studio M5 Ultra96 ou 256 GB unificados; 512 GB prometidos pro fim de outubro1.200 GB/sainda não medido no Strataa partir de US$ 5.499
DGX Spark128 GB unificados273 GB/scerca de 22 a 75 tok/s por sessão em receitas públicasUS$ 6.950 na loja da NVIDIA
RTX PRO 6000 Blackwell96 GB GDDR7 ECC1.792 GB/s187,4 tok/s no chat curto; 174,3 na sessão de agenteUS$ 16 mil; R$ 123 mil no Pix no Brasil

Eu escrevi no post que o Strata só subiria duas instâncias numa máquina com duas 5090. Essa parte ficou desatualizada: o Strata atual divide as camadas entre duas ou mais GPUs. É pipeline parallelism, sem transformar duas placas num bloco simples de 64 GB e sem tensor parallelism maduro.

O ganho por sessão fica longe de 2x. Um teste comunitário com duas 5090 mediu cerca de 22% de ganho na média geométrica de decode e 40% no braço de código. Ajuda na capacidade e dá pra usar as placas como duas instâncias independentes pra dobrar concorrência. Pra mim sozinho, comprar outra 5090 pra cortar uma fração da espera não fecha a conta.

O Mac Studio M5 Ultra começa em US$ 5.499, tem 1,2 TB/s de banda e vai de 96 a 256 GB; a opção de 512 GB foi prometida pro fim de outubro. Ainda não existe benchmark publicado do Strata no Ultra. No M5 Max de 128 GB, o mesmo Flash-Next ficou entre 97 e 119,5 tokens por segundo, dependendo da quantização e do prompt. Meu palpite original de menos de 100 no Ultra não está comprovado, e eu não compraria uma máquina dessas baseado em palpite.

A DGX Spark coloca 128 GB numa caixa compacta, com o GB10 de TDP 140 W e uma fonte de 240 W. A memória entrega só 273 GB/s, quase sete vezes menos que a 5090. A NVIDIA agora pede US$ 6.950.

Receitas reproduzíveis do Flash-Next variam de 22 a 75 tokens por segundo por sessão, dependendo de concorrência, stack, amostragem e modo de raciocínio. Cabe muita coisa. Pra minha tolerância, anda pouco.

Sobra a RTX PRO 6000 Blackwell. Ela tem 96 GB GDDR7 ECC, 1.792 GB/s e potência total de 600 watts. A banda é exatamente a mesma da 5090. Os 96 GB resolvem o aperto de VRAM, permitem mais cache e contexto, mas não compram três vezes a velocidade.

Um benchmark comunitário do Strata mediu 187,4 tokens por segundo no chat curto e 174,3 numa sessão de agente, com bastante variação entre rodadas. É melhor que meus 159,2, só que a NVIDIA lista a placa por US$ 16 mil. Em 22 de outubro, a WAZ mostrava a PNY por R$ 123.299,99 no Pix ou R$ 145.058,81 no preço regular. Já entramos em orçamento de workstation profissional ou servidor.

Hoje não existe, pra mim, uma opção doméstica com modelo bom, resposta realmente rápida e custo razoável. A 5090 funciona, mas 150 tokens por segundo já me cansam. Abaixo dela vira brinquedo; acima dela o preço explode antes da velocidade.

O que eu aprendi no v4

Sobre os modelos

  • Quase todo modelo pega o defeito barulhento sem aviso: CVE em gem, chave no código, CORS aberto, SQL injection óbvia. Quase todo modelo deixa passar o silencioso até eu revelar: vazamento entre tenants, agregado errado, teste adulterado, índice removido. O que separa o Tier A do resto é quanto do silencioso ele pega sozinho.
  • Tamanho não compra vigilância. O Kimi K2 Thinking, de 1 trilhão de parâmetros, fez 46. O GLM 5.3 full, de 700 bilhões, fez 76, contra 92,5 do Flash da mesma família.
  • Modelo trapaceia ou se engana com convicção. O Nemotron adulterou um teste de regressão pra passar, o Qwen3.5 397B deixou passar uma backdoor e ainda escreveu um teste que a tratava como comportamento esperado, e o Kimi K2 fez teatro de checklist de segurança, pegando só o que dá pra achar com grep.
  • O salto entre gerações foi de confiabilidade agêntica. O GPT-4o e o GPT-4.1 nem conseguem completar o protocolo sozinhos. Os modelos atuais do topo rodam as sete sprints sem ajuda nenhuma.

Sobre servir modelo aberto

  • O mesmo checkpoint muda de nota conforme quem serve. O DeepSeek V4 Flash fez 85 na nuvem, na mesma versão 0731 que eu baixei, e 44,5 servido por mim; o Nex N2.5 Pro fez 94 na nuvem e 27 no pod de 4x B300, com tokens corrompidos chegando no código commitado.
  • Nenhum modelo roda rápido do jeito que vem. O GLM 5.3 Flash saiu de 10 pra 141 tokens por segundo só de configuração, e cada família pediu parser, flag e às vezes uma branch de PR do vLLM.
  • Rodar em casa cobra preço diferente de cada modelo. Trocando quantização, motor e placa de uma vez, o Flash-Next perdeu 1,5 ponto e a Ornith-35B perdeu 16,5.
  • Quem limita a concorrência é a arquitetura do cache de KV e o tempo até o primeiro token. Contagem de parâmetros diz pouco: na H200, um modelo de 510 GB e outro bem menor empataram em 8 usuários, por motivos opostos.

Sobre medir

  • Uma rodada tem ruído de quase 10 pontos. Duas notas a 2 pontos de distância empatam.
  • O harness pesa. O Gemini 3.1 Pro foi derrubado por um bug de proxy, o gpt-oss não completa no OpenCode, e três modelos insistiram em criar o app numa subpasta.
  • Modelo que não faz commit perde trabalho. Correção que fica só no disco some no primeiro git checkout.

A minha hipótese: o hardware caro é parte do modelo de negócio

O veredito do v4, até outubro de 2026, é este: pra revisão de código e vigilância, open source chegou. O DeepSeek V4.1 Flash, o GLM 5.3 Flash e o Qwen3.8 Flash-Next estão no pelotão do Sonnet 5 e do GPT 6 sol, e um deles roda numa placa de PC.

Então por que não está todo mundo rodando em casa? Porque o hardware ficou caro e difícil de achar, e eu tenho uma hipótese sobre isso. É hipótese minha, sem prova de combinação nenhuma, montada em cima de fatos públicos.

Os fatos

O ciclo

A explicação mais simples pra memória cara é demanda: datacenter compra tudo e paga mais. Eu acredito nela. O que me incomoda é que nenhum participante grande tem incentivo pra quebrar o ciclo:

  1. O discurso diz que só o laboratório de fronteira sabe lidar com esses modelos “perigosos”, e que open source é uma aposta arriscada.
  2. Isso puxa a demanda pra nuvem, e a nuvem compra GPU e memória em volume recorde.
  3. Os fabricantes vendem com ágio pra quem paga mais e tiram prioridade do consumidor.
  4. O hardware bom fica inacessível fora do datacenter.
  5. Sem hardware em casa, o open source não é adotado, o que reforça o discurso do passo 1.

Se todo mundo começasse a hospedar o próprio modelo, as contas de IPO de trilhões de dólares deixariam de fechar. O v4 mostrou que o modelo aberto já está pronto pra boa parte do trabalho. O que falta é o hardware chegar na mão de quem trabalha.