For the complete documentation index, see llms.txt. This page is also available as Markdown.

GLM-4.7: ローカル実行ガイド

Z.ai の GLM-4.7 モデルをお使いのローカル端末で実行する方法のガイドです!

GLM-4.7 は Z.ai の最新の思考モデルで、コーディング、エージェント、チャットの性能が GLM-4.6より高くなっています。SWE-bench(73.8%、+5.8)、SWE-bench Multilingual(66.7%、+12.9)、Terminal Bench 2.0(41.0%、+16.5)で SOTA 性能を達成しています。

355B パラメータのフルモデルには 400GB のディスク容量が必要ですが、Unsloth Dynamic 2-bit GGUF を使うとサイズは 134GB (-75%). GLM-4.7-GGUF

すべてのアップロードは Unsloth Dynamic 2.0 を使用しており、SOTA の 5-shot MMLU と Aider の性能を実現します。つまり、量子化された GLM LLM を最小限の精度低下で実行およびファインチューニングできます。

⚙️ 使用ガイド

2-bit 動的量子化の UD-Q2_K_XL は 135GB のディスク容量を使用します。これは 1x24GB カードと 128GB の RAM で MoE オフローディングを使う構成でうまく動作します。1-bit の UD-TQ1 GGUF も Ollama でネイティブに動作します!

使用する必要があります --jinja llama.cpp の量子化版ではこれを使ってください。これは当社の 固定チャットテンプレート を使用し、正しいテンプレートを有効にします。使用しないと、誤った結果になる可能性があります --jinja

4-bit の量子化版は 1x 40GB GPU に収まります(MoE レイヤーは RAM にオフロード)。さらに 165GB の RAM もあれば、この構成で約 5 tokens/s が期待できます。この 4-bit を実行するには、少なくとも 205GB の RAM が推奨されます。最適な性能を得るには、少なくとも 205GB のユニファイドメモリ、または 5+ tokens/s のために 205GB の合計 RAM+VRAM が必要です。生成速度を上げ、より長いコンテキストに収める方法を学ぶには、 こちらをお読みください.

推奨設定

用途ごとに異なる設定を使ってください。デフォルト用途と複数ターンのエージェント用途に推奨される設定:

デフォルト設定(ほとんどのタスク)
Terminal Bench、SWE Bench Verified

temperature = 1.0

temperature = 0.7

top_p = 0.95

top_p = 1.0

131072 新規トークンの最大数

16384 新規トークンの最大数

  • 使用 --jinja llama.cpp 版ではこれを使ってください。私たちは いくつかのチャットテンプレートの問題も修正しました!

  • 最大コンテキストウィンドウ: 131,072

GLM-4.7 チュートリアルを実行:

GLM-4.7 を実行するためのステップバイステップガイドを Ollamallama.cpp.

✨ llama.cpp で実行

1

最新の llama.cppGitHub こちらで入手してください。以下のビルド手順に従うこともできます。GPU がない場合、または CPU 推論だけを使いたい場合は、 -DGGML_CUDA=ON-DGGML_CUDA=OFF に変更してください。 Apple Mac / Metal デバイスでは-DGGML_CUDA=OFF に設定してから通常どおり続行してください。Metal サポートはデフォルトで有効です。

2

直接 llama.cpp を使ってモデルを読み込みたい場合は、以下を実行できます:(:Q2_K_XL)は量子化タイプです。Hugging Face 経由でダウンロードすることもできます(3番目)。これは ollama run に似ています。使用 export LLAMA_CACHE="folder" して llama.cpp 特定の場所に保存するよう強制できます。モデルの最大コンテキスト長は 128K のみであることを覚えておいてください。

使用 --fit on は、GPU と CPU を最大限活用するために 2025年12月15日に導入されました。

オプションとして、試してみてください -ot ".ffn_.*_exps.=CPU" すべての MoE レイヤーを CPU にオフロードします!これにより、非 MoE レイヤーを 1 枚の GPU に収められるようになり、生成速度が向上します。GPU 容量がさらにある場合は、正規表現を調整してより多くのレイヤーを収めることができます。

GPU メモリがもう少し多い場合は、試してみてください -ot ".ffn_(up|down)_exps.=CPU" これにより、アップ投影とダウン投影の MoE レイヤーがオフロードされます。

試してみてください -ot ".ffn_(up)_exps.=CPU" GPU メモリがさらに多い場合は、これを使ってください。これにより、アップ投影の 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"

3

は、6層目以降のみで gate、up、down の MoE レイヤーをオフロードすることを意味します。 をインストールした後に、以下を使ってモデルをダウンロードします pip install huggingface_hub hf_transfer を選べますUD- Q2_K_XL(動的 2bit 量子化)や、次のような他の量子化版を 私たちは 当社の 2.7bit 動的量子化版の使用を推奨します UD-Q2_K_XL サイズと精度のバランスを取るためです.

4

編集できます --threads 32 CPU スレッド数を --ctx-size 16384 コンテキスト長を --n-gpu-layers 2 GPU オフロードする層数を指定します。GPU のメモリ不足になる場合は調整してみてください。CPU のみで推論する場合は、これも削除してください。

🦙 Ollama で実行

1

インストール ollama まだならインストールしてください!モデルの他のバリアントを実行するには、 こちらを参照.

2

モデルを実行します!失敗した場合は ollama serveを別の端末で呼び出せることに注意してください。修正内容と推奨パラメータ(temperature など)はすべて、Hugging Face のアップロード内の params に含まれています!

3

他の量子化版を実行するには、まず以下のコードのように GGUF 分割ファイルを 1 つに結合する必要があります。その後、モデルをローカルで実行する必要があります。

✨ llama-server と OpenAI の completion ライブラリでデプロイ

デプロイに llama-server を使うには、以下のコマンドを使ってください:

その後、OpenAI の Python ライブラリを使います pip install openai :

🔨GLM 4.7 でのツール呼び出し

参照 Tool Calling Guide ツール呼び出しの方法の詳細については。新しい端末で(tmux を使っている場合は CTRL+B+D)、2つの数の加算、Python コードの実行、Linux 関数の実行など、いくつかのツールを作成します:

その後、以下の関数(コピーして貼り付けて実行)を使用します。これにより関数呼び出しが自動的に解析され、任意のモデルに対して OpenAI エンドポイントが呼び出されます:

GLM 4.7 を llama-server 経由で起動した後、 GLM-4.7 のように、または Tool Calling Guide を参照して詳細を確認すると、いくつかのツール呼び出しを行えます:

GLM 4.7 の数学演算用ツール呼び出し

GLM 4.7 の生成された Python コードを実行するツール呼び出し

🏂 生成速度の改善

使用 --fit on GPU と CPU を最大限活用するために 2025年12月15日に導入されました。参照 https://github.com/ggml-org/llama.cpp/pull/16653 --fit on モデルの可能な限り多くを GPU に自動オフロードし、残りを CPU に配置します。

VRAM がさらにある場合は、より多くの MoE レイヤーをオフロードするか、レイヤー全体をオフロードすることができます。

通常、 -ot ".ffn_.*_exps.=CPU" すべての MoE レイヤーを CPU にオフロードします!これにより、非 MoE レイヤーを 1 枚の GPU に収められるようになり、生成速度が向上します。GPU 容量がさらにある場合は、正規表現を調整してより多くのレイヤーを収めることができます。

GPU メモリがもう少し多い場合は、試してみてください -ot ".ffn_(up|down)_exps.=CPU" これにより、アップ投影とダウン投影の MoE レイヤーがオフロードされます。

試してみてください -ot ".ffn_(up)_exps.=CPU" GPU メモリがさらに多い場合は、これを使ってください。これにより、アップ投影の MoE レイヤーのみがオフロードされます。

これは最も少ない VRAM を使用します。 正規表現をカスタマイズすることもできます。例えば -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"

Llama.cpp には高スループットモードも導入されています。使用 llama-parallel。詳細は こちら。また KV キャッシュを 4bit に量子化することもできます たとえば、VRAM / RAM 間の移動を減らし、生成処理をさらに高速化できます。

📐長いコンテキストを収める方法(フル 128K)

より長いコンテキストを収めるには、 KV キャッシュ量子化 を使って K と V のキャッシュをより低いビットに量子化できます。これにより、RAM / VRAM のデータ移動が減るため、生成速度も向上します。K の量子化で許可されるオプション(デフォルトは f16)は以下を含みます。

--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1

多少の精度向上のために _1 版を使うべきですが、少し遅くなります。例: q4_1, q5_1

V キャッシュも量子化できますが、 Flash Attention サポート付きで llama.cpp をコンパイルする必要があります-DGGML_CUDA_FA_ALL_QUANTS=ONで有効化し、 --flash-attn を使って有効にします。その後、 --cache-type-k :

と一緒に、--cache-type-v f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 を使用できます

最終更新

役に立ちましたか?