Qwen 3.6 27B e 35B MTP versus Padrão em GPU de 16GB

MTP versus decodificação padrão na RTX 4080 — benchmarks reais

Conteúdo da página

Testei o desempenho da Decodificação Especulativa (Previsão de Múltiplos Tokens, MTP) nos modelos Qwen 3.6 27B e 35B em uma RTX 4080 com 16 GB de VRAM.

Para uma visão mais ampla das velocidades de tokens e dos trade-offs de VRAM em mais modelos no mesmo hardware, consulte Benchmarks de LLMs com 16 GB de VRAM usando llama.cpp.

Benchmarks do Qwen 3.6 MTP vs. Decodificação Padrão na RTX 4080

O Que é MTP (Previsão de Múltiplos Tokens)

A Previsão de Múltiplos Tokens é uma forma de decodificação especulativa integrada diretamente em certos checkpoints de modelos. Em vez de prever um token por passagem direta, o modelo carrega “cabeças MTP” extras que propõem vários tokens futuros em uma única etapa — e depois os verifica em paralelo. Se as suposições forem aceitas, a vazão efetiva aumenta sem alterar a qualidade da saída.

A família Qwen 3.6 oferece arquivos GGUF padrão e variantes habilitadas para MTP. No llama.cpp, o MTP é ativado através de:

--spec-type draft-mtp --spec-draft-n-max 3

--spec-draft-n-max é o parâmetro principal de ajuste. Ele define quantos tokens especulativos a cabeça MTP propõe em cada etapa. Valores mais altos oferecem um potencial aumento de velocidade, mas custam VRAM extra para os buffers de rascunho — uma restrição real em placas de 16 GB.

O Que e Como Testei

Testei como os dois modelos Qwen 3.6 se comportam com o MTP habilitado versus a decodificação padrão em uma GPU com 16 GB de VRAM (RTX 4080).

Para caber os pesos do modelo e o cache KV na VRAM, usei variantes altamente quantizadas:

  • Qwen3.6-27B-UD-IQ3_XXS e Qwen3.6-27B-UD-IQ3_XXS-MTP
  • Qwen3.6-35B-A3B-UD-IQ3_S e Qwen3.6-35B-A3B-UD-IQ3_S-MTP

Dois orçamentos de contexto são rastreados por execução:

  • Ctx Média — o tamanho do contexto no qual o llama.cpp ocupa ~14,8 GB de VRAM, deixando aos outros aplicativos (Xorg, GNOME Shell, Cursor) uma margem confortável de ~500 MB.
  • Ctx Máximo — o maior contexto que o llama.cpp pôde alocar, dado que os mesmos aplicativos de desktop já ocupam ~500 MB de VRAM.

Uma razão fundamental para manter o contexto médio em um alvo prático é que o Agente Hermes — que uso como assistente de IA principal conectado ao llama.cpp nesta máquina — requer pelo menos 64K de contexto por padrão e rejeitará modelos com uma janela menor na inicialização. Modelos abaixo desse limite não conseguem manter memória de trabalho suficiente para fluxos de trabalho de chamada de ferramentas em múltiplas etapas. Para o llama.cpp, isso significa passar --ctx-size 65536 ou maior. Qualquer configuração de MTP que comprima o contexto utilizável médio significativamente abaixo de 64K é, portanto, inadequada para cargas de trabalho diárias do Hermes, razão pela qual os números de Ctx Média nas tabelas abaixo são os mais relevantes para a tomada de decisão.

Ambos os níveis de quantização do cache KV foram testados: q8 (maior qualidade, mais VRAM) e q5 (menor VRAM, contexto mais longo). Esteja ciente de que a mudança do cache KV q8 para q5 pode causar uma queda perceptível na qualidade — em meus testes, a degradação foi significativa o suficiente para tornar o q5 inadequado para minhas cargas de trabalho. As velocidades e números de contexto para q5 estão incluídos para completude, mas você deve testar a qualidade da resposta em suas próprias tarefas antes de adotá-lo.

Qwen 3.6 27B MTP vs Padrão

Cache KV q8

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Padrão (IQ3_XXS)
Vel. Prompt 148 t/s 151 t/s 148 t/s 147 t/s 200 t/s
Vel. Gen. 65 t/s 75 t/s 73 t/s 75 t/s 45 t/s
Ctx Média 40 K 40 K 40 K 30 K 80 K
Ctx Máximo 60 K 60 K 60 K 50 K 100 K

Com o cache KV q8, o MTP em --spec-draft-n-max 2 oferece ~67% mais velocidade de geração (75 vs 45 t/s) ao custo de reduzir pela metade a janela de contexto média de 80K para 40K. A velocidade de ingestão do prompt cai de 200 para ~150 t/s porque o MTP requer transferências do dispositivo para o host durante a fase de pré-preenchimento.

Cache KV q5

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Padrão (IQ3_XXS)
Vel. Prompt 145 t/s 144 t/s 141 t/s 139 t/s 191 t/s
Vel. Gen. 57 t/s 62 t/s 67 t/s 66 t/s 41 t/s
Ctx Média 70 K 60 K 60 K 50 K 130 K
Ctx Máximo 100 K 100 K 90 K 80 K 160 K

Mudar para o cache KV q5 recupera contexto significativo: --spec-draft-n-max 1 oferece 70K de contexto médio a 57 t/s — um aumento de velocidade de geração de 39% em relação à decodificação padrão, mantendo a janela de contexto em um tamanho útil. Em --spec-draft-n-max 3, o contexto cai para 60K, mas a geração atinge 67 t/s (+63%).

Conclusão para Qwen 3.6 27B

O MTP é genuinamente útil para o modelo denso de 27B. O ponto ideal em 16 GB de VRAM é:

  • KV q8 + --spec-draft-n-max 2 — melhor velocidade bruta (75 t/s), contexto reduzido para 40–60K
  • KV q5 + --spec-draft-n-max 1 — melhor equilíbrio entre velocidade e contexto (57 t/s, 70K de contexto médio)

Qwen 3.6 35B MTP vs Padrão

O modelo de 35B é uma arquitetura Mixture-of-Experts (MoE) (35B-A3B significa 35B de parâmetros totais, ~3B ativos por token). Modelos MoE geralmente se beneficiam mais do MTP porque o roteamento esparsos mantém a cabeça MTP computacionalmente barata em relação a uma passagem direta completa.

Cache KV q8

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Padrão (IQ3_S)
Vel. Prompt 277 t/s 277 t/s 265 t/s 275 t/s 368 t/s
Vel. Gen. 186 t/s 189 t/s 180 t/s 171 t/s 146 t/s
Ctx Média 15 K 10 K 80 K
Ctx Máximo 80 K 70 K 60 K 50 K 150 K

A arquitetura MoE oferece velocidade bruta de geração impressionante com MTP (+27% no max 1, +29% no max 2 vs padrão 146 t/s). Mas o problema prático é o contexto médio. Com o cache KV q8, mesmo --spec-draft-n-max 1 oferece apenas 15K de contexto médio — mal o suficiente para tarefas modestas. Profundidades de rascunho mais altas não têm contexto médio viável em uma placa de 16 GB.

Esta é a questão central do custo de VRAM para o MTP em hardware de consumo: os buffers de rascunho extras consomem diretamente o orçamento restante de VRAM, e o modelo 35B-A3B com cache KV q8 deixa muito pouca margem.

Cache KV q5

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Padrão (IQ3_S)
Vel. Prompt 264 t/s 266 t/s 270 t/s 264 t/s 343 t/s
Vel. Gen. 151 t/s 147 t/s 137 t/s 131 t/s 122 t/s
Ctx Média 10 K 120 K
Ctx Máximo 120 K 110 K 110 K 80 K 200 K

O cache KV q5 melhora apenas marginalmente o cenário do contexto médio. --spec-draft-n-max 1 oferece 10K de contexto médio a 151 t/s. A decodificação padrão em q5 oferece 122 t/s com 120K de contexto médio.

Conclusão para Qwen 3.6 35B

Em uma GPU de 16 GB, o modelo MoE de 35B com MTP encontra uma barreira rígida: o contexto utilizável médio colapsa para 10–15K tokens, tornando-o impraticável para cargas de trabalho reais. A decodificação padrão a 122–146 t/s com contexto de 80–120K é significativamente mais útil.

Se você tiver 24 GB+ de VRAM, a combinação 35B + MTP torna-se muito mais atraente — o problema da janela de contexto desaparece e você mantém o benefício de velocidade.

Escolhendo o Valor Correto para --spec-draft-n-max

A questão de quantos tokens especulativos propor por etapa (--spec-draft-n-max) não tem uma única resposta correta — depende tanto da arquitetura do modelo quanto da VRAM disponível:

  • Para 27B denso em 16 GB: --spec-draft-n-max 2 com KV q8 é o mais rápido, --spec-draft-n-max 1 com KV q5 é o mais amigável ao contexto.
  • Para 35B MoE em 16 GB: --spec-draft-n-max 1 é a única opção que mantém qualquer contexto utilizável, e mesmo assim, apenas marginalmente.
  • Valores mais altos (3, 4) aumentam a pressão na VRAM sem ganhos de velocidade proporcionais — no max 4, você está gastando aproximadamente a mesma VRAM extra que no max 2, mas a velocidade de geração não acompanha.

Como Habilitar MTP no llama.cpp

Certifique-se de usar um GGUF habilitado para MTP (o nome do arquivo contém MTP). Se você é novo nas flags do llama.cpp, o Guia Rápido do llama.cpp com CLI e Servidor cobre todos os fundamentos. Em seguida, inicie o llama-server ou llama-cli com:

llama-server \
  --model Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf \
  --ctx-size 40000 \
  -ngl 99 --flash-attn on \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  --spec-type draft-mtp \
  --spec-draft-n-max 2

Para cache KV q5, substitua q8_0 por q5_1 ou q5_0 e ajuste --ctx-size para cima:

llama-server \
  --model Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf \
  --ctx-size 80000 \
  -ngl 99 --flash-attn on \
  --cache-type-k q5_1 --cache-type-v q5_1 \
  --spec-type draft-mtp \
  --spec-draft-n-max 1

O MTP é ativado automaticamente assim que o llama.cpp detecta as cabeças MTP no arquivo GGUF e --spec-type draft-mtp é definido. Portanto, o Qwen3.6-27B-UD-IQ3_XXS.gguf padrão não funcionará no modo MTP; você precisará do Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf. Mas o Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf pode funcionar tanto no modo de decodificação especulativa quanto no autorregressivo.

Conclusão

Em uma GPU de 16 GB (RTX 4080), com essas quantizações, o MTP do llama.cpp é uma vitória clara para o Qwen 3.6 27B e um saldo negativo para o Qwen 3.6 35B no uso prático:

Qwen 3.6 27B (IQ3_XXS) — O MTP vale a pena:

  • KV q8 + MTP max 2 → ~67% mais velocidade de geração, contexto 40–60K (vs 80–100K sem MTP)
  • KV q5 + MTP max 1 → ~39% mais velocidade de geração, contexto 70–100K (vs 130–160K sem MTP)
  • Bom equilíbrio entre velocidade e eficiência de VRAM em --spec-draft-n-max 2

Qwen 3.6 35B (IQ3_S) — O MTP não é prático em 16 GB:

  • A velocidade de geração é 27–29% maior, mas o contexto médio colapsa para 10–15K em q8, 10K em q5
  • A decodificação padrão a 122–146 t/s com contexto de 80–120K é mais útil para tarefas reais
  • A situação melhora substancialmente com 24 GB+ de VRAM

No papel, o cache KV q5 é a resposta óbvia para maximizar a janela de contexto mantendo os ganhos de velocidade do MTP — mas na prática, a queda de qualidade ao mudar de q8 para q5 pode ser significativa. Teste q5 em suas próprias tarefas antes de adotá-lo; para minhas cargas de trabalho, a degradação foi inaceitável, e q8 com um orçamento de contexto mais apertado permanece como o melhor trade-off.

Para uma visão mais ampla das opções de hospedagem de LLMs e trade-offs de infraestrutura, consulte o pilar Hospedagem de LLMs em 2026 e Desempenho de LLMs em 2026. Se você está ajustando as configurações do amostrador do Qwen 3.6 juntamente com o MTP, a Referência de Parâmetros de Inferência para LLMs Agênicos para Qwen 3.6 e Gemma 4 é um complemento útil.

Assinar

Receba novos artigos sobre sistemas, infraestrutura e engenharia de IA.