Benchmark de Cache KV do Qwen 3.6-35B-A3B: f16 vs q8_0 vs Turbo3 vs Turbo4 no M5 Max com Contexto de até 1M

Um usuário do Reddit realizou uma varredura de profundidade no Qwen 3.6-35B-A3B Q8 usando o fork TurboQuant Metal do TheTom do llama.cpp (GitHub: TheTom/llama-cpp-turboquant, branch feature/turboquant-kv-cache) em um MacBook Pro M5 Max com 128 GB de memória unificada. Eles testaram quatro tipos de cache KV: f16, q8_0, turbo3 (3 bits) e turbo4 (4 bits), K e V simétricos, com flash-attn ativado e mlock ativado, de 0 a 1M tokens de contexto.
Hardware e Build
M5 Max, 128 GB de memória unificada. Compilado com cmake -B build -DGGML_METAL=ON. Usou llama-bench, 3 repetições por célula, flash-attn ativado, mlock ativado. 8 horas de relógio durante a noite.
Throughput de Geração (tok/s)
| Profundidade | f16 | q8_0 | turbo3 | turbo4 |
|---|---|---|---|---|
| 0 | 89,4 | 87,4 | 79,5 | 79,7 |
| 8K | 84,2 | 79,2 | 72,2 | 71,2 |
| 32K | 72,6 | 67,8 | 61,5 | 61,8 |
| 128K | 44,4 | 40,7 | 36,0 | 37,7 |
| 256K | OOM | 26,6 | 22,9 | 25,5 |
| 512K | OOM | OOM | 13,3 | 16,0 |
| 1M | OOM | OOM | 6,5 | OOM |
Throughput de Processamento de Prompt (tok/s)
| Profundidade | f16 | q8_0 | turbo3 | turbo4 |
|---|---|---|---|---|
| 0 | 2962 | 2948 | 2904 | 2854 |
| 8K | 2098 | 1623 | 1653 | 1439 |
| 32K | 1063 | 802 | 784 | 678 |
| 128K | 321 | 245 | 253 | 206 |
| 256K | OOM | 124 | 128 | 101 |
| 512K | OOM | OOM | 66 | 56 |
| 1M | OOM | OOM | 30 | OOM |
Principais Conclusões
- Na profundidade 0, f16 lidera por pouco no prefill; turbo3 é ~10% mais lento no decode.
- Em 128K, prefill do turbo3 (253 tok/s) iguala q8_0 (245 tok/s) — cache menor reduz pressão de largura de banda.
- Em 256K, turbo3 vence prefill +27% sobre turbo4 (128 vs 101), mas turbo4 vence decode +11% (25,5 vs 22,9). Em 512K, diferença no decode aumenta para +20% (turbo4 16,0 vs turbo3 13,3).
- turbo3 é o único tipo de cache que cabe em 1M de contexto (6,5 tok/s decode). Memória em 1M: ~89 GB (37 GB pesos, ~52 GB cache KV).
Recomendações de Carga de Trabalho
- Agentes de codificação (contexto profundo, muitos tokens gerados): turbo4
- RAG / QA em lote (prefill pesado, respostas curtas): turbo3
- Contexto de 1M: apenas turbo3
- Interativo curto (<32K): f16 se couber, senão q8_0
Ressalvas
Este é um único M5 Max. Os pontos de cruzamento provavelmente mudam com largura de banda de memória e núcleos de GPU. Apenas K/V simétrico testado. Combinações assimétricas (ex.: -ctk q8_0 -ctv turbo4) não foram testadas. O fork do TheTom é de nível de pesquisa, não está no upstream do llama.cpp main.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

RTX 4090 vs H100 para Ajuste Fino do Llama-3-8B: Uma Comparação de Custo-Desempenho
Um desenvolvedor testou o fine-tuning do Llama-3-8B tanto em uma RTX 4090 quanto em instâncias alugadas de H100. A configuração da 4090 custou US$ 2.000 de entrada e levou 24 horas, enquanto o aluguel do H100 custou cerca de US$ 80 e foi concluído em 4 horas.

O duplo padrão na criação assistida por IA: programação vs. escrita
Uma discussão no Reddit destaca a recepção contrastante entre a programação assistida por IA (vibe coding) e a escrita assistida por IA, observando fluxos de trabalho idênticos, mas percepções culturais diferentes.

Custos Horários Reais para Equipes de Agentes de IA de Longa Duração
Um desenvolvedor compartilha os custos horários reais para equipes de agentes de IA executando sessões de 5+ horas com acesso completo a Linux, navegador e ferramentas. Agentes de programação custam US$10-US$60/h, agentes de marketing US$10-US$30/h e agentes de back-office US$5-US$15/h.

Mercúrio 2: Modelo Baseado em Difusão para Codificação em IA em Tempo Real
O Mercury 2 utiliza geração baseada em difusão em vez de decodificação sequencial token por token, gera tokens em paralelo e os refina ao longo de etapas, e afirma atingir 1.009 tokens/seg em GPUs NVIDIA Blackwell, com preços de US$ 0,25 por 1 milhão de tokens de entrada e US$ 0,75 por 1 milhão de tokens de saída.