🌙Kimi K2 Thinking: Anleitung zum lokalen Betrieb

Anleitung zum Ausführen von Kimi-K2-Thinking und Kimi-K2 auf deinem eigenen lokalen Gerät!

circle-check

Kimi-K2 und Kimi-K2-Thinking erzielen SOTA-Leistung in Wissen, Schlussfolgerung, Programmierung und agentischen Aufgaben. Die vollständigen 1T-Parameter-Modelle von Moonshot AI benötigen 1,09 TB Speicherplatz, während die quantisierte Unsloth Dynamic 1,8-Bit Version dies auf nur 230 GB reduziert (-80 % Größe): Kimi-K2-GGUFarrow-up-right

Du kannst jetzt auch unsere Kimi-K2-Thinking GGUFsarrow-up-right.

Alle Uploads verwenden Unsloth Dynamic 2.0 für SOTA Aider Polyglot und 5-Shot MMLU-Leistung ausführen. Sieh dir an, wie unsere Dynamic 1–2-Bit-GGUFs bei Coding-Benchmarks hier.

Thinking ausführenInstruct ausführen

⚙️ Empfohlene Anforderungen

circle-info

Du brauchst 247 GB Speicherplatz um das 1bit-Quant laufen zu lassen!

Die einzige Voraussetzung ist Speicherplatz + RAM + VRAM ≥ 247GB. Das bedeutet, du musst nicht so viel RAM oder VRAM (GPU) haben, um das Modell auszuführen, aber es wird deutlich langsamer sein.

Das 1,8-Bit (UD-TQ1_0) Quant passt in eine 1x 24GB GPU (mit allen MoE-Schichten ausgelagert in Systemspeicher oder auf eine schnelle Festplatte). Erwarte mit diesem Setup ungefähr ~1–2 Token/s, wenn du zusätzlich 256GB RAM hast. Das vollständige Kimi K2 Q8-Quant hat eine Größe von 1,09 TB und benötigt mindestens 8 x H200-GPUs.

Für optimale Leistung brauchst du mindestens 247 GB einheitlichen Speicher oder 247 GB kombinierte RAM+VRAM für 5+ Token/s. Wenn du weniger als 247 GB kombinierte RAM+VRAM hast, wird die Geschwindigkeit des Modells auf jeden Fall leiden.

Wenn du nicht 247 GB RAM+VRAM hast, kein Problem! llama.cpp hat von Haus aus Festplatten-Auslagerung, sodass es durch mmaping immer noch funktioniert, nur langsamer — zum Beispiel vorher vielleicht 5 bis 10 Token/Sekunde, jetzt unter 1 Token.

Wir schlagen vor, unser UD-Q2_K_XL (360GB) Quant zu verwenden, um Größe und Genauigkeit auszugleichen!

circle-check

💭Kimi-K2-Thinking Leitfaden

Kimi-K2-Thinking sollte im Allgemeinen denselben Anweisungen wie das Instruct-Modell folgen, mit einigen wesentlichen Unterschieden, insbesondere bei Einstellungen und der Chat-Vorlage.

circle-check

🌙 Offiziell empfohlene Einstellungen:

Laut Moonshot AIarrow-up-rightsind dies die empfohlenen Einstellungen für die Kimi-K2-Thinking-Inferenz:

  • Setzen Sie das Temperatur 1.0 um Wiederholungen und Inkohärenz zu reduzieren.

  • Vorgeschlagene Kontextlänge = 98.304 (bis zu 256K)

  • Hinweis: Die Verwendung unterschiedlicher Tools kann unterschiedliche Einstellungen erfordern

circle-info

Wir empfehlen, min_p auf 0,01 zu setzen, um das Auftreten unwahrscheinlicher Token mit niedriger Wahrscheinlichkeit zu unterdrücken.

Zum Beispiel erhalten wir bei einer Benutzernachricht "Was ist 1+1?":

✨ Kimi K2 Thinking in llama.cpp ausführen

circle-check
  1. Holen Sie sich die neueste llama.cpp auf GitHub hierarrow-up-right. Sie können auch den unten stehenden Build-Anweisungen folgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz wünschen.

  1. Wenn Sie llama.cpp direkt zum Laden von Modellen kannst du Folgendes tun: (:UD-TQ1_0) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Das ist ähnlich wie ollama run . Verwenden Sie export LLAMA_CACHE="folder" um zu erzwingen, dass llama.cpp an einem bestimmten Ort zu speichern.

  1. Das Obige wird etwa 8 GB GPU-Speicher verwenden. Wenn du etwa 360 GB kombinierten GPU-Speicher hast, entferne -ot ".ffn_.*_exps.=CPU" um maximale Geschwindigkeit zu erzielen!

circle-info

Bitte probieren Sie aus -ot ".ffn_.*_exps.=CPU" um alle MoE-Schichten auf die CPU auszulagern! Dies ermöglicht es effektiv, alle Nicht-MoE-Schichten auf einer GPU unterzubringen und die Generationsgeschwindigkeit zu verbessern. Sie können den Regex-Ausdruck anpassen, um mehr Schichten auszulagern, wenn Sie mehr GPU-Kapazität haben.

Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert up- und down-Projektions-MoE-Schichten aus.

Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur up-Projektions-MoE-Schichten aus.

Und schließlich alle Schichten auslagern über -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-Schichten auszulagern, jedoch nur ab der 6. Schicht.

  1. Laden Sie das Modell herunter über (nach Installation von pip install huggingface_hub hf_transfer ). Wir empfehlen die Verwendung unseres 2-Bit-Dynamic-Quants UD-Q2_K_XL, um Größe und Genauigkeit auszugleichen. Alle Versionen unter: huggingface.co/unsloth/Kimi-K2-Thinking-GGUFarrow-up-right

circle-info

Wenn du feststellst, dass Downloads bei 90 bis 95% oder so stecken bleiben, siehe bitte https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95arrow-up-right

  1. Führe beliebige Prompts aus.

  2. Bearbeiten --threads -1 für die Anzahl der CPU-Threads (standardmäßig auf die maximale Anzahl der CPU-Threads gesetzt), --ctx-size 16384 für die Kontextlänge, --n-gpu-layers 99 für GPU-Auslagerung, wie viele Schichten. Setze es auf 99 kombiniert mit MoE-CPU-Auslagerung, um die beste Leistung zu erzielen. Versuche es anzupassen, wenn deine GPU wegen Speichermangel abstürzt. Entferne es auch, wenn du nur CPU-Inferenz hast.

🤔Keine Thinking-Tags?

Du wirst vielleicht feststellen, dass keine Denken Tags vorhanden sind, wenn du das Modell ausführst. Das ist normales 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, siehst du das <think> Token wie erwartet erscheinen.

Möglicherweise siehst du auch, dass jede Antwort mit <|im_end|>endet. Das ist normal, da <|im_end|> ein spezielles Token ist, das beim Drucken spezieller Tokens erscheint. Wenn du es verstecken möchtest, kannst du <|im_end|> als Stop-String in deinen Einstellungen setzen.

✨ Mit llama-server und OpenAIs Completion-Bibliothek bereitstellen

Nachdem du llama.cpp wie in Kimi K2 Thinkinginstalliert hast, kannst du das Folgende verwenden, um einen OpenAI-kompatiblen Server zu starten:

Verwenden Sie anschließend die OpenAI-Python-Bibliothek nachdem Sie pip install openai :

🔍Tokenizer-Eigenheiten und Fehlerbehebungen

7. November 2025: Wir haben das Kimi-Team benachrichtigt und den Standard-System-Prompt von Du bist Kimi, ein von Moonshot AI erstellter KI-Assistent. behoben, dass er bei der ersten Benutzereingabe nicht erschien! Siehe https://huggingface.co/moonshotai/Kimi-K2-Thinking/discussions/12arrow-up-right

Großer Dank an das Moonshot Kimi-Team für ihre extrem schnelle Reaktionszeit auf unsere Anfragen und die schnelle Behebung des Problems!

16. Juli 2025: Kimi K2 hat seinen Tokenizer aktualisiert, um mehrere Tool-Aufrufe zu ermöglichen laut https://x.com/Kimi_Moonshot/status/1945050874067476962arrow-up-right

18. Juli 2025: Wir haben einen System-Prompt korrigiert – Kimi hat unseren Fix hier ebenfalls getwittert: https://x.com/Kimi_Moonshot/status/1946130043446690030arrow-up-right. Die Korrektur wurde auch hier beschrieben: https://huggingface.co/moonshotai/Kimi-K2-Instruct/discussions/28arrow-up-right

Wenn du die alten Checkpoints heruntergeladen hast – keine Sorge – lade einfach die erste GGUF-Teilung herunter, die geändert wurde. ODER wenn du keine neuen Dateien herunterladen möchtest, mache:

Der Kimi K2 Tokenizer war interessant zum Ausprobieren - er verhält sich größtenteils ähnlich wie der Tokenizer von GPT-4o! Wir sehen zuerst in der tokenization_kimi.pyarrow-up-right 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, der in llama.cpp Quellcodearrow-up-right.

Beide tokenisieren Zahlen in Gruppen von 1 bis 3 Ziffern (9, 99, 999) und verwenden ähnliche Muster. Der einzige Unterschied scheint die Behandlung von "Han"- bzw. chinesischen Zeichen zu sein, mit der Kimi's Tokenizer intensiver umgeht. Die PRarrow-up-right von https://github.com/gabriellarsonarrow-up-right behandelt diese Unterschiede nach einigen Diskussionen hierarrow-up-right.

Wir stellen außerdem fest, dass das richtige EOS-Token nicht [EOS], sondern vielmehr <|im_end|> sein sollte, was wir ebenfalls in unseren Modellkonvertierungen korrigiert 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.

🌙 Offiziell empfohlene Einstellungen:

Laut Moonshot AIarrow-up-right, dies sind die empfohlenen Einstellungen für die Kimi K2-Inferenz:

  • Setzen Sie das Temperatur 0,6 um Wiederholungen und Inkohärenz zu reduzieren.

  • Ursprünglicher Standard-System-Prompt ist:

  • (Optional) Moonshot schlägt außerdem Folgendes für den System-Prompt vor:

circle-check

🔢 Chat-Vorlage und Prompt-Format

Kimi Chat verwendet einen BOS (Anfang-des-Satz-Tokens). Die Rollen System, Benutzer und Assistent sind alle mit <|im_middle|> eingeschlossen, was interessant ist, und jede erhält ihr jeweiliges Token <|im_system|>, <|im_user|>, <|im_assistant|>.

Um die Konversationsgrenzen zu trennen (du musst jede neue Zeile entfernen), erhalten wir:

💾 Modell-Uploads

ALLE unsere Uploads - einschließlich jener, die nicht imatrix-basiert oder dynamisch sind, nutze unseren Kalibrierungsdatensatz, der speziell für Konversation, Programmierung und Schlussfolgerungsaufgaben optimiert ist.

MoE-Bits
Typ + Link
Platten-/Festplattengröße
Details

1,66bit

245GB

1,92/1,56bit

1,78bit

281GB

2,06/1,56bit

1,93bit

304GB

2.5/2.06/1.56

2,42bit

343GB

2,5/2,06bit

2,71bit

381GB

3,5/2,5bit

3,12bit

417GB

3,5/2,06bit

3,5bit

452GB

4,5/3,5bit

4,5bit

588GB

5,5/4,5bit

5,5bit

732GB

6,5/5,5bit

Wir haben auch Versionen in BF16-Formatarrow-up-right.

✨ Instruct in llama.cpp ausführen

  1. Holen Sie sich die neueste llama.cpp auf GitHub hierarrow-up-right. Sie können auch den unten stehenden Build-Anweisungen folgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz wünschen.

  1. Wenn Sie llama.cpp direkt zum Laden von Modellen kannst du Folgendes tun: (:UD-IQ1_S) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Das ist ähnlich wie ollama run . Verwenden Sie export LLAMA_CACHE="folder" um zu erzwingen, dass llama.cpp an einem bestimmten Ort zu speichern. Um das neue September-2025-Update für das Modell auszuführen, ändere den Modellnamen von 'Kimi-K2-Instruct' zu 'Kimi-K2-Instruct-0905'.

circle-info

Bitte probieren Sie aus -ot ".ffn_.*_exps.=CPU" um alle MoE-Schichten auf die CPU auszulagern! Dies ermöglicht es effektiv, alle Nicht-MoE-Schichten auf einer GPU unterzubringen und die Generationsgeschwindigkeit zu verbessern. Sie können den Regex-Ausdruck anpassen, um mehr Schichten auszulagern, wenn Sie mehr GPU-Kapazität haben.

Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert up- und down-Projektions-MoE-Schichten aus.

Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur up-Projektions-MoE-Schichten aus.

Und schließlich alle Schichten auslagern über -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-Schichten auszulagern, jedoch nur ab der 6. Schicht.

  1. Laden Sie das Modell herunter über (nach Installation von pip install huggingface_hub hf_transfer ). Sie können wählen UD-TQ1_0(dynamisches 1,8-Bit-Quant) oder andere quantisierte Versionen wie Q2_K_XL . Wir empfehlen wir die Verwendung unseres 2-Bit-Dynamic-Quants UD-Q2_K_XL um Größe und Genauigkeit auszugleichen. Weitere Versionen unter: huggingface.co/unsloth/Kimi-K2-Instruct-GGUFarrow-up-right

circle-info

Wenn du feststellst, dass Downloads bei 90 bis 95% oder so stecken bleiben, siehe bitte https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95arrow-up-right

  1. Führe beliebige Prompts aus.

  2. Bearbeiten --threads -1 für die Anzahl der CPU-Threads (standardmäßig auf die maximale Anzahl der CPU-Threads gesetzt), --ctx-size 16384 für die Kontextlänge, --n-gpu-layers 99 für GPU-Auslagerung, wie viele Schichten. Setze es auf 99 kombiniert mit MoE-CPU-Auslagerung, um die beste Leistung zu erzielen. Versuche es anzupassen, wenn deine GPU wegen Speichermangel abstürzt. Entferne es auch, wenn du nur CPU-Inferenz hast.

🐦 Flappy Bird + andere Tests

Wir haben den Flappy-Bird-Test eingeführt, als unsere 1,58-Bit-Quants für DeepSeek R1 bereitgestellt wurden. Wir fanden Kimi K2 eines der wenigen Modelle, das alle unsere Aufgaben mit One-Shot löste, einschließlich dieses, Heptagon und andere Tests sogar bei 2-Bit. Das Ziel ist, das LLM zu bitten, ein Flappy-Bird-Spiel zu erstellen, aber einigen spezifischen Anweisungen zu folgen:

Du kannst die dynamischen Quants auch über den Heptagon-Test testen, siehe r/Localllamaarrow-up-right der das Modell darin testet, eine grundlegende Physik-Engine zu erstellen, um Kugeln in einer rotierenden, geschlossenen Heptagon-Form zu simulieren.

Das Ziel ist, das Heptagon rotieren zu lassen, und die Kugeln im Heptagon sollten sich bewegen. Der Prompt ist unten:

Zuletzt aktualisiert

War das hilfreich?