- Kimi K3 von Moonshot AI ist ein Open-Weight-Modell mit insgesamt 2,8T Parametern, 104B aktiven Parametern, nativer Vision-Unterstützung und einem Kontext von 1 Million Tokens; Unsloth stellt GGUF-Quantisierungen für die lokale Ausführung bereit
- Inferenz mit voller Präzision benötigt 1,56 TB, während Dynamic 1-bit
UD-IQ1_S bei 594 GB rund 78,9 % Top-1-Genauigkeit erreicht und das 2-bit-UD-Q2_K_XL mit 861,3 GB rund 90 % erzielt
- Kimi K3 ist ein Thinking-only-Modell, das Gedankenspuren beibehält, keinen Instant-Modus unterstützt und über
reasoning_effort die Werte "low", "high"", "max" auswählt sowie bis zu 1.048.576 Tokens verarbeitet
- Unsloth Studio automatisiert RAM-Offloading und Multi-GPU-Erkennung; für die Ausführung von
llama.cpp mit Vision-Funktionen ist der Unsloth-Fork für Kimi K3 erforderlich
- Für die empfohlene Ausführung von
UD-IQ1_S sind mindestens 610 GB RAM nötig; grundsätzlich sollte RAM+VRAM mindestens der Größe der Quantisierungsdatei entsprechen, andernfalls wird es durch Disk-Offloading deutlich langsamer
Modelleigenschaften und Anforderungen für die lokale Ausführung
- Kimi K3 von Moonshot AI ist ein Open-Weight-Modell mit 2,8T Parametern für Coding, Agenten, lange Kontexte und Chat; bei der Inferenz werden 104B Parameter aktiviert
- Es unterstützt native Vision und ein Kontextfenster von 1 Million Tokens und verwendet MXFP4 für MoE-Gewichte
- Inferenz mit voller Präzision benötigt 1,56 TB Speicherplatz
- Kimi-K3-GGUF kann in Unsloth Studio oder mit
llama.cpp ausgeführt werden
- Die Ausführung ist auch auf einer NVIDIA DGX Station oder einem Mac Studio möglich, der mit einem Gerät mit 128 GB RAM verbunden ist
- Die Hardwareanforderungen werden als Summe aus RAM und VRAM bzw. Unified Memory berechnet; die Konfigurationen reichen von 610 GB bis 1,6 TB
GGUF-Implementierung
- Implementiert auf Basis eines llama.cpp PR; der Unsloth-Fork ergänzt Vision-Unterstützung und Bugfixes
- Der Vision Tower ähnelt Kimi K2.5, weist aber folgende Unterschiede auf
- verwendet RMSNorm und hat keinen Bias
- das fusionierte QKV ist nicht quadratisch und
qkv width != n_embd
- Normalisierung wird nach dem Projector angewendet
- Bei großen Batches schlug das Budget
n_tokens * 40 fehl, daher wurde es auf n_tokens * 160 erhöht
- Das Kimi-Chat-Template wurde in das Jinja-Format umgewandelt
- Da die Standard-Trainingseinstellung
preserved thinking aktiviert, werden Denkspuren nicht entfernt, sondern beibehalten
Quantisierungsmethoden und Qualität
UD-Q8_K_XL entspricht unverändert der Konfiguration aus MXFP4 für MoE-Gewichte und BF16 für die übrigen Gewichte und gilt daher als verlustfreie Quantisierung
UD-Q4_K_XL speichert einige Rest-Tensoren mit Ausnahme von Normalisierungstensoren usw. als Q8_0, liegt nahe an voller Präzision und hat eine Größe von 1,51 TB
- Das verlustfreie
UD-Q8_K_XL ist mit 1,56 TB 50 GB größer als UD-Q4_K_XL
- Die wichtigsten Quantisierungsergebnisse lauten wie folgt
UD-IQ1_S: 594,0 GB, Perplexity 2,5789, Top-1-Genauigkeit 78,875±0,107 %
UD-IQ1_M: 648,9 GB, Perplexity 2,3639, Top-1-Genauigkeit 81,219±0,103 %
UD-IQ2_XXS: 711,1 GB, Perplexity 2,1266, Top-1-Genauigkeit 84,127±0,096 %
UD-Q2_K_XL: 861,3 GB, Perplexity 1,7359, Top-1-Genauigkeit 90,390±0,077 %
UD-Q4_K_XL: 1.510 GB, Perplexity 1,4579
UD-Q8_K_XL: 1.560 GB, Perplexity 1,4581
- Für imatrix-Erzeugung und Quantisierungs-Kalibrierung wurde das 1,56 TB große verlustfreie
UD-Q8_K_XL verwendet
- Dynamic 1-bit ist 62 % kleiner als die verlustfreie Version und erreicht rund 79 % Top-1-Genauigkeit
- Das 2-bit-
UD-Q2_K_XL ist 45 % kleiner und erreicht rund 90 % Genauigkeit
- Die 1-bit-Größe beträgt 553,2 GiB; ob sie ohne Beschädigung des Modells auf unter 512 GiB reduziert werden kann, wird untersucht
-
Vergleich mit Community-Quantisierungen
- Das 618,9 GB große Community-
IQ1_M ist größer als das 594 GB große UD-IQ1_S, die Perplexity steigt jedoch auf 54,56 und ist damit 21-mal schlechter
- Das Community-
IQ2_XXS erreicht bei 725 GB eine Perplexity von 96, während die Unsloth-Version bei 711 GB auf 2,12 kommt, also rund 45-mal besser liegt
- Dynamische Quantisierung und passende Kalibrierung bestimmen gemeinsam Dateigröße und Qualität
Inferenz-Einstellungen und Leistung
- Kimi K3 ist ein Thinking-only-Modell;
preserve_thinking ist immer aktiviert und die Standard-Denkstufe ist max
- Der Instant-Modus wird nicht unterstützt; im Request-Feld
reasoning_effort können "low", "high" und "max" angegeben werden
- Die Kontextlänge beträgt maximal 1.048.576 Tokens; in Unsloth lassen sich die drei Denkstufen umschalten
- Zu den Inferenz-Einstellungen gehören
temperature=1.0, top_p=0.95 oder top_p=1.0
- Wenn das Modell in den Speicher passt, sind auf B200 etwa 20 Tokens/s Generierung und ein Durchsatz von über 120 Tokens/s möglich
- Als Kompromiss aus Größe und Qualität wird das 594 GB große
UD-IQ1_S empfohlen
- Die Summe aus RAM und VRAM sollte ungefähr der Größe der Quantisierungsdatei entsprechen; auch bei weniger Speicher ist die Ausführung möglich, wird durch Disk-Offloading aber deutlich langsamer
Ausführung in Unsloth Studio
- Unsloth Studio ist eine Open-Source-Web-UI für lokale KI und unterstützt macOS, Windows und Linux
- Es kann GGUF- und safetensors-Modelle suchen, herunterladen und ausführen und bietet CPU+GPU-Inferenz auf Basis von
llama.cpp
- RAM-Offloading und Multi-GPU-Konfigurationen werden automatisch erkannt
- Installation und Ausführung erfolgen mit folgenden Befehlen
# macOS, Linux, WSL
curl -fsSL https://unsloth.ai/install.sh | sh
# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex
unsloth studio
- Nach dem Start öffnet man im Browser
http://127.0.0.1:8888 oder die angezeigte Adresse; beim ersten Start wird ein Passwort zum Schutz des Kontos erstellt
- Auch die HTTPS-Ausführung über einen kostenlosen Cloudflare-Tunnel wird unterstützt
unsloth studio --secure
- Im Model Hub nach Kimi K3 suchen, die gewünschte Quantisierung herunterladen und ausführen
- Die Inferenzparameter werden automatisch gesetzt, Denkstufe, Kontextlänge, Chat-Template usw. können aber manuell geändert werden
- Details finden sich im Unsloth-Studio-Inferenzleitfaden
Ausführung mit llama.cpp
- Für schnelle lokale Inferenz einschließlich CPU wird llama.cpp verwendet
- Um Kimi-K3-Vision zu aktivieren, muss statt der allgemeinen Version der spezielle Unsloth-Fork gebaut werden
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
- Wenn keine GPU vorhanden ist oder nur CPU-Inferenz genutzt wird, auf
-DGGML_CUDA=OFF ändern
- Apple-Macs und Metal-Geräte verwenden ebenfalls
-DGGML_CUDA=OFF; Metal-Unterstützung ist standardmäßig aktiviert
llama.cpp kann das Modell direkt herunterladen und ausführen, der Download kann jedoch sehr langsam sein
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*"
- Wenn die verlustfreie Version benötigt wird, das Download-Muster auf
*UD-Q8_K_XL* ändern
- Mit lokalen Dateien und Vision-Projector kann es im Dialogmodus ausgeführt werden
./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
- Neben Textabfragen werden mit
mmproj-BF16.gguf auch Bildeingaben unterstützt
Benchmark-Umfang
- Die Evaluation umfasst Reasoning/Wissen, Coding, Agenten und Vision
- Verwendete Benchmarks sind GPQA Diamond, HLE-Full, DeepSWE, Terminal-Bench 2.1, BrowseComp, GDPval-AA v2, OSWorld 2.0, MMMU-Pro und MathVision
- In den DeepSWE-Ergebnissen zeigt Kimi K3 effiziente Leistung
1 Kommentare
Ich habe es ausprobiert, und es ist unglaub~lich gut~ Jetzt fehlen nur noch Tangjjamyeon & Dakkang.