Instalar KTransformers: LLM de 70B+ em GPU para o consumidor final
O framework Instalação do KTransformers permite executar localmente modelos MoE (Mistura de Especialistas) com mais de 600 bilhões de parâmetros em uma única placa RTX 4090 ou 3090, transferindo os especialistas inativos para a RAM da CPU. Esta Instalação do KTransformers baseia-se no offloading seletivo dos especialistas MoE e utiliza as instruções AVX-512 / AMX do CPU para aliviar a carga da GPU. Este guia abrange os pré-requisitos de hardware, o procedimento de instalação passo a passo, os modelos compatíveis (especialmente DeepSeek V3 em GPU de consumo), o desempenho medido e as armadilhas comuns na implantação de um LLM 671B local.
Por que KTransformers muda a dinâmica para os LLM MoE
KTransformers é um framework Python desenvolvido pelo KVCache.AI Lab da Universidade Tsinghua, publicado sob a licença Apache 2.0 no GitHub. Sua particularidade: ele carrega apenas os especialistas MoE ativos na VRAM durante a inferência, mantendo os outros na RAM do sistema. Para um modelo como DeepSeek V3 671B que ativa apenas ~37B de parâmetros por token em seus 671B totais, a economia de VRAM é massiva.
Na prática, enquanto uma inferência convencional (vLLM, transformers) exigiria ~400 GB de VRAM em Q4 para DeepSeek V3, KTransformers permite rodar esse mesmo modelo com:
- GPU : 24 GB de VRAM (RTX 4090 ou 3090)
- RAM CPU : 380 a 512 GB DDR5
- CPU : Intel Xeon com AMX ou AMD EPYC Genoa (estimado como ideal)
Essa abordagem concorre diretamente llama.cpp e seu mecanismo --n-gpu-layers, mas o KTransformers vai além nas arquiteturas MoE, roteando cada especialista para o dispositivo correto em vez de transferir camadas inteiras para outro dispositivo.
Para dar uma ideia das ordens de grandeza, aqui estão alguns modelos MoE que se tornam acessíveis com essa abordagem:
- DeepSeek V3 671B : VRAM Q4 ~400 GB → executável em 24 GB de GPU + 384 GB de RAM
- DeepSeek R1 671B : perfil idêntico, raciocínio a mais
- Kimi K2.5 : 1000B de parâmetros, ~32B ativos
- Qwen 3 235B-A22B : 235B com 22B ativos
Pré-requisitos de hardware e software
Antes de iniciar a Instalação do KTransformers, valide sua configuração. O framework foi desenvolvido especificamente para arquiteturas MoE e exige um equilíbrio específico entre RAM e VRAM.
Hardware mínimo para DeepSeek V3 Q4_K_M :
- GPU NVIDIA : RTX 3090 / 4090 / 5090 (24 GB) ou A6000 (48 GB). Compute capability ≥ 8.0
- RAM DDR5 : no mínimo 384 GB, com 512 GB recomendados para contextos longos
- CPU : Intel Xeon Sapphire Rapids (AMX), Xeon Emerald Rapids, ou AMD EPYC 9004 (estimado). CPUs de desktop do tipo Core i9-14900K funcionam, mas sem AMX
- Armazenamento : 450 GB livres no NVMe Gen4 para os pesos GGUF
- OS : Ubuntu 22.04 LTS ou Debian 12 (suporte a Windows WSL2, mas 20-30% mais lento, a confirmar)
stack de software :
- Python 3.11
- CUDA 12.4 ou 12.6
- PyTorch 2.4+ compilado com CUDA
- gcc-11 mínimo (gcc-13 para AMX)
- CMake 3.25+
Para comparar essa abordagem com a execução tradicional inteiramente em GPU, consulte nosso guia vLLM que detalha o tensor parallelism em clusters H100.
Procedimento de instalação passo a passo
La Instalação do KTransformers segue uma sequência estrita. Qualquer desvio nas versões CUDA/PyTorch quebra a compilação dos kernels de CPU.
Etapa 1 — Ambiente Python isolado :
conda create -n ktrans python=3.11
conda activate ktrans
conda install -c conda-forge libstdcxx-ng
Etapa 2 — PyTorch com CUDA :
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip install packaging ninja cpufeature numpy
Etapa 3 — Clonagem e compilação :
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule update --init --recursive
bash install.sh
O script install.sh compila os kernels de CPU (llamafile, AMX se detectado) e instala o wheel local. A compilação leva de 10 a 20 minutos dependendo do processador.
Etapa 4 — Download dos pesos :
KTransformers utiliza arquivos GGUF (quantização de llama.cpp). Baixe, por exemplo, DeepSeek-V3-Q4_K_M.gguf depuis Hugging Face :
huggingface-cli download unsloth/DeepSeek-V3-GGUF \
--include "DeepSeek-V3-Q4_K_M*" \
--local-dir ./models/deepseek-v3-q4
Etapa 5 — Início da inferência :
python -m ktransformers.local_chat \
--model_path deepseek-ai/DeepSeek-V3 \
--gguf_path ./models/deepseek-v3-q4 \
--cpu_infer 48 \
--max_new_tokens 1024
O parâmetro --cpu_infer corresponde ao número de threads da CPU dedicadas aos especialistas transferidos para a CPU. Ajuste-o para (cores physiques - 2).
Desempenho medido em GPU de consumo
Os números abaixo são extraídos do benchmark oficial KTransformers v0.2 e de relatos da comunidade. Para um LLM 671B local quantizado Q4_K_M:
- RTX 4090 + Xeon Gold 6454S (AMX) : 13,6 tok/s de pré-preenchimento, 14 tok/s de decodificação (DeepSeek V3)
- RTX 4090 + i9-14900K (sem AMX) : ~8 tok/s na decodificação (estimativa)
- RTX 3090 + EPYC 9354 : taxa estimada de decodificação de 10 tok/s (a confirmar conforme a largura de banda da RAM)
Como comparação, DeepSeek R1 Distill Llama 70B rodando inteiramente nas GPUs em 2× RTX 4090 atinge 25-30 tok/s — mais rápido em termos absolutos, mas o modelo destilado fica atrás do modelo completo de 671B nos benchmarks de raciocínio.
Benchmarks de qualidade (relatórios oficiais DeepSeek) :
- DeepSeek V3 671B : MMLU 88,5, HumanEval 82,6, MATH-500 90,2
- DeepSeek R1 671B : AIME 2024 79,8, MATH-500 97,3, Codeforces percentil 96,3
- Qwen 3 235B-A22B : MMLU-Pro 73 estimado, HumanEval 88 a confirmar
Para entender melhor os compromissos entre qualidade e velocidade, veja DeepSeek R1 vs Llama 3.3 70B.
Modelos compatíveis e limitações
Nem todos os LLM MoE são suportados nativamente. O KTransformers mantém uma lista de otimizações YAML por arquitetura. No catálogo atual:
Suporte nativo confirmado :
- DeepSeek V3 671B (MoE, 37B ativos)
- DeepSeek R1 671B (MoE, 37B ativos)
- DeepSeek V3.2 (685B, MoE)
- Mixtral 8x22B Instruct (141B, 8 especialistas × 22B)
- Qwen 3 235B-A22B
Suporte em desenvolvimento ou experimental :
- Kimi K2.5 et Kimi K2.6 (arquitetura semelhante à do DeepSeek, deveriam funcionar)
- GLM-5.1 (744B MoE, a confirmar)
- ERNIE 4.5 300B-A47B
Não suportados (arquiteturas densas, sem vantagem em fazer offload):
- Llama 3.1 405B Instruct — prefira usar vLLM multi-GPU
- Qwen 2.5 72B Instruct — execução inteiramente em GPU em 2× RTX 4090
O contexto máximo prático continua limitado pela RAM disponível para o KV-cache: conte com ~30 GB adicionais para 32K tokens no DeepSeek V3. Acima de 64K tokens, o throughput cai fortemente.
FAQ
P: O KTransformers funciona em Macs com Apple Silicon?
Não. O framework depende de CUDA para os kernels de GPU e de AVX-512/AMX para os kernels de CPU x86. Em Macs com chips da série M, use como alternativa llama.cpp com Metal, ou MLX. O nosso guia de LLM no Mac detalha as alternativas. Um M3 Ultra com 512 GB pode rodar DeepSeek V3 Q4 nativamente sem offloading, a uma velocidade estimada de 18-20 tok/s.
P: Qual a diferença em relação ao llama.cpp em modo offload?
O llama.cpp faz offload de camadas inteiras (--n-gpu-layers N), o que funciona para modelos densos como Llama 3.3 70B Instruct. O KTransformers faz o offload dos especialistas individuais de um MoE, o que é muito mais eficiente para DeepSeek V3, onde apenas 8 especialistas entre 256 são ativados por token. Ganho típico: 3 a 5 vezes mais rápido que llama.cpp em DeepSeek V3 com hardware equivalente.
P: É possível fazer fine-tuning com KTransformers?
Não, o framework foca exclusivamente na inferência. Para fazer o ajuste fino de um MoE, veja DeepSpeed-MoE ou Unsloth (limitado a modelos densos < 70B). KTransformers não suporta LoRA dinâmica nem QLoRA. Se você busca adaptar um modelo de 70B, prefira Llama 3.1 Nemotron 70B com Unsloth em QLoRA 4-bit na RTX 4090.
P: Quanto custa uma configuração para DeepSeek V3 com GPU de consumo?
Orçamento estimado (2026): RTX 4090 de segunda mão 1500€, placa-mãe de servidor W790 ou EPYC SP5 800€, CPU Xeon w7-2495X 2200€, 384 GB DDR5 ECC 3000€, NVMe 2 TB 200€, fonte + gabinete 400€. Total: ~8000€ para executar um LLM 671B local. Em comparação com os ~30.000€ de um único H100 80 GB, que nem mesmo seria suficiente em precisão total.
P: O modo servidor compatível com OpenAI está disponível?
Sim, desde a v0.2. Execute ktransformers --server_port 10002 --model_path ... --gguf_path ... e aponte seu cliente OpenAI para http://localhost:10002/v1. Compatível com Open WebUI, Continue.dev e LiteLLM. O streaming SSE funciona, mas o function calling permanece parcial (a confirmar conforme a versão).
P: KTransformers versus SGLang para DeepSeek V3?
SGLang visa implantações de alto desempenho com várias GPUs (H100/H200) e atinge 60+ tok/s no DeepSeek V3 com 8× H100. KTransformers visa o uso de uma única GPU de consumo com offloading para a RAM, a 10-15 tok/s. Escolha simples: SGLang se você tem um cluster, KTransformers se você tem uma estação de trabalho.
Conclusão
La Instalação do KTransformers abre o acesso aos modelos MoE de fronteira (DeepSeek V3, R1, Kimi K2.5) em uma estação de trabalho de 8 000 € em vez de um cluster H100 de 200 000 €. A contrapartida: 10-15 tok/s em vez de 60+, mas com qualidade de resposta equivalente à do modelo em precisão total. Para identificar o modelo MoE adequado à sua VRAM e à sua RAM, acesse o configurador QualLLM, ou explore diretamente o catálogo dos 249 LLM indexados para comparar licenças e tamanhos.