🌙Kimi K2 Thinking: Leitfaden zum lokalen Ausführen
Leitfaden zum Ausführen von Kimi-K2-Thinking und Kimi-K2 auf deinem eigenen lokalen Gerät!
Kimi-K2-Thinking wurde veröffentlicht. Lies unseren Thinking-Leitfaden oder greife hier auf GGUFs zu.
Wir haben auch mit dem Kimi-Team zusammengearbeitet an System-Prompt-Fix für Kimi-K2-Thinking.
Kimi-K2 und Kimi-K2-Thinking erreichen SOTA-Performance bei Wissens-, Reasoning-, Coding- und agentischen Aufgaben. Die vollständigen 1T-Parameter-Modelle von Moonshot AI benötigen 1,09 TB Festplattenspeicher, während die quantisierte Unsloth Dynamic 1,8-Bit Version dies auf nur 230 GB reduziert (-80 % Größe): Kimi-K2-GGUF
Du kannst jetzt auch unsere Kimi-K2-Thinking GGUFs.
Alle Uploads verwenden Unsloth Dynamic 2.0 für SOTA Aider Polyglot und 5-Shot-MMLU-Performance ausführen. Sieh dir an, wie unsere Dynamic 1–2-Bit-GGUFs bei Coding-Benchmarks hier abschneiden.
Thinking ausführenInstruct ausführen
⚙️ Empfohlene Voraussetzungen
Du benötigst 247 GB Festplattenspeicher um den 1-Bit-Quant auszuführen!
Die einzige Voraussetzung ist Festplattenspeicher + RAM + VRAM ≥ 247 GB. Das bedeutet, dass du nicht so viel RAM oder VRAM (GPU) haben musst, um das Modell auszuführen, aber es wird deutlich langsamer sein.
Der 1,8-Bit-(UD-TQ1_0)-Quant passt auf eine 1x-24-GB-GPU (wobei alle MoE-Layer in den System-RAM oder auf eine schnelle Festplatte ausgelagert werden). Rechne mit etwa ~1–2 Tokens/s mit diesem Setup, wenn du zusätzlich 256 GB RAM hast. Der vollständige Kimi K2 Q8 Quant ist 1,09 TB groß und benötigt mindestens 8 x H200 GPUs.
Für optimale Leistung benötigst du mindestens 247 GB einheitlichen Speicher oder 247 GB kombinierten RAM+VRAM für 5+ Tokens/s. Wenn du weniger als 247 GB kombinierten RAM+VRAM hast, wird die Geschwindigkeit des Modells definitiv beeinträchtigt.
Wenn du keine 247 GB RAM+VRAM hast, keine Sorge! llama.cpp hat von Natur aus Festplatten-Offloading, sodass es über mmaping weiterhin funktioniert, nur langsamer - zum Beispiel hast du zuvor vielleicht 5 bis 10 Tokens/Sekunde bekommen, jetzt sind es unter 1 Token.
Wir empfehlen unsere UD-Q2_K_XL (360 GB) Quantisierung, um Größe und Genauigkeit auszubalancieren!
Für beste Leistung sollte dein kombiniertes VRAM + RAM = der Größe des heruntergeladenen Quants entsprechen. Falls nicht, funktioniert es weiterhin per Festplatten-Offloading, nur eben langsamer!
💭Kimi-K2-Thinking-Leitfaden
Kimi-K2-Thinking sollte im Allgemeinen denselben Anweisungen wie das Instruct-Modell folgen, mit einigen wichtigen Unterschieden, insbesondere in Bereichen wie den Einstellungen und der Chat-Vorlage.
Um das Modell in voller Präzision auszuführen, musst du nur die 4-Bit- oder 5-Bit-Dynamic-GGUFs verwenden (z. B. UD_Q4_K_XL), da das Modell ursprünglich im INT4-Format veröffentlicht wurde.
Du kannst zur Sicherheit eine höhere Bit-Quantisierung wählen, falls es kleine Quantisierungsunterschiede gibt, aber in den meisten Fällen ist das unnötig.
🌙 Offizielle empfohlene Einstellungen:
Laut Moonshot AIsind dies die empfohlenen Einstellungen für die Kimi-K2-Thinking-Inferenz:
Setzen Sie Temperatur 1,0 um Wiederholungen und Inkohärenz zu reduzieren.
Empfohlene Kontextlänge = 98.304 (bis zu 256K)
Hinweis: Die Verwendung verschiedener Tools kann unterschiedliche Einstellungen erfordern
Wir empfehlen, min_p auf 0,01 zu setzen um das Auftreten unwahrscheinlicher Tokens mit niedrigen Wahrscheinlichkeiten zu unterdrücken.
Zum Beispiel bei einer Benutzernachricht von „Was ist 1+1?“, erhalten wir:
✨ Kimi K2 Thinking in llama.cpp ausführen
Du kannst jetzt die neueste Aktualisierung von llama.cpp verwenden, um das Modell auszuführen:
Hole dir die neueste
llama.cppauf GitHub hier. Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze-DGGML_CUDA=OFFund fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.
Wenn du
llama.cppdirekt zum Laden von Modellen kannst du Folgendes tun: (:UD-TQ1_0) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Dies ist ähnlich zuollama run. Verwenden Sieexport LLAMA_CACHE="folder"um zu erzwingen, dassllama.cppum an einem bestimmten Speicherort zu speichern.
Das oben Genannte wird etwa 8 GB GPU-Speicher verwenden. Wenn du ungefähr 360 GB kombinierten GPU-Speicher hast, entferne
-ot ".ffn_.*_exps.=CPU"um maximale Geschwindigkeit zu erhalten!
Bitte probieren Sie -ot ".ffn_.*_exps.=CPU" verwenden, um alle MoE-Layer auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.
Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert die MoE-Layer für Up- und Down-Projektionen aus.
Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur die MoE-Layer für Up-Projektionen aus.
Und schließlich lagern Sie alle Layer aus via -ot ".ffn_.*_exps.=CPU" Dies verwendet am wenigsten VRAM.
Sie können den Regex auch anpassen, zum Beispiel -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab der 6. Schicht.
Lade das Modell herunter über (nach der Installation von
pip install huggingface_hub hf_transfer). Wir empfehlen, unseren 2-Bit-Dynamic-Quant UD-Q2_K_XL zu verwenden, um Größe und Genauigkeit auszubalancieren. Alle Versionen unter: huggingface.co/unsloth/Kimi-K2-Thinking-GGUF
Wenn du feststellst, dass Downloads bei etwa 90 bis 95 % hängen bleiben, siehe bitte https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95
Führe einen beliebigen Prompt aus.
Bearbeiten
--threads -1für die Anzahl der CPU-Threads (standardmäßig ist es auf die maximale Anzahl CPU-Threads gesetzt),--ctx-size 16384für die Kontextlänge,--n-gpu-layers 99für das GPU-Offloading, für wie viele Schichten. Setze es auf 99 zusammen mit MoE-CPU-Offloading, um die beste Leistung zu erhalten. Versuche, es anzupassen, wenn deiner GPU der Speicher ausgeht. Entferne es außerdem, wenn du nur CPU-Inferenz hast.
🤔Keine Thinking-Tags?
Vielleicht fällt dir auf, dass es keine thinking Tags gibt, wenn du das Modell ausführst. Das ist normal und beabsichtigtes Verhalten.
In deinem llama.cpp Skript stelle sicher, dass du das --special Flag ganz am Ende deines Befehls einfügst. Sobald du das tust, wirst du das <think> Token wie erwartet erscheinen sehen.
Möglicherweise siehst du auch, dass jede Antwort mit <|im_end|>endet. Das ist normal, da <|im_end|> ein spezielles Token ist, das beim Ausgeben spezieller Tokens erscheint. Wenn du es ausblenden möchtest, kannst du <|im_end|> als Stop-String in deinen Einstellungen setzen.
✨ Bereitstellen mit llama-server und der Completion-Bibliothek von OpenAI
Nachdem du llama.cpp gemäß Kimi K2 Thinkinginstalliert hast, kannst du Folgendes verwenden, um einen OpenAI-kompatiblen Server zu starten:
Verwenden Sie anschließend die Python-Bibliothek von OpenAI nach pip install openai :
🔍Eigenheiten des Tokenizers und Fehlerbehebungen
7. November 2025: Wir haben das Kimi-Team informiert und den Standard-System-Prompt von Du bist Kimi, ein KI-Assistent, erstellt von Moonshot AI. erscheint nicht beim ersten Benutzerprompt! Siehe https://huggingface.co/moonshotai/Kimi-K2-Thinking/discussions/12
Ein riesiges Dankeschön an das Moonshot-Kimi-Team für ihre extrem schnelle Antwortzeit auf unsere Anfragen und dafür, dass sie das Problem so schnell wie möglich behoben haben!
16. Juli 2025: Kimi K2 hat ihren Tokenizer aktualisiert, um mehrere Tool-Aufrufe zu ermöglichen gemäß https://x.com/Kimi_Moonshot/status/1945050874067476962
18. Juli 2025: Wir haben einen System-Prompt behoben - Kimi hat auch hier über unseren Fix getwittert: https://x.com/Kimi_Moonshot/status/1946130043446690030. Der Fix wurde auch hier beschrieben: https://huggingface.co/moonshotai/Kimi-K2-Instruct/discussions/28
Wenn du die alten Checkpoints bereits heruntergeladen hast - keine Sorge - lade einfach den ersten GGUF-Split herunter, der geändert wurde. ODER wenn du keine neuen Dateien herunterladen möchtest, mache Folgendes:
Mit dem Kimi-K2-Tokenizer herumzuspielen war interessant - er verhält sich größtenteils ähnlich wie der Tokenizer von GPT-4o! Zuerst sehen wir in der tokenization_kimi.py Datei den folgenden regulären Ausdruck (Regex), den Kimi K2 verwendet:
Nach sorgfältiger Prüfung stellen wir fest, dass Kimi K2 dem Regex des GPT-4o-Tokenizers nahezu identisch ist, den man in llama.cpps Quellcode.
Beide tokenisieren Zahlen in Gruppen von 1 bis 3 Zahlen (9, 99, 999) und verwenden ähnliche Muster. Der einzige Unterschied scheint die Behandlung von "Han"- oder chinesischen Zeichen zu sein, mit denen Kimis Tokenizer stärker umgeht. Der PR von https://github.com/gabriellarson geht mit diesen Unterschieden nach einigen Diskussionen hier.
Wir stellen außerdem fest, dass das korrekte EOS-Token nicht [EOS] sein sollte, sondern <|im_end|>, was wir ebenfalls in unseren Modellkonvertierungen behoben haben.
🌝Kimi-K2-Instruct-Leitfaden
Schritt-für-Schritt-Anleitung zum Ausführen der Instruct-Kimi-K2-Modelle einschließlich Kimi K2 0905 - dem Update vom 5. September.
🌙 Offizielle empfohlene Einstellungen:
Laut Moonshot AI, dies sind die empfohlenen Einstellungen für die Kimi K2-Inferenz:
Setzen Sie Temperatur 0,6 um Wiederholungen und Inkohärenz zu reduzieren.
Der ursprüngliche Standard-System-Prompt lautet:
(Optional) Moonshot schlägt außerdem Folgendes für den System-Prompt vor:
Wir empfehlen, min_p auf 0,01 zu setzen um das Auftreten unwahrscheinlicher Tokens mit niedrigen Wahrscheinlichkeiten zu unterdrücken.
🔢 Chat-Vorlage und Prompt-Format
Kimi Chat verwendet tatsächlich ein BOS-Token (Beginn des Satzes). Die Rollen System, Benutzer und Assistent sind alle eingeschlossen mit <|im_middle|> was interessant ist, und jede erhält ihr eigenes entsprechendes Token <|im_system|>, <|im_user|>, <|im_assistant|>.
Um die Gesprächsgrenzen zu trennen (du musst jede neue Zeile entfernen), erhalten wir:
💾 Modell-Uploads
ALLE unsere Uploads - einschließlich solcher, die nicht auf imatrix basieren oder dynamisch sind, verwenden unseren Kalibrierungsdatensatz, der speziell für Gesprächs-, Coding- und Reasoning-Aufgaben optimiert ist.
Wir haben auch Versionen in BF16-Format.
✨ Instruct in llama.cpp ausführen
Hole dir die neueste
llama.cppauf GitHub hier. Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn du keine GPU hast oder nur CPU-Inferenz möchtest.
Wenn du
llama.cppdirekt zum Laden von Modellen kannst du Folgendes tun: (:UD-IQ1_S) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Dies ist ähnlich zuollama run. Verwenden Sieexport LLAMA_CACHE="folder"um zu erzwingen, dassllama.cppum an einem bestimmten Speicherort zu speichern. Um das neue September-2025-Update für das Modell auszuführen, ändere den Modellnamen von 'Kimi-K2-Instruct' in 'Kimi-K2-Instruct-0905'.
Bitte probieren Sie -ot ".ffn_.*_exps.=CPU" verwenden, um alle MoE-Layer auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.
Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert die MoE-Layer für Up- und Down-Projektionen aus.
Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur die MoE-Layer für Up-Projektionen aus.
Und schließlich lagern Sie alle Layer aus via -ot ".ffn_.*_exps.=CPU" Dies verwendet am wenigsten VRAM.
Sie können den Regex auch anpassen, zum Beispiel -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab der 6. Schicht.
Lade das Modell herunter über (nach der Installation von
pip install huggingface_hub hf_transfer). Du kannstUD-TQ1_0(Dynamic-1,8-Bit-Quant) oder andere quantisierte Versionen wieQ2_K_XL. Wir empfehlen die Verwendung unseres 2-Bit-Dynamic-QuantsUD-Q2_K_XLzu verwenden, um Größe und Genauigkeit auszubalancieren. Weitere Versionen unter: huggingface.co/unsloth/Kimi-K2-Instruct-GGUF
Wenn du feststellst, dass Downloads bei etwa 90 bis 95 % hängen bleiben, siehe bitte https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95
Führe einen beliebigen Prompt aus.
Bearbeiten
--threads -1für die Anzahl der CPU-Threads (standardmäßig ist es auf die maximale Anzahl CPU-Threads gesetzt),--ctx-size 16384für die Kontextlänge,--n-gpu-layers 99für das GPU-Offloading, für wie viele Schichten. Setze es auf 99 zusammen mit MoE-CPU-Offloading, um die beste Leistung zu erhalten. Versuche, es anzupassen, wenn deiner GPU der Speicher ausgeht. Entferne es außerdem, wenn du nur CPU-Inferenz hast.
🐦 Flappy Bird + andere Tests
Wir haben den Flappy-Bird-Test eingeführt, als unsere 1,58-Bit-Qants für DeepSeek R1 bereitgestellt wurden. Wir stellten fest, dass Kimi K2 eines der wenigen Modelle ist, das alle unsere Aufgaben einschließlich dieser in einem Durchlauf löst, Heptagon und andere Tests sogar bei 2-Bit. Das Ziel ist, das LLM dazu zu bringen, ein Flappy-Bird-Spiel zu erstellen, aber unter Befolgung einiger spezifischer Anweisungen:
Du kannst die Dynamic Quants auch über den Heptagon-Test testen, gemäß r/Localllama der das Modell beim Erstellen einer einfachen Physik-Engine testet, um Bälle zu simulieren, die in einer sich bewegenden, geschlossenen Heptagon-Form rotieren.

Das Ziel ist, dass sich das Heptagon dreht und sich die Bälle im Heptagon bewegen. Der Prompt steht unten:
Zuletzt aktualisiert
War das hilfreich?

