Installer KTransformers : LLM 70B+ sur GPU consumer

Le framework KTransformers installation permet d'exécuter localement des modèles MoE (Mixture of Experts) de plus de 600 milliards de paramètres sur une seule carte RTX 4090 ou 3090, en déportant les experts inactifs vers la RAM CPU. Cette KTransformers installation repose sur un offloading sélectif des experts MoE et exploite les instructions AVX-512 / AMX du CPU pour décharger le GPU. Ce guide couvre les prérequis matériels, la procédure d'installation pas à pas, les modèles compatibles (notamment DeepSeek V3 GPU consumer), les performances mesurées et les pièges fréquents lors du déploiement d'un LLM 671B local.

Pourquoi KTransformers change la donne pour les LLM MoE

KTransformers est un framework Python développé par le KVCache.AI Lab de l'Université Tsinghua, publié sous licence Apache 2.0 sur GitHub. Sa particularité : il ne charge en VRAM que les experts MoE actifs lors de l'inférence, gardant les autres en RAM système. Pour un modèle comme DeepSeek V3 671B qui n'active que ~37B de paramètres par token sur ses 671B totaux, l'économie de VRAM est massive.

Concrètement, là où une inférence classique (vLLM, transformers) demanderait ~400 GB de VRAM Q4 pour DeepSeek V3, KTransformers permet de tourner ce même modèle avec :

Cette approche concurrence directement llama.cpp et son mécanisme --n-gpu-layers, mais KTransformers va plus loin sur les architectures MoE en routant chaque expert au bon device au lieu d'offloader des couches entières.

Pour situer les ordres de grandeur, voici quelques modèles MoE qui deviennent accessibles via cette approche :

Prérequis matériels et logiciels

Avant de lancer la KTransformers installation, validez votre configuration. Le framework cible spécifiquement les architectures MoE et nécessite un équilibre RAM/VRAM particulier.

Matériel minimum pour DeepSeek V3 Q4_K_M :

Stack logicielle :

Pour comparer cette approche à du tout-GPU classique, consultez notre guide vLLM qui détaille le tensor parallelism sur clusters H100.

Procédure d'installation pas à pas

La KTransformers installation suit une séquence stricte. Toute déviation sur les versions CUDA/PyTorch casse la compilation des kernels CPU.

Étape 1 — Environnement Python isolé :

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

Étape 2 — PyTorch avec CUDA :

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

Étape 3 — Clone et compilation :

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

Le script install.sh compile les kernels CPU (llamafile, AMX si détecté) et installe le wheel local. La compilation prend 10 à 20 minutes selon le CPU.

Étape 4 — Téléchargement des poids :

KTransformers consomme des fichiers GGUF (quantification de llama.cpp). Récupérez par exemple 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

Étape 5 — Lancement de l'inférence :

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

Le paramètre --cpu_infer correspond au nombre de threads CPU dédiés aux experts offloadés. Réglez-le à (cores physiques - 2).

Performances mesurées sur GPU consumer

Les chiffres ci-dessous sont issus du benchmark officiel KTransformers v0.2 et de remontées communautaires. Pour un LLM 671B local quantifié Q4_K_M :

À titre de comparaison, DeepSeek R1 Distill Llama 70B tournant en full-GPU sur 2× RTX 4090 atteint 25-30 tok/s — plus rapide en absolu, mais le modèle distillé perd sur les benchmarks de raisonnement face au 671B complet.

Benchmarks qualité (rapports officiels DeepSeek) :

Pour creuser les arbitrages qualité/vitesse, voyez DeepSeek R1 vs Llama 3.3 70B.

Modèles compatibles et limitations

Tous les LLM MoE ne sont pas supportés nativement. KTransformers maintient une liste d'optimisations YAML par architecture. Au catalogue actuel :

Support natif confirmé :

Support en cours ou expérimental :

Non supportés (architectures denses, pas d'intérêt à offloader) :

Le contexte maximal pratique reste limité par la RAM disponible pour le KV-cache : comptez ~30 GB supplémentaires pour 32K tokens sur DeepSeek V3. Au-delà de 64K tokens, le throughput chute fortement.

FAQ

Q : KTransformers fonctionne-t-il sur Mac Apple Silicon ?

Non. Le framework dépend de CUDA pour les kernels GPU et d'AVX-512/AMX pour les kernels CPU x86. Sur Mac M-series, utilisez plutôt llama.cpp avec Metal, ou MLX. Notre guide LLM sur Mac détaille les alternatives. Un M3 Ultra 512 GB peut faire tourner DeepSeek V3 Q4 nativement sans offloading, à 18-20 tok/s estimé.

Q : Quelle différence avec llama.cpp en mode offload ?

llama.cpp offload des couches entières (--n-gpu-layers N), ce qui marche pour les modèles denses comme Llama 3.3 70B Instruct. KTransformers offload les experts individuels d'un MoE, ce qui est bien plus efficace pour DeepSeek V3 où seuls 8 experts sur 256 s'activent par token. Gain typique : 3 à 5× plus rapide que llama.cpp sur DeepSeek V3 à matériel équivalent.

Q : Peut-on faire du fine-tuning avec KTransformers ?

Non, le framework cible exclusivement l'inférence. Pour fine-tuner un MoE, regardez DeepSpeed-MoE ou Unsloth (limité aux modèles denses < 70B). KTransformers ne supporte ni LoRA dynamique ni QLoRA. Si vous cherchez à adapter un modèle 70B, partez plutôt sur Llama 3.1 Nemotron 70B avec Unsloth en QLoRA 4-bit sur RTX 4090.

Q : Combien coûte une config DeepSeek V3 GPU consumer ?

Budget estimé (2026) : RTX 4090 d'occasion 1500€, carte mère serveur W790 ou EPYC SP5 800€, CPU Xeon w7-2495X 2200€, 384 GB DDR5 ECC 3000€, NVMe 2 TB 200€, alim + boîtier 400€. Total : ~8000€ pour exécuter un LLM 671B local. À comparer aux ~30 000€ d'un seul H100 80 GB qui ne suffirait même pas en full-précision.

Q : Le mode serveur OpenAI-compatible est-il disponible ?

Oui depuis la v0.2. Lancez ktransformers --server_port 10002 --model_path ... --gguf_path ... et pointez votre client OpenAI sur http://localhost:10002/v1. Compatible avec Open WebUI, Continue.dev et LiteLLM. Le streaming SSE fonctionne, mais le function calling reste partiel (à confirmer selon la version).

Q : KTransformers vs SGLang pour DeepSeek V3 ?

SGLang vise les déploiements multi-GPU haute performance (H100/H200) et atteint 60+ tok/s sur DeepSeek V3 avec 8× H100. KTransformers vise le single-GPU consumer avec offloading RAM, à 10-15 tok/s. Choix simple : SGLang si vous avez un cluster, KTransformers si vous avez une station de travail.

Conclusion

La KTransformers installation ouvre l'accès aux modèles MoE frontière (DeepSeek V3, R1, Kimi K2.5) sur une station de travail à 8000€ au lieu d'un cluster H100 à 200 000€. Le compromis : 10-15 tok/s au lieu de 60+, mais avec une qualité de réponse équivalente au modèle full-précision. Pour identifier le modèle MoE adapté à votre VRAM et votre RAM, passez par le configurateur quelllm.fr, ou explorez directement le catalogue des 249 LLM indexés pour comparer licences et tailles.

Article publié le par Mohamed Meguedmi · Source de données : /api/models.json · Licence contenu : CC BY 4.0.

Une erreur ou une mise à jour à signaler ? Contribuer.