1 points par GN⁺ 2 시간 전 | 1 commentaires | Partager sur WhatsApp
  • 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

 
plumpmath 18 분 전

Je l’ai essayé, et c’est vraiment super bon~ Il ne manque plus que du tangjjamyeon et du dakgangjeong.