🌙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ショットMMLU性能のために実行できます。私たちのDynamic 1–2ビットGGUFがコーディングベンチマークでどのように動作するかはここでご覧ください コーディングベンチマークはこちら.
⚙️ 推奨要件
必要です 247GBのディスクスペース 1bit量子化を実行するには!
唯一の要件は ディスクスペース + RAM + VRAM ≥ 247GBです。つまり、モデルを実行するためにそれほど多くのRAMやVRAM(GPU)が必要というわけではありませんが、その場合は動作がかなり遅くなります。
1.8ビット(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未満の場合、モデルの速度は確実に低下します。
もし247GBのRAM+VRAMを持っていなくても心配はいりません! llama.cppは本質的に ディスクオフロードを備えているので、mmapを通じて動作はしますが遅くなります—例えば以前は5〜10トークン/秒得られていたものが、今では1トークン未満になることがあります。
私たちは次の量子化を使うことを推奨します、 UD-Q2_K_XL(360GB) サイズと精度のバランスを取る量子化です!
最高のパフォーマンスを得るには、ダウンロードする量子化のサイズとVRAM+RAMの合計を同じにしてください。そうでない場合でもディスクオフロードで動作しますが、遅くなります!
💭Kimi-K2-Thinkingガイド
Kimi-K2-Thinkingは一般的にInstructモデルと同じ指示に従うべきですが、設定やチャットテンプレートなどいくつかの重要な違いがあります。
モデルをフル精度で実行するには、元々INT4形式でリリースされているため、4ビットまたは5ビットのDynamic GGUF(例: UD_Q4_K_XL)を使用するだけで十分です。
小さな量子化の差異に備えてより高ビットの量子化を選ぶこともできますが、ほとんどの場合これは不要です。
🌙 公式推奨設定:
によれば、 Moonshot AIこれらがKimi-K2-Thinking推論の推奨設定です:
を設定してください temperature 1.0 反復や一貫性の欠如を減らすため。
推奨コンテキスト長 = 98,304(最大256Kまで)
注意:異なるツールを使用すると異なる設定が必要になる場合があります
私たちは次を設定することを推奨します、 min_pを0.01に 低確率の発生しにくいトークンの出現を抑えるために。
例えばユーザーメッセージが「What is 1+1?」の場合、私たちは次のようになります:
✨ llama.cppでKimi K2 Thinkingを実行
最新のアップデートを使って今すぐ実行できます、 llama.cpp モデルを実行するには:
最新の
llama.cppを GitHub で入手できます。下のビルド手順に従うこともできます。変更してください-DGGML_CUDA=ONから-DGGML_CUDA=OFFGPU がない場合や CPU 推論のみを行いたい場合は。
直接モデルを読み込むために
llama.cppモデルを直接読み込むには、以下を実行できます:(:UD-TQ1_0)は量子化タイプです。Hugging Face経由(ポイント3)でもダウンロードできます。これは次と似ています、ollama runに類似しています。使用してくださいexport LLAMA_CACHE="folder"で強制的にllama.cpp特定の場所に保存するために。
上記はGPUメモリを約8GB使用します。もし合計で360GBほどのGPUメモリがあるなら、最大速度を得るために
-ot ".ffn_.*_exps.=CPU"を削除してください!
ぜひお試しください -ot ".ffn_.*_exps.=CPU" ですべてのMoE層をCPUにオフロードします!これにより、非MoE層を1つのGPUに収められるようになり、生成速度が向上します。GPU容量が大きい場合は正規表現をカスタマイズしてより多くの層を適合させることができます。
もしもう少しGPUメモリがあるなら、次を試してください -ot ".ffn_(up|down)_exps.=CPU" これはupおよびdownの投影MoE層をオフロードします。
試してみてください -ot ".ffn_(up)_exps.=CPU" もしさらに多くのGPUメモリがある場合。これはup投影MoE層のみをオフロードします。
そして最後にすべての層を次でオフロードします -ot ".ffn_.*_exps.=CPU" これは最小のVRAMを使用します。
正規表現をカスタマイズすることもできます。例えば -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" は6層目以降のgate、up、downのMoE層をオフロードすることを意味します。
(以下をインストールした後に)モデルをダウンロードします
pip install huggingface_hub hf_transfer)。サイズと精度のバランスを取るために私たちの2ビットダイナミック量子化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 -1CPUスレッド数のため(デフォルトでは最大CPUスレッドに設定されています)、--ctx-size 16384でコンテキスト長を、--n-gpu-layers 99GPUオフロードのために何層をオフロードするか。これを99に設定し、MoEのCPUオフロードと組み合わせると最高のパフォーマンスが得られます。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。
🤔Thinkingタグがない?
モデルを実行するときに thinking タグが表示されないことに気づくかもしれません。これは正常で意図された動作です。
あなたの llama.cpp スクリプトでは、コマンドの一番最後に必ず --special フラグを含めてください。そうすれば期待どおりに <think> トークンが表示されます。
また、すべての回答がで終わるのを見るかもしれません、 <|im_end|>これは、が特殊トークンを表示する際に現れるため正常です。もしこれを非表示にしたければ、設定で <|im_end|> を停止文字列として設定できます。 <|im_end|> 設定で停止文字列として設定できます。
✨ llama-serverとOpenAIのcompletionライブラリでデプロイ
llama.cppをに従ってインストールした後、次を使ってOpenAI互換サーバーを起動できます: Kimi K2 Thinking以下のようにしてOpenAI互換サーバーを起動できます:
その後、OpenAIのPythonライブラリを使用します(インストール後) pip install openai :
🔍トークナイザの癖とバグ修正
2025年11月7日:私たちはKimiチームに通知し、デフォルトのシステムプロンプトが You are Kimi, an AI assistant created by Moonshot AI. 最初のユーザープロンプトに表示されない問題を修正しました! 詳細については 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ガイド
Kimi K2 Instructモデル(Kimi K2 0905を含む、9月5日のアップデート)を実行するためのステップバイステップガイド。
🌙 公式推奨設定:
によれば、 Moonshot AI、これらがKimi K2推論の推奨設定です:
を設定してください temperature 0.6 反復や一貫性の欠如を減らすため。
元のデフォルトのシステムプロンプトは:
(任意)Moonshotはシステムプロンプトに以下も提案します:
私たちは次を設定することを推奨します、 min_pを0.01に 低確率の発生しにくいトークンの出現を抑えるために。
🔢 チャットテンプレートとプロンプト形式
Kimi ChatはBOS(文頭トークン)を使用します。system、user、assistantの役割はすべてで囲まれ、 <|im_middle|> これは興味深く、それぞれが固有のトークンを持ちます <|im_system|>, <|im_user|>, <|im_assistant|>.
会話の境界を分けるには(各改行を削除する必要があります)、次のようになります:
💾 モデルのアップロード
私たちのすべてのアップロード - imatrixベースでもダイナミックでもないものを含め、会話、コーディング、推論タスクに特化して最適化されたキャリブレーションデータセットを利用してください。
また、 BF16フォーマット.
のバージョンもアップロードしました
最新の
llama.cppを GitHub で入手できます。下のビルド手順に従うこともできます。変更してください-DGGML_CUDA=ONから-DGGML_CUDA=OFFGPU がない場合や CPU 推論のみを行いたい場合は。
直接モデルを読み込むために
llama.cpp✨ llama.cppでInstructを実行ollama runに類似しています。使用してくださいexport LLAMA_CACHE="folder"で強制的にllama.cpp特定の場所に保存するために。 モデルを直接読み込むには、以下を実行できます:(:UD-IQ1_S)は量子化タイプです。Hugging Face経由(ポイント3)でもダウンロードできます。これは次と似ています、
ぜひお試しください -ot ".ffn_.*_exps.=CPU" ですべてのMoE層をCPUにオフロードします!これにより、非MoE層を1つのGPUに収められるようになり、生成速度が向上します。GPU容量が大きい場合は正規表現をカスタマイズしてより多くの層を適合させることができます。
もしもう少しGPUメモリがあるなら、次を試してください -ot ".ffn_(up|down)_exps.=CPU" これはupおよびdownの投影MoE層をオフロードします。
試してみてください -ot ".ffn_(up)_exps.=CPU" もしさらに多くのGPUメモリがある場合。これはup投影MoE層のみをオフロードします。
そして最後にすべての層を次でオフロードします -ot ".ffn_.*_exps.=CPU" これは最小のVRAMを使用します。
正規表現をカスタマイズすることもできます。例えば -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" は6層目以降のgate、up、downのMoE層をオフロードすることを意味します。
(以下をインストールした後に)モデルをダウンロードします
pip install huggingface_hub hf_transfer)。量子化バージョンとして選べますUD-TQ1_0-hf unsloth/Kimi-K2-Instruct-GGUF:TQ1_0 \Q2_K_XL)を選択できます。私たちは (ダイナミック1.8ビット量子化)または他の量子化バージョンのようなUD-Q2_K_XLはサイズと精度のバランスをとるためです。その他のバージョンは: サイズと精度のバランスを取るために私たちの2ビットダイナミック量子化を推奨します
ダウンロードが90〜95%付近で停止する場合は、次を参照してください、 https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95
任意のプロンプトを実行してください。
編集
--threads -1CPUスレッド数のため(デフォルトでは最大CPUスレッドに設定されています)、--ctx-size 16384でコンテキスト長を、--n-gpu-layers 99GPUオフロードのために何層をオフロードするか。これを99に設定し、MoEのCPUオフロードと組み合わせると最高のパフォーマンスが得られます。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。
🐦 --model unsloth/Kimi-K2-Instruct-GGUF/UD-TQ1_0/Kimi-K2-Instruct-UD-TQ1_0-00001-of-00005.gguf \
Flappy Bird + その他のテスト 私たちはDeepSeek R1の1.58ビット量子化が提供されたときにFlappy Birdテストを導入しました。Kimi K2はこのタスクを含む私たちのすべてのタスクをワンショットでこなした数少ないモデルの一つであることがわかりました、 Heptagon
最終的なゲームはMarkdownのPythonセクション内に入れてください。コードのエラーを確認し、本番のマークダウンセクションの前に修正してください。 また、以下に従ってダイナミック量子化をHeptagonテストで試すこともできます、 r/Localllama

このテストは回転する閉じた七角形内でボールが回転する基本的な物理エンジンを作成する能力をモデルに問います。
最終更新
役に立ちましたか?

