🌙Kimi K2 Thinking: ローカルで実行するガイド
Kimi-K2-Thinking と Kimi-K2 を自分のローカルデバイスで実行するためのガイド!
Kimi-K2-Thinking がリリースされました。私たちの Thinking ガイド またはアクセス ここで GGUF を.
また、私たちは Kimi チームと協力して Kimi-K2-Thinking のためのシステムプロンプト修正 を行いました。
Kimi-K2 と Kimi-K2-Thinking は知識、推論、コーディング、エージェントタスクで SOTA の性能を達成します。Moonshot AI のフル 1T パラメータモデルは 1.09TB のディスク容量を必要としますが、量子化された Unsloth Dynamic 1.8-bit バージョンではこれがわずか 230GB にまで減少します(サイズ -80%): Kimi-K2-GGUF
また、今すぐ私たちの Kimi-K2-Thinking GGUF を.
すべてのアップロードはUnslothを使用しています Dynamic 2.0 SOTA 用に Aider Polyglot および 5-shot MMLU の性能のために実行できます。Dynamic 1–2 ビット GGUF が ここでコーディングベンチマークでどのように動作するかを確認してください.
⚙️ 推奨要件
必要なのは 1bit クオンタイズを実行するために 247GB のディスク空き容量 です!
唯一の要件は ディスク空き容量 + RAM + VRAM ≥ 247GBです。つまり、モデルを実行するためにそれだけの RAM や VRAM(GPU)を持っている必要はありませんが、動作はかなり遅くなります。
1.8-bit(UD-TQ1_0)クオンタイズは 1x 24GB GPU に収まります(すべての MoE レイヤーがシステム RAM または高速ディスクにオフロードされる場合)。この構成で 256GB の追加 RAM があればおおよそ ~1–2 トークン/秒 を期待できます。フルの Kimi K2 Q8 クオンタイズはサイズが 1.09TB で、少なくとも 8 台の H200 GPU が必要です。
最適なパフォーマンスのためには少なくとも 247GB の統合メモリ、または 247GB の合計 RAM+VRAM が 5+ トークン/秒 のために必要です。合計 RAM+VRAM が 247GB 未満の場合、モデルの速度は確実に低下します。
もし RAM+VRAM が 247GB ない場合でも心配いりません! llama.cpp には本質的に ディスクオフロード機能があるため、mmap を通じて動作はしますが遅くなります — 例えば以前は 5〜10 トークン/秒 得られていたものが今は 1 トークン未満になることがあります。
私たちは UD-Q2_K_XL(360GB) クオンタイズをサイズと精度のバランスとして使用することを推奨します!
最高のパフォーマンスを得るには、VRAM + RAM の合計がダウンロードするクオンタイズのサイズと等しいことが望ましいです。そうでない場合でもディスクオフロードで動作しますが、より遅くなります!
💭Kimi-K2-Thinking ガイド
Kimi-K2-Thinking は一般的に Instruct モデルと同じ指示に従うべきですが、設定やチャットテンプレートなどいくつかの重要な違いがあります。
モデルをフルプレシジョンで実行するには、4-bit または 5-bit の Dynamic GGUF(例: UD_Q4_K_XL)を使用すれば十分です。モデルは元々 INT4 形式でリリースされました。
小さな量子化差異に備えてより高ビットの量子化を選ぶこともできますが、ほとんどの場合それは不要です。
🌙 公式推奨設定:
によれば Moonshot AI、これらが Kimi-K2-Thinking 推論の推奨設定です:
を設定してください temperature 1.0 反復や非一貫性を減らすため。
推奨コンテキスト長 = 98,304(最大 256K)
注:ツールが異なれば設定も異なる場合があります
設定として min_p を 0.01 に設定することを推奨します 低確率の発生しそうにないトークンの出現を抑制するためです。
例えばユーザーメッセージが「1+1 は何ですか?」の場合、次のようになります:
✨ llama.cpp で Kimi K2 Thinking を実行
今すぐ最新のアップデートを使用して llama.cpp モデルを実行できます:
最新の
llama.cppを GitHubで入手してください。以下のビルド手順にも従うことができます。を変更してください-DGGML_CUDA=ONに-DGGML_CUDA=OFFGPUを持っていない場合やCPUで推論したい場合は Apple Mac / Metalデバイスの場合、次を設定してください-DGGML_CUDA=OFFその後通常通り続行してください — Metalサポートはデフォルトで有効です。
もし直接
llama.cppモデルを直接ロードするには以下を実行できます:(:UD-TQ1_0)は量子化タイプです。Hugging Face からダウンロードすることもできます(項目 3 を参照)。これは以下と類似していますollama runに類似しています。使用してくださいexport LLAMA_CACHE="folder"llama.cpp特定の場所に保存するために。
上記は約 8GB の GPU メモリを使用します。もし合計で約 360GB の GPU メモリがある場合は、最大速度を得るために
-ot ".ffn_.*_exps.=CPU"を削除してください!
ぜひ試してみてください -ot ".ffn_.*_exps.=CPU" -ot ".ffn_.*_exps.=CPU"
もし少し多くのGPUメモリがあるなら、次を試してください -ot ".ffn_(up|down)_exps.=CPU" これは up と down の投影 MoE 層をオフロードします。
試してみてください -ot ".ffn_(up)_exps.=CPU" さらに多くのGPUメモリがある場合。これは up 投影の MoE 層のみをオフロードします。
もしさらに多くのGPUメモリがある場合。これはup投影のMoEレイヤーのみをオフロードします。 -ot ".ffn_.*_exps.=CPU" そして最後にすべてのレイヤーを次でオフロードします
正規表現をカスタマイズすることもできます。例えば -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" は gate、up、down の MoE 層をオフロードしますが、6層目以降に限定します。
モデルをダウンロードするには(をインストールした後)
モデルをダウンロードするには()。サイズと精度のバランスをとるために 2bit 動的量子化 UD-Q2_K_XL の使用を推奨します。すべてのバージョンは: huggingface.co/unsloth/Kimi-K2-Thinking-GGUF
ダウンロードが 90〜95% 付近で止まる場合は、こちらを参照してください https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95
任意のプロンプトを実行してください。
編集
--threads -1は CPU スレッド数の指定(デフォルトでは最大 CPU スレッドに設定されています)はCPUスレッドの数、--ctx-size 16384--n-gpu-layers 99は GPU オフロードするレイヤー数に関するものです。最良のパフォーマンスを得るには MoE の CPU オフロードと組み合わせて 99 に設定してください。GPU がメモリ不足になる場合は調整してみてください。また CPU のみで推論する場合はこれを削除してください。
🤔Thinking タグがない?
モデルを実行すると 思考(thinking) タグが表示されないことに気付くかもしれません。これは正常で意図された挙動です。
あなたの llama.cpp スクリプトでは、コマンドの一番最後に --special フラグを含めることを確認してください。そうすれば、期待通りに <think> トークンが表示されます。
また、各回答が <|im_end|>で終わるのを見るかもしれません。これは特殊トークンを出力する際の通常の挙動です。これを非表示にしたい場合は、設定で <|im_end|> を停止文字列(stop string)として設定できます。 <|im_end|> llama.cpp をインストールした後(こちらに従って)
OLLAMA_MODELS=unsloth ollama run merged_file.gguf
、OpenAI 互換のサーバーを起動するには以下を使用できます: Kimi K2 Thinking--alias "unsloth/Kimi-K2-Thinking" \
--port 8001 \ その後、OpenAIのPythonライブラリを使用します( :
🔍2025年11月7日:私たちは Kimi チームに通知し、デフォルトのシステムプロンプトが
最初のユーザープロンプトに表示されない問題を修正しました! You are Kimi, an AI assistant created by Moonshot AI. 最初のユーザープロンプトに表示されないことに関して! print(completion.choices[0].message.content) https://huggingface.co/moonshotai/Kimi-K2-Thinking/discussions/12
Moonshot Kimi チームには、我々の問い合わせに対する非常に迅速な対応と問題の早急な修正に大変感謝しています!
2025年7月16日:Kimi K2 は複数のツール呼び出しを可能にするためにトークナイザを更新しました として(に従って) https://x.com/Kimi_Moonshot/status/1945050874067476962
2025年7月18日:私たちはシステムプロンプトを修正しました — Kimi はこの修正についても以下でツイートしました: https://x.com/Kimi_Moonshot/status/1946130043446690030。修正はここでも説明されています: https://huggingface.co/moonshotai/Kimi-K2-Instruct/discussions/28
古いチェックポイントをダウンロードしている場合でも心配無用です — 単に変更された最初の GGUF スプリットをダウンロードしてください。あるいは新しいファイルをダウンロードしたくない場合は以下を実行してください:
Kimi K2 のトークナイザは触ってみると興味深かったです — 動作は主に GPT-4o のトークナイザに似ています!まず私たちは tokenization_kimi.py ファイルで Kimi K2 が使用する次の正規表現(regex)を確認しました:
注意深く検査した結果、Kimi K2 はほぼ GPT-4o のトークナイザの正規表現と同一であり、これは以下で見つけることができます: llama.cpp のソースコード.
両者とも数値を 1〜3 桁のグループ(9、99、999)にトークナイズし、類似したパターンを使用します。唯一の違いは「Han」(漢字)や中国語文字の扱いで、Kimi のトークナイザはこれをより細かく扱っているように見えます。 PR 作成者: https://github.com/gabriellarson は、いくつかの ここでの議論の後に.
これらの差異をうまく処理しています。
また正しい EOS トークンは [EOS] ではなく <|im_end|> であるべきだと判明し、これは私たちのモデル変換でも修正しました。
🌝Kimi-K2-Instruct ガイド
🌙 公式推奨設定:
によれば Moonshot AIKimi K2 Instruct モデル(Kimi K2 0905 を含む、9月5日のアップデート)の実行に関するステップバイステップガイドです。
を設定してください 、これらが Kimi K2 推論の推奨設定です: 反復や非一貫性を減らすため。
temperature 0.6
You are a helpful assistant
設定として min_p を 0.01 に設定することを推奨します 低確率の発生しそうにないトークンの出現を抑制するためです。
🔢 (任意)Moonshot はシステムプロンプトとして以下も提案しています:
チャットテンプレートとプロンプト形式 Kimi Chat は BOS(文頭トークン)を使用します。system、user、assistant の役割はすべて <|im_middle|> で囲まれており興味深く、それぞれ固有のトークンを持ちます.
<|im_system|>system<|im_middle|>You are a helpful assistant<|im_end|><|im_user|>user<|im_middle|>What is 1+1?<|im_end|><|im_assistant|>assistant<|im_middle|>2<|im_end|>
💾 モデルのアップロード
私たちの全てのアップロード <|im_assistant|>assistant<|im_middle|>2<|im_end|>
1.66ビット
UD-TQ1_0
1.92/1.56ビット
732GB また、私たちは.
BF16 フォーマット
最新の
llama.cppを GitHubで入手してください。以下のビルド手順にも従うことができます。を変更してください-DGGML_CUDA=ONに-DGGML_CUDA=OFFGPUを持っていない場合やCPUで推論したい場合は
もし直接
llama.cppのバージョンもアップロードしましたollama runに類似しています。使用してくださいexport LLAMA_CACHE="folder"llama.cpp特定の場所に保存するために。 ✨ llama.cpp で Instruct を実行
ぜひ試してみてください -ot ".ffn_.*_exps.=CPU" -ot ".ffn_.*_exps.=CPU"
もし少し多くのGPUメモリがあるなら、次を試してください -ot ".ffn_(up|down)_exps.=CPU" これは up と down の投影 MoE 層をオフロードします。
試してみてください -ot ".ffn_(up)_exps.=CPU" さらに多くのGPUメモリがある場合。これは up 投影の MoE 層のみをオフロードします。
もしさらに多くのGPUメモリがある場合。これはup投影のMoEレイヤーのみをオフロードします。 -ot ".ffn_.*_exps.=CPU" そして最後にすべてのレイヤーを次でオフロードします
正規表現をカスタマイズすることもできます。例えば -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" は gate、up、down の MoE 層をオフロードしますが、6層目以降に限定します。
モデルをダウンロードするには(をインストールした後)
モデルをダウンロードするには(を選択できます。- imatrix ベースでも動的でもないものを含め、会話、コーディング、推論タスクに特化して最適化された私たちのキャリブレーションデータセットを使用します。export LLAMA_CACHE="unsloth/Kimi-K2-Instruct-GGUF"Q2_K_XLQ4_K_XL -hf unsloth/Kimi-K2-Instruct-GGUF:TQ1_0 \サイズと精度のバランスを取るために私たちの2.7ビット動的量子化をUD-Q2_K_XLなどがあります。さらに多くのバージョンは: (動的 1.8bit クオンタイズ)または他の量子化バージョンのような
ダウンロードが 90〜95% 付近で止まる場合は、こちらを参照してください https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95
任意のプロンプトを実行してください。
編集
--threads -1は CPU スレッド数の指定(デフォルトでは最大 CPU スレッドに設定されています)はCPUスレッドの数、--ctx-size 16384--n-gpu-layers 99は GPU オフロードするレイヤー数に関するものです。最良のパフォーマンスを得るには MoE の CPU オフロードと組み合わせて 99 に設定してください。GPU がメモリ不足になる場合は調整してみてください。また CPU のみで推論する場合はこれを削除してください。
🐦 allow_patterns = ["*UD-TQ1_0*"], # Dynamic 1bit (281GB) Dynamic 2bit (381GB) の場合は "*UD-Q2_K_XL*" を使用してください
--model unsloth/Kimi-K2-Instruct-GGUF/UD-TQ1_0/Kimi-K2-Instruct-UD-TQ1_0-00001-of-00005.gguf \ Flappy Bird とその他のテスト 私たちは DeepSeek R1 の 1.58bit クオンタイズを提供した際に Flappy Bird テストを導入しました。我々のタスクのすべてをワンショットでこなした数少ないモデルの一つが Kimi K2 であり、このタスクでも同様でした、
Python で Flappy Bird ゲームを作成してください。次の項目を必ず含めてください: 最終的なゲームは Python のマークダウンセクション内に含めてください。最終マークダウンセクションの前にコードのエラーをチェックして修正してください。 また、動的クオンタイズを Heptagon テストで試すこともできます(詳細は)

r/Localllama
最終更新
役に立ちましたか?

