Rodamos 7 LLMs locais numa RTX 5070 Ti — e um modelo de 35B surpreendeu
Quantização, VRAM, tokens por segundo e qualidade real em PT-BR e código. O guia prático de IA offline que cabe numa placa de 16 GB — com todos os números pra você reproduzir.
Toda a bateria rodou numa única RTX 5070 Ti de 16 GB. Foto ilustrativa.
Talvez você nem desconfie, mas aquela placa de vídeo que você usa pra jogar provavelmente consegue rodar uma inteligência artificial inteira — ali, na sua mesa, sem internet. Em 2026 isso deixou de ser coisa de nerd hardcore. Com uma GPU de 16 GB de VRAM (a memória da própria placa, onde o modelo precisa caber por completo), dá pra ter um assistente de programação competente e uma triagem de mensagens em português rodando 100% offline: sem mandar um único byte pra nuvem, sem mensalidade, e sem ninguém do outro lado olhando os seus dados.
A dúvida prática é simples de fazer e chata de responder: qual modelo escolher? Existem dezenas, com nomes confusos e tamanhos bem diferentes — e nem todos cabem numa placa "de gente normal". Então a gente fez o trabalho braçal por você: montou uma bancada, rodou sete modelos nos mesmos dois testes e anotou tudo — velocidade, consumo de memória, gasto de energia e, principalmente, qualidade das respostas. Os números aqui embaixo qualquer um consegue reproduzir em casa.
A bancada
- CPU
- Ryzen 7 7800X3D
- RAM
- 32 GB DDR5
- GPU
- RTX 5070 Ti · 16 GB VRAM
- SO
- Windows + WSL
- Runners
- llama.cpp (
llama-server) e Ollama
Aqui entra um truque que faz toda a diferença: a quantização. Pensa nela como "comprimir" o modelo. Em vez de guardar cada número do cérebro da IA com precisão altíssima, você arredonda pra menos casas — no caso, 4 bits por peso (o tal do "Q4"). Na prática a qualidade quase não muda, mas o modelo encolhe pela metade e finalmente cabe nos 16 GB. Se você passar disso, ele "transborda" pra memória comum do computador (a RAM), que é muito mais lenta — e aí a velocidade despenca de um jeito que você sente na hora. É por isso que, ao longo do texto, a gente vive de olho em quanto cada modelo ocupa de VRAM.
Setup inicial: o que instalar no Windows
Você precisa de três coisas — e nenhuma custa nada:
- Driver NVIDIA atualizado (app NVIDIA / GeForce). É ele que expõe a GPU pro CUDA e, de quebra, pro WSL — é por isso que o
nvidia-smifunciona até de dentro do Linux. - Ollama — o caminho fácil. Baixe em ollama.com/download; instala como serviço. Depois é só
ollama pull qwen3:14beollama run qwen3:14b. - llama.cpp — pros modelos que o Ollama ainda não carrega (como o Qwen MoE).
winget install llama.cppentrega ollama-server.execom API compatível com a da OpenAI.
Opcionais úteis: o WSL (wsl --install) pra rodar scripts de benchmark e curl do lado Linux, e um agente de código tipo OpenCode apontando pro endpoint local.
De onde vêm os pesos: o Ollama puxa do próprio catálogo (ollama pull); o llama.cpp baixa o GGUF direto do Hugging Face com a flag -hf. Detalhe pra quem usa WSL: suba o Ollama com OLLAMA_HOST=0.0.0.0, senão o Linux não enxerga a porta 11434 do Windows.
# 1) driver NVIDIA atualizado (app NVIDIA) # 2) Ollama — caminho fácil winget install Ollama.Ollama ollama pull qwen3:14b # 3) llama.cpp — modelos avançados (ex. Qwen MoE) winget install llama.cpp # opcional: WSL pros scripts de benchmark wsl --install
Metodologia
Dois prompts idênticos pra todos os modelos, temperatura 0.2:
- Triagem PT-BR: seis mensagens de uma clínica (preço, dor pós-operatória, resultado de exame…) que o modelo precisa classificar por risco, decidir se auto-responde e se escala pra humano. Mede tom, segurança e bom-senso em português.
- Review de código: uma função TypeScript de desconto com bugs plantados (percentual 0–100, total negativo, arredondamento). Mede se acha os edge cases e devolve código usável.
Resultados
Velocidade de geração e ocupação de VRAM, do mais capaz ao mais leve:
| Modelo | Via | VRAM | Geração | Potência | GPU util | Veredito |
|---|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | llama.cpp | ~14.5 GB | 78 / 42 tok/s | — | ~99% | 🏆 melhor geral |
| qwen3:14b | Ollama | ~13.4 GB | rápido | ~280 W | ~95% | fallback diário |
| mistral-small:24b | Ollama | ~15.2 GB | moderado | ~85 W | 20–30% | melhor PT-BR |
| gemma4:e4b | Ollama | ~13.5 GB | rápido | ~220 W | 85–88% | geral |
| gpt-oss:20b | Ollama | ~15.4 GB | — | ~85 W | 15–32% | reprovado |
O que os números contam: repare na combinação VRAM cheia + potência baixa + util baixa do mistral e do gpt-oss (~85 W, 20–30% de GPU). Não é eficiência — é gargalo: parte do modelo derramou pra CPU/RAM, então a placa fica ociosa esperando. Já o Qwen (99% util) e o qwen3:14b/gemma (220–280 W) estão de fato saturando a GPU — é assim que tem que ser.
A nova bancada agora captura VRAM de pico, util média, potência média e temperatura automaticamente via nvidia-smi a cada geração — a próxima rodada (com Gemma 4 26B, 12B e Qwen2.5-Coder) traz a tabela completa.
O campeão: Qwen3.6-35B-A3B
O grande achado da bancada. É um modelo "MoE" — sigla de mixture of experts, ou "mistura de especialistas". Funciona assim: ele guarda 35 bilhões de parâmetros de conhecimento, mas só liga uns 3,5 bilhões de cada vez, acionando o "especialista" certo pra cada pergunta. Na prática, é a sabedoria de um modelo grandão com a leveza de um pequeno — o melhor dos dois mundos. Tem um porém chato: o Ollama ainda não sabe carregar essa arquitetura (dá o erro unknown model architecture: qwen35moe), então ele roda pelo llama.cpp, que dá um trabalhinho extra de configurar. Valeu cada minuto: foi o melhor em código e raciocínio técnico, e ainda se saiu bem nas perguntas de segurança em português.
# Windows: winget install llama.cpp llama-server ^ -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-IQ3_S ^ -ngl 60 -c 16384 -fa on -np 1 ^ --alias qwen3.6-35b-a3b --reasoning off ^ --host 0.0.0.0 --port 8080 # UI em http://127.0.0.1:8080 · API OpenAI-compat em /v1
Nos testes crus a 16K de contexto: ~42 tok/s de geração e ~335 tok/s de leitura de prompt. Num agente de código (OpenCode), a primeira resposta demora mais (~40s) porque o prompt do agente injeta ~13K tokens de contexto de ferramentas — mas a partir daí flui.
Os Ollama, quando usar cada
qwen3:14b é o fallback ideal: rápido, encaixe de hardware perfeito, bom em código. Precisa de /no_think ou prompt estrito porque às vezes mostra o "raciocínio". mistral-small:24b tem o melhor tom de recepcionista em PT-BR — fica se o atendimento humano-soante importa. gemma4:e4b é um assistente geral estável, só meio corporativo na escrita.
O que falhou
gpt-oss:20b reprovou no teste de segurança clínica: classificou "dor forte + visão embaçada no pós-operatório" como risco moderado e marcou para auto-responder sem escalar. Num contexto médico, isso é inaceitável. Foi removido — decisão certa.
Veredito e o que vem
Pra 16 GB em 2026, o trio Qwen3.6-35B-A3B (llama.cpp) + qwen3:14b + mistral-small:24b cobre técnico, dia-a-dia e PT-BR. A próxima rodada entra com os lançamentos recentes — Gemma 4 26B A4B (o teto sensato pra 16 GB, ~85 tok/s), Gemma 4 12B e Qwen2.5-Coder 32B — que vamos medir com a mesma bancada e atualizar aqui.
Esta matéria será atualizada com os números da próxima rodada de modelos. Achou um erro ou tem um modelo pra sugerir? Conte pra gente.
Fontes
- unsloth/Qwen3.6-35B-A3B-GGUF — Hugging Face (model card + quantizações)
- llama.cpp — ggml-org/llama.cpp (llama-server)
- Ollama model library — qwen3, mistral-small, gemma4
- Best Local LLMs for 16GB VRAM — LocalLLM.in, 2026
- Best Local LLMs in 2026 — WhatLLM.org
- Benchmark interno Acta Verum — local-llm-lab, bancada própria (2026-06-18)
Comentários
-fa on. Valeu demais.