🌙Kimi K2 Thinking: Anleitung zum lokalen Betrieb

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

circle-check

Kimi-K2 und Kimi-K2-Thinking erreichen SOTA-Leistung in Wissen, Schlussfolgerung, Kodierung 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-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, wie unsere Dynamic 1–2 Bit GGUFs bei Coding-Benchmarks hier.

Thinking ausführenInstruct ausführen

⚙️ Empfohlene Anforderungen

circle-info

Du benötigst 247 GB Festplattenspeicher um das 1bit-Quant auszuführen!

Die einzige Voraussetzung ist Festplattenspeicher + RAM + VRAM ≥ 247GB. Das bedeutet, dass du nicht so viel RAM oder VRAM (GPU) haben musst, 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 System-RAM oder auf eine schnelle Festplatte). Erwartet etwa ~1–2 Token/s mit dieser Konfiguration, 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 benötigst du mindestens 247GB vereinheitlichten Speicher oder 247GB kombinierte RAM+VRAM für 5+ Token/s. Wenn du weniger als 247GB kombinierte RAM+VRAM hast, wird die Geschwindigkeit des Modells definitiv darunter leiden.

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

Wir empfehlen die Verwendung unseres UD-Q2_K_XL (360GB) Quants, 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 wichtigen 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:

  • Setze 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 niedrigen Wahrscheinlichkeiten zu unterdrücken.

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

✨ Kimi K2 Thinking in llama.cpp ausführen

circle-check
  1. Hole dir die neueste llama.cpp auf GitHub hierarrow-up-right. Du kannst auch den Build-Anweisungen unten folgen. Ändere -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze -DGGML_CUDA=OFF dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

  1. Wenn du 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 llama.cpp um an einen bestimmten Ort zu speichern.

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

circle-info

Bitte probieren Sie -ot ".ffn_.*_exps.=CPU" um alle MoE-Schichten auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Schichten auf einer GPU unterbringen, was die Generationsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Schichten zu verschieben, 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 lagern Sie alle Schichten über -ot ".ffn_.*_exps.=CPU" aus.

Sie können auch den Regex 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, aber nur ab der 6. Schicht.

  1. Laden Sie das Modell herunter (nach der Installation pip install huggingface_hub hf_transfer ). Wir empfehlen unser 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-GGUFarrow-up-right

circle-info

Wenn du feststellst, dass Downloads bei etwa 90 bis 95% 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 ist es auf die maximale Anzahl der CPU-Threads gesetzt), für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 --n-gpu-layers 99 für GPU-Auslagerung, auf wie viele Schichten. Setze es auf 99 in Kombination mit MoE-CPU-Auslagerung, um die beste Leistung zu erzielen. Versuche es anzupassen, wenn deine GPU keinen Speicher mehr hat. Entferne es auch, wenn du nur CPU-Inferenz nutzt.

🤔Keine Thinking-Tags?

Du wirst vielleicht bemerken, 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 einschließt. 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 Drucken spezieller Tokens erscheint. Wenn du es verbergen möchtest, kannst du <|im_end|> als Stop-String in deinen Einstellungen festlegen.

OLLAMA_MODELS=unsloth ollama run merged_file.gguf

Nachdem du llama.cpp gemäß Kimi K2 Thinkinginstalliert hast, kannst du Folgendes verwenden, um einen OpenAI-kompatiblen Server zu starten:

--port 8001 \ pip install openai :

🔍Tokenizer-Eigenheiten und Fehlerbehebungen

7. November 2025: Wir haben das Kimi-Team informiert und den Standard-System-Prompt von Du bist Kimi, ein von Moonshot AI erstellter KI-Assistent. beim ersten Nutzer-Prompt nicht angezeigt! behoben Tool Calling mit GLM 4.7 https://huggingface.co/moonshotai/Kimi-K2-Thinking/discussions/12arrow-up-right

Großen Dank an das Moonshot Kimi-Team für ihre extrem schnelle Reaktionszeit auf unsere Anfragen und dafür, das Problem so schnell wie möglich zu beheben!

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 behoben – Kimi hat unseren Fix ebenfalls hier 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 das erste GGUF-Split herunter, das 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 Überprüfung stellen wir fest, dass Kimi K2 dem Regex des GPT-4o-Tokenizers nahezu identisch ist, welcher zu finden ist 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 Handhabung von "Han" oder chinesischen Zeichen zu sein, mit der Kimis Tokenizer stärker umgeht. Der PRarrow-up-right von https://github.com/gabriellarsonarrow-up-right behandelt diese Unterschiede gut nach einigen Diskussionen hierarrow-up-right.

Wir stellen auch fest, dass das korrekte EOS-Token nicht [EOS] sein sollte, sondern vielmehr <|im_end|>, was wir ebenfalls in unseren Modellkonversionen 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:

  • Setze 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 ein BOS (Beginning-of-Sentence-Token). Die Rollen System, Nutzer und Assistent sind alle eingerahmt mit <|im_middle|> was interessant ist, und jede erhält ihr jeweiliges Token <|im_system|>, <|im_user|>, <|im_assistant|>.

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

💾 Modell-Uploads

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

MoE Bits
Typ + Link
Platzbedarf auf Datenträger
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

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. Hole dir die neueste llama.cpp auf GitHub hierarrow-up-right. Du kannst auch den Build-Anweisungen unten folgen. Ändere -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn du keine GPU hast oder nur CPU-Inferenz möchtest.

  1. Wenn du 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 llama.cpp um an einen 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 -ot ".ffn_.*_exps.=CPU" um alle MoE-Schichten auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Schichten auf einer GPU unterbringen, was die Generationsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Schichten zu verschieben, 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 lagern Sie alle Schichten über -ot ".ffn_.*_exps.=CPU" aus.

Sie können auch den Regex 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, aber nur ab der 6. Schicht.

  1. Laden Sie das Modell herunter (nach der Installation pip install huggingface_hub hf_transfer ). Sie können wählen UD-TQ1_0(dynamisches 1,8bit Quant) oder andere quantisierte Versionen wie Q2_K_XL Q4_K_XL wir empfehlen die Verwendung unseres 2-Bit Dynamic Quants empfehlen die Verwendung unseres 2,7-Bit Dynamic Quant UD-Q2_K_XL. Mehr Versionen unter: huggingface.co/unsloth/Kimi-K2-Instruct-GGUFarrow-up-right

circle-info

Wenn du feststellst, dass Downloads bei etwa 90 bis 95% 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 ist es auf die maximale Anzahl der CPU-Threads gesetzt), für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 --n-gpu-layers 99 für GPU-Auslagerung, auf wie viele Schichten. Setze es auf 99 in Kombination mit MoE-CPU-Auslagerung, um die beste Leistung zu erzielen. Versuche es anzupassen, wenn deine GPU keinen Speicher mehr hat. Entferne es auch, wenn du nur CPU-Inferenz nutzt.

🐦 Flappy Bird + andere Tests

Wir haben den Flappy Bird-Test eingeführt, als unsere 1,58bit Quants für DeepSeek R1 bereitgestellt wurden. Wir fanden Kimi K2 eines der wenigen Modelle, die alle unsere Aufgaben im One-Shot gelöst haben, einschließlich dieses hier, Heptagon und andere Tests sogar bei 2-Bit. Das Ziel ist es, das LLM zu bitten, ein Flappy Bird-Spiel zu erstellen, aber einige spezifische Anweisungen zu befolgen:

Du kannst die dynamischen Quants auch über den Heptagon-Test testen, laut r/Localllamaarrow-up-right welches das Modell darin testet, eine grundlegende Physik-Engine zu erstellen, um Kugeln rotierend in einer sich bewegenden, eingeschlossenen Heptagon-Form zu simulieren.

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

Zuletzt aktualisiert

War das hilfreich?