- Kimi K3 de Moonshot AI est un modèle open weight avec 2.8T de paramètres au total, 104B de paramètres actifs, une vision native et un contexte d’1 million de tokens, et Unsloth fournit une quantification GGUF pour l’exécution en local
- L’inférence en précision complète nécessite 1.56TB, mais Dynamic 1-bit
UD-IQ1_S atteint environ 78.9% de précision Top-1 à partir de 594GB, tandis que le 2-bit UD-Q2_K_XL de 861.3GB atteint environ 90%
- Kimi K3 est un modèle thinking-only qui conserve la trace de raisonnement, ne prend pas en charge le mode Instant, permet de choisir
"low", "high", "max" via reasoning_effort, et traite jusqu’à 1,048,576 tokens
- Unsloth Studio automatise l’offloading RAM et la détection multi-GPU, et l’exécution de
llama.cpp avec les fonctions de vision nécessite le fork Unsloth pour Kimi K3
- L’exécution recommandée de
UD-IQ1_S nécessite au minimum 610GB de RAM, et il faut généralement disposer de RAM+VRAM au moins équivalente à la taille du fichier quantifié ; sinon, l’offloading disque ralentit fortement l’exécution
Caractéristiques du modèle et exigences pour l’exécution locale
- Kimi K3 de Moonshot AI est un modèle open weight de 2.8T de paramètres destiné au code, aux agents, au contexte long et au chat, et active 104B de paramètres à l’inférence
- Il prend en charge la vision native et une fenêtre de contexte d’1 million de tokens, et utilise MXFP4 pour les poids MoE
- L’inférence en précision complète nécessite 1.56TB de stockage
- Kimi-K3-GGUF peut être exécuté dans Unsloth Studio ou avec
llama.cpp
- Il peut aussi être exécuté sur une NVIDIA DGX Station ou sur un Mac Studio connecté à un appareil doté de 128GB de RAM
- Les besoins matériels sont calculés comme la somme de la RAM et de la VRAM, ou de la mémoire unifiée, avec une plage de configuration de 610GB à 1.6TB
Méthode d’implémentation GGUF
- L’implémentation repose sur la PR llama.cpp, tandis que le fork Unsloth ajoute la prise en charge de la vision et des corrections de bugs
- La tour de vision est similaire à celle de Kimi K2.5, avec les différences suivantes
- utilisation de RMSNorm et absence de biais
- QKV fusionné non carré, avec
qkv width != n_embd
- application de la normalisation après le projector
- Pour les grands batches, le budget
n_tokens * 40 échouait ; il a été porté à n_tokens * 160
- Le template de chat Kimi a été converti au format Jinja
- Comme la configuration d’entraînement par défaut active
preserved thinking, la trace de raisonnement est conservée sans être supprimée
Méthode de quantification et qualité
UD-Q8_K_XL suit à l’identique la configuration MXFP4 pour les poids MoE et BF16 pour les autres poids ; il s’agit donc d’une quantification sans perte
UD-Q4_K_XL stocke certains tenseurs résiduels, hors tenseurs de normalisation, en Q8_0 ; il reste proche de la précision complète et pèse 1.51TB
- La version sans perte
UD-Q8_K_XL fait 1.56TB, soit 50GB de plus que UD-Q4_K_XL
- Les principaux résultats de quantification sont les suivants
UD-IQ1_S: 594.0GB, perplexity 2.5789, précision Top-1 78.875±0.107%
UD-IQ1_M: 648.9GB, perplexity 2.3639, précision Top-1 81.219±0.103%
UD-IQ2_XXS: 711.1GB, perplexity 2.1266, précision Top-1 84.127±0.096%
UD-Q2_K_XL: 861.3GB, perplexity 1.7359, précision Top-1 90.390±0.077%
UD-Q4_K_XL: 1,510GB, perplexity 1.4579
UD-Q8_K_XL: 1,560GB, perplexity 1.4581
- La génération de l’imatrix et le recalibrage de la quantification utilisent la version sans perte
UD-Q8_K_XL de 1.56TB
- Dynamic 1-bit est 62% plus petit que la version sans perte tout en atteignant environ 79% de précision Top-1
- Le 2-bit
UD-Q2_K_XL est 45% plus petit tout en atteignant environ 90% de précision
- La taille du 1-bit est de 553.2GiB, et il est encore étudié s’il est possible de descendre sous 512GiB sans dégrader le modèle
-
Comparaison avec les quantifications de la communauté
- La version communautaire
IQ1_M de 618.9GB est plus grosse que UD-IQ1_S à 594GB, mais sa perplexity grimpe à 54.56, soit une dégradation 21 fois plus forte
- La version communautaire
IQ2_XXS affiche une perplexity de 96 à 725GB, alors que la version Unsloth atteint 2.12 à 711GB, soit un écart d’environ 45 fois
- La quantification dynamique et un recalibrage correct déterminent à la fois la taille du fichier et la qualité
Réglages d’inférence et performances
- Kimi K3 est un modèle thinking-only ;
preserve_thinking est toujours activé et le niveau de raisonnement par défaut est max
- Le mode Instant n’est pas pris en charge, et le champ de requête
reasoning_effort peut être défini sur "low", "high", "max"
- La longueur de contexte peut aller jusqu’à 1,048,576 tokens, et Unsloth permet de basculer entre les trois niveaux de raisonnement
- Les réglages d’inférence incluent
temperature=1.0, top_p=0.95 ou top_p=1.0
- Une fois le modèle chargé en mémoire, il peut générer environ 20 tokens/s sur B200, avec un débit supérieur à 120 tokens/s
- En tenant compte de l’équilibre entre taille et qualité, la version 594GB
UD-IQ1_S est recommandée
- La somme RAM + VRAM doit être proche de la taille du fichier quantifié ; même si l’exécution reste possible avec moins, l’offloading disque la ralentit fortement
Exécution dans Unsloth Studio
- Unsloth Studio est une interface web open source pour l’IA locale, compatible avec macOS, Windows et Linux
- Il permet de rechercher, télécharger et exécuter des modèles GGUF et safetensors, et fournit une inférence CPU+GPU basée sur
llama.cpp
- Il détecte automatiquement l’offloading RAM et les configurations multi-GPU
- Les commandes d’installation et d’exécution sont les suivantes
# macOS, Linux, WSL
curl -fsSL https://unsloth.ai/install.sh | sh
# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex
unsloth studio
- Après le lancement, ouvrez
http://127.0.0.1:8888 dans le navigateur, ou l’adresse affichée, puis créez un mot de passe pour protéger le compte lors du premier démarrage
- L’exécution en HTTPS via un tunnel Cloudflare gratuit est également prise en charge
unsloth studio --secure
- Dans le Model hub, recherchez Kimi K3 pour télécharger et lancer la quantification souhaitée
- Les paramètres d’inférence sont configurés automatiquement, mais le niveau de raisonnement, la longueur de contexte et le template de chat peuvent être modifiés manuellement
- Les réglages détaillés sont disponibles dans le guide d’inférence Unsloth Studio
Exécution avec llama.cpp
- Pour une inférence locale rapide, y compris sur CPU, utilisez llama.cpp
- Pour activer la vision de Kimi K3, il faut compiler le fork Unsloth dédié plutôt que la version générique
git clone https://github.com/unslothai/llama.cpp
cd llama.cpp
git fetch origin pull/48/head:kimi-k3-fullsize-vision
git checkout kimi-k3-fullsize-vision
cd ..
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first \
--target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
- Si vous n’avez pas de GPU ou n’utilisez qu’une inférence CPU, remplacez
-DGGML_CUDA=OFF
- Les Mac Apple et appareils Metal utilisent aussi
-DGGML_CUDA=OFF, et la prise en charge de Metal est activée par défaut
llama.cpp peut télécharger directement le modèle avant de l’exécuter, mais le téléchargement peut être très lent
export LLAMA_CACHE="unsloth/Kimi-K3-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/Kimi-K3-GGUF:UD-IQ1_S \
--temp 1.0 \
--top-p 0.95
hf download unsloth/Kimi-K3-GGUF \
--local-dir unsloth/Kimi-K3-GGUF \
--include "*mmproj-BF16*" \
--include "*UD-IQ1_S*"
- Si vous avez besoin de la version sans perte, remplacez le motif de téléchargement par
*UD-Q8_K_XL*
- Vous pouvez exécuter le modèle en mode conversation en indiquant les fichiers locaux et le projector de vision
./llama.cpp/llama-cli \
--model unsloth/Kimi-K3-GGUF/UD-IQ1_S/Kimi-K3-UD-IQ1_S-00001-of-00014.gguf \
--mmproj unsloth/Kimi-K3-GGUF/mmproj-BF16.gguf \
--temp 1.0 \
--top-p 0.95
- En plus des requêtes textuelles, l’entrée image via
mmproj-BF16.gguf est également prise en charge
Périmètre des benchmarks
- L’évaluation couvre les domaines du raisonnement et des connaissances, du code, des agents et de la vision
- Les benchmarks utilisés sont GPQA Diamond, HLE-Full, DeepSWE, Terminal-Bench 2.1, BrowseComp, GDPval-AA v2, OSWorld 2.0, MMMU-Pro, MathVision
- Les résultats de DeepSWE montrent que Kimi K3 offre des performances efficaces
1 commentaires
Je l’ai essayé, et c’est vraiment super bon~ Il ne manque plus que du tangjjamyeon et du dakgangjeong.