Installare KTransformers: LLM 70B+ su GPU consumer

Il framework Installazione KTransformers consente di eseguire localmente modelli MoE (Mixture of Experts) con più di 600 miliardi di parametri su una sola scheda RTX 4090 o 3090, spostando gli esperti inattivi nella RAM CPU. Questa Installazione KTransformers si basa su un offloading selettivo degli esperti MoE e sfrutta le istruzioni AVX-512 / AMX della CPU per alleggerire il carico della GPU. Questa guida copre i prerequisiti hardware, la procedura di installazione passo dopo passo, i modelli compatibili (in particolare DeepSeek V3 GPU consumer), le prestazioni misurate e le insidie più comuni durante il deployment di un LLM 671B locale.

Perché KTransformers cambia le regole del gioco per i LLM MoE

KTransformers è un framework Python sviluppato dal KVCache.AI Lab dell'Università Tsinghua, pubblicato con licenza Apache 2.0 su GitHub. La sua particolarità: carica in VRAM soltanto gli esperti MoE attivi durante l'inferenza, mantenendo gli altri nella RAM di sistema. Per un modello come DeepSeek V3 671B che attiva solo circa 37B di parametri per token su un totale di 671B, il risparmio di VRAM è enorme.

In concreto, mentre un'inferenza classica (vLLM, transformers) richiederebbe ~400 GB di VRAM in Q4 per DeepSeek V3, KTransformers permette di eseguire lo stesso modello con:

Questo approccio fa concorrenza direttamente a llama.cpp e il suo meccanismo --n-gpu-layers, ma KTransformers si spinge oltre sulle architetture MoE, indirizzando ogni esperto al dispositivo giusto invece di eseguire l'offloading di interi layer.

Per dare un'idea degli ordini di grandezza, ecco alcuni modelli MoE che diventano accessibili con questo approccio:

Requisiti hardware e software

Prima di avviare la Installazione KTransformers, verifica la tua configurazione. Il framework mira specificamente alle architetture MoE e richiede un equilibrio particolare tra RAM e VRAM.

Hardware minimo per DeepSeek V3 Q4_K_M :

Stack software :

Per confrontare questo approccio con una soluzione classica interamente su GPU, consulta il nostro guida vLLM che descrive in dettaglio il tensor parallelism sui cluster H100.

Procedura di installazione passo dopo passo

La Installazione KTransformers segue una sequenza rigorosa. Qualsiasi variazione nelle versioni CUDA/PyTorch impedisce la compilazione dei kernel CPU.

Passo 1 — Ambiente Python isolato :

conda create -n ktrans python=3.11
conda activate ktrans
conda install -c conda-forge libstdcxx-ng

Passo 2 — PyTorch con CUDA :

pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip install packaging ninja cpufeature numpy

Passo 3 — Clonazione e compilazione :

git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule update --init --recursive
bash install.sh

Lo script install.sh compila i kernel CPU (llamafile, AMX se rilevato) e installa il wheel locale. La compilazione richiede da 10 a 20 minuti a seconda della CPU.

Passo 4 — Download dei pesi :

KTransformers utilizza file GGUF (quantizzazione di llama.cpp). Scarica ad esempio 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

Passo 5 — Avvio dell'inferenza :

python -m ktransformers.local_chat \
  --model_path deepseek-ai/DeepSeek-V3 \
  --gguf_path ./models/deepseek-v3-q4 \
  --cpu_infer 48 \
  --max_new_tokens 1024

Il parametro --cpu_infer corrisponde al numero di thread CPU dedicati agli esperti offloadati. Impostalo a (cores physiques - 2).

Performance misurate su GPU consumer

I numeri qui sotto provengono dal benchmark ufficiale KTransformers v0.2 e di segnalazioni della community. Per un LLM 671B locale quantizzato Q4_K_M:

A titolo di confronto, DeepSeek R1 Distill Llama 70B in esecuzione in full-GPU su 2× RTX 4090 raggiunge 25-30 tok/s — più veloce in assoluto, ma il modello distillato perde sui benchmark di ragionamento rispetto al 671B completo.

Benchmark di qualità (rapporti ufficiali DeepSeek) :

Per approfondire i compromessi tra qualità e velocità, consulta DeepSeek R1 vs Llama 3.3 70B.

Modelli supportati e limitazioni

Non tutti gli LLM MoE sono supportati nativamente. KTransformers mantiene un elenco di ottimizzazioni YAML per architettura. Nel catalogo attuale:

Supporto nativo confermato :

Supporto in fase di sviluppo o sperimentale :

Non supportati (architetture dense, nessun vantaggio nell'offloading):

Il contesto massimo pratico rimane limitato dalla RAM disponibile per la cache KV: prevedi circa 30 GB aggiuntivi per 32K token su DeepSeek V3. Oltre 64K token, il throughput cala fortemente.

FAQ

Q: KTransformers funziona sui Mac Apple Silicon?

No. Il framework dipende da CUDA per i kernel GPU e da AVX-512/AMX per i kernel CPU x86. Sui Mac della serie M, usa invece llama.cpp con Metal, o MLX. La nostra manuale LLM per Mac spiega le alternative. Un M3 Ultra 512 GB può eseguire DeepSeek V3 Q4 in modo nativo senza offloading, a circa 18-20 tok/s stimati.

Q: Qual è la differenza rispetto a llama.cpp in modalità offload?

llama.cpp esegue l'offload di interi strati (--n-gpu-layers N), il che funziona per i modelli densi come Llama 3.3 70B Instruct. KTransformers esegue l'offload degli esperti individuali di un MoE, il che è molto più efficiente per DeepSeek V3, dove solo 8 esperti su 256 si attivano per token. Guadagno tipico: da 3 a 5 volte più veloce di llama.cpp su DeepSeek V3 a parità di hardware.

Q: È possibile fare fine-tuning con KTransformers?

No, il framework è dedicato esclusivamente all'inferenza. Per eseguire il fine-tuning di un MoE, considera DeepSpeed-MoE o Unsloth (limitato ai modelli densi < 70B). KTransformers non supporta né LoRA dinamica né QLoRA. Se vuoi adattare un modello 70B, scegli piuttosto Llama 3.1 Nemotron 70B con Unsloth in QLoRA 4-bit su RTX 4090.

Q: Quanto costa una configurazione per DeepSeek V3 con GPU consumer?

Budget stimato (2026): RTX 4090 usata 1500€, scheda madre server W790 o EPYC SP5 800€, CPU Xeon w7-2495X 2200€, 384 GB DDR5 ECC 3000€, NVMe 2 TB 200€, alimentatore + case 400€. Totale: ~8000€ per eseguire un LLM 671B locale. Da confrontare con i circa 30.000 € di una sola H100 da 80 GB, che non sarebbe nemmeno sufficiente a piena precisione.

Q: È disponibile la modalità server compatibile con OpenAI?

Sì, dalla v0.2. Avvia ktransformers --server_port 10002 --model_path ... --gguf_path ... e configura il tuo client OpenAI per usare http://localhost:10002/v1. Compatibile con Open WebUI, Continue.dev e LiteLLM. Lo streaming SSE funziona, ma il function calling resta parziale (da confermare in base alla versione).

Q: KTransformers vs SGLang per DeepSeek V3?

SGLang è pensato per deployment multi-GPU ad alte prestazioni (H100/H200) e raggiunge 60+ tok/s su DeepSeek V3 con 8× H100. KTransformers è pensato per una singola GPU consumer con offloading nella RAM, a 10-15 tok/s. Scelta semplice: SGLang se hai un cluster, KTransformers se hai una workstation.

Conclusione

La Installazione KTransformers apre l’accesso ai modelli MoE di frontiera (DeepSeek V3, R1, Kimi K2.5) su una workstation da 8.000 € anziché su un cluster H100 da 200.000 €. Il compromesso: 10-15 tok/s invece di 60+, ma con una qualità di risposta equivalente a quella del modello a precisione completa. Per individuare il modello MoE adatto alla tua VRAM e alla tua RAM, usa il configuratore QualeLLM, oppure esplora direttamente il catalogo dei 249 LLM indicizzati per confrontare licenze e dimensioni.

Articolo pubblicato il da Mohamed Meguedmi · Fonte dati: /api/models.json · Licenza dei contenuti: CC BY 4.0.

Un errore o un aggiornamento da segnalare? Contribuire.