🌙Kimi K2 Thinking: ローカルで実行するガイド

Kimi-K2-Thinking と Kimi-K2 を自分のローカルデバイスで実行するためのガイド!

circle-check

Kimi-K2 と Kimi-K2-Thinking は知識、推論、コーディング、エージェントタスクで SOTA の性能を達成します。Moonshot AI のフル 1T パラメータモデルは 1.09TB のディスク容量を必要としますが、量子化された Unsloth Dynamic 1.8-bit バージョンではこれがわずか 230GB にまで減少します(サイズ -80%): Kimi-K2-GGUFarrow-up-right

また、今すぐ私たちの Kimi-K2-Thinking GGUF をarrow-up-right.

すべてのアップロードはUnslothを使用しています Dynamic 2.0 SOTA 用に Aider Polyglot および 5-shot MMLU の性能のために実行できます。Dynamic 1–2 ビット GGUF が ここでコーディングベンチマークでどのように動作するかを確認してください.

Thinking を実行Instruct を実行

⚙️ 推奨要件

circle-info

必要なのは 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) クオンタイズをサイズと精度のバランスとして使用することを推奨します!

circle-check

💭Kimi-K2-Thinking ガイド

Kimi-K2-Thinking は一般的に Instruct モデルと同じ指示に従うべきですが、設定やチャットテンプレートなどいくつかの重要な違いがあります。

circle-check

🌙 公式推奨設定:

によれば Moonshot AIarrow-up-right、これらが Kimi-K2-Thinking 推論の推奨設定です:

  • を設定してください temperature 1.0 反復や非一貫性を減らすため。

  • 推奨コンテキスト長 = 98,304(最大 256K)

  • 注:ツールが異なれば設定も異なる場合があります

circle-info

設定として min_p を 0.01 に設定することを推奨します 低確率の発生しそうにないトークンの出現を抑制するためです。

例えばユーザーメッセージが「1+1 は何ですか?」の場合、次のようになります:

✨ llama.cpp で Kimi K2 Thinking を実行

circle-check
  1. 最新の llama.cppGitHubで入手してくださいarrow-up-right。以下のビルド手順にも従うことができます。を変更してください -DGGML_CUDA=ON-DGGML_CUDA=OFF GPUを持っていない場合やCPUで推論したい場合は Apple Mac / Metalデバイスの場合、次を設定してください -DGGML_CUDA=OFF その後通常通り続行してください — Metalサポートはデフォルトで有効です。

  1. もし直接 llama.cpp モデルを直接ロードするには以下を実行できます:(:UD-TQ1_0)は量子化タイプです。Hugging Face からダウンロードすることもできます(項目 3 を参照)。これは以下と類似しています ollama run に類似しています。 使用してください export LLAMA_CACHE="folder" llama.cpp 特定の場所に保存するために。

  1. 上記は約 8GB の GPU メモリを使用します。もし合計で約 360GB の GPU メモリがある場合は、最大速度を得るために -ot ".ffn_.*_exps.=CPU" を削除してください!

circle-info

ぜひ試してみてください -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層目以降に限定します。

  1. モデルをダウンロードするには(をインストールした後) モデルをダウンロードするには( )。サイズと精度のバランスをとるために 2bit 動的量子化 UD-Q2_K_XL の使用を推奨します。すべてのバージョンは: huggingface.co/unsloth/Kimi-K2-Thinking-GGUFarrow-up-right

circle-info

ダウンロードが 90〜95% 付近で止まる場合は、こちらを参照してください https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95arrow-up-right

  1. 任意のプロンプトを実行してください。

  2. 編集 --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/12arrow-up-right

Moonshot Kimi チームには、我々の問い合わせに対する非常に迅速な対応と問題の早急な修正に大変感謝しています!

2025年7月16日:Kimi K2 は複数のツール呼び出しを可能にするためにトークナイザを更新しました として(に従って) https://x.com/Kimi_Moonshot/status/1945050874067476962arrow-up-right

2025年7月18日:私たちはシステムプロンプトを修正しました — Kimi はこの修正についても以下でツイートしました: https://x.com/Kimi_Moonshot/status/1946130043446690030arrow-up-right。修正はここでも説明されています: https://huggingface.co/moonshotai/Kimi-K2-Instruct/discussions/28arrow-up-right

古いチェックポイントをダウンロードしている場合でも心配無用です — 単に変更された最初の GGUF スプリットをダウンロードしてください。あるいは新しいファイルをダウンロードしたくない場合は以下を実行してください:

Kimi K2 のトークナイザは触ってみると興味深かったです — 動作は主に GPT-4o のトークナイザに似ています!まず私たちは tokenization_kimi.pyarrow-up-right ファイルで Kimi K2 が使用する次の正規表現(regex)を確認しました:

注意深く検査した結果、Kimi K2 はほぼ GPT-4o のトークナイザの正規表現と同一であり、これは以下で見つけることができます: llama.cpp のソースコードarrow-up-right.

両者とも数値を 1〜3 桁のグループ(9、99、999)にトークナイズし、類似したパターンを使用します。唯一の違いは「Han」(漢字)や中国語文字の扱いで、Kimi のトークナイザはこれをより細かく扱っているように見えます。 PRarrow-up-right 作成者: https://github.com/gabriellarsonarrow-up-right は、いくつかの ここでの議論の後にarrow-up-right.

これらの差異をうまく処理しています。

また正しい EOS トークンは [EOS] ではなく <|im_end|> であるべきだと判明し、これは私たちのモデル変換でも修正しました。

🌝Kimi-K2-Instruct ガイド

🌙 公式推奨設定:

によれば Moonshot AIarrow-up-rightKimi K2 Instruct モデル(Kimi K2 0905 を含む、9月5日のアップデート)の実行に関するステップバイステップガイドです。

  • を設定してください 、これらが Kimi K2 推論の推奨設定です: 反復や非一貫性を減らすため。

  • temperature 0.6

  • You are a helpful assistant

circle-check

🔢 (任意)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|>

MoE ビット数
タイプ + リンク
ディスクサイズ
詳細

732GB また、私たちはarrow-up-right.

BF16 フォーマット

  1. 最新の llama.cppGitHubで入手してくださいarrow-up-right。以下のビルド手順にも従うことができます。を変更してください -DGGML_CUDA=ON-DGGML_CUDA=OFF GPUを持っていない場合やCPUで推論したい場合は

  1. もし直接 llama.cpp のバージョンもアップロードしました ollama run に類似しています。 使用してください export LLAMA_CACHE="folder" llama.cpp 特定の場所に保存するために。 ✨ llama.cpp で Instruct を実行

circle-info

ぜひ試してみてください -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層目以降に限定します。

  1. モデルをダウンロードするには(をインストールした後) モデルをダウンロードするには( を選択できます。 - imatrix ベースでも動的でもないものを含め、会話、コーディング、推論タスクに特化して最適化された私たちのキャリブレーションデータセットを使用します。export LLAMA_CACHE="unsloth/Kimi-K2-Instruct-GGUF" Q2_K_XL Q4_K_XL -hf unsloth/Kimi-K2-Instruct-GGUF:TQ1_0 \ サイズと精度のバランスを取るために私たちの2.7ビット動的量子化を UD-Q2_K_XLなどがあります。さらに多くのバージョンは: (動的 1.8bit クオンタイズ)または他の量子化バージョンのようなarrow-up-right

circle-info

ダウンロードが 90〜95% 付近で止まる場合は、こちらを参照してください https://docs.unsloth.ai/basics/troubleshooting-and-faqs#downloading-gets-stuck-at-90-to-95arrow-up-right

  1. 任意のプロンプトを実行してください。

  2. 編集 --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 のマークダウンセクション内に含めてください。最終マークダウンセクションの前にコードのエラーをチェックして修正してください。arrow-up-right また、動的クオンタイズを Heptagon テストで試すこともできます(詳細は)

r/Localllama

最終更新

役に立ちましたか?