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ビット動的量子化UD-Q2_K_XLは135GBのディスク容量を使用します — これは 1x24GBカードと128GBのRAM でMoEオフロードを行うと良好に動作します。1ビットのUD-TQ1 GGUFも Ollamaでネイティブに動作します!
必ず使用してください --jinja llama.cppの量子化には — これにより私たちの 固定チャットテンプレート が使用され、正しいテンプレートが有効になります!使用しないと誤った結果になる可能性があります --jinja
4ビット量子化は1x40GBのGPUに収まります(MoEレイヤーをRAMにオフロードした場合)。この構成でボーナスの165GB RAMがあると約5トークン/秒が期待できます。この4ビットを実行するには最低でも205GBのRAMが推奨されます。最適な性能を得るには、少なくとも205GBの統一メモリ、または合計で205GBのRAM+VRAMが必要で、5トークン/秒以上が見込めます。生成速度を上げ、より長いコンテキストを扱う方法については、 こちらをお読みください.
必須ではありませんが、最良のパフォーマンスのために、VRAM+RAMの合計がダウンロードする量子化モデルのサイズと等しいことを推奨します。そうでない場合でも、llama.cppではハードドライブ/SSDオフロードが機能しますが推論は遅くなります。また、 --fit on を llama.cpp で使用して最大のGPU使用を自動的に有効にしてください!
推奨設定
用途ごとに異なる設定を使用してください。デフォルトおよびマルチターンのエージェンティックなユースケースに対する推奨設定:
temperature = 1.0
temperature = 0.7
top_p = 0.95
top_p = 1.0
131072 max new tokens
16384 max new tokens
使用してください
--jinjallama.cppのバリアントには — 私たちは いくつかのチャットテンプレートの問題を修正しました!最大コンテキストウィンドウ:
131,072
GLM-4.7チュートリアルを実行する:
GLM-4.7を実行するためのステップバイステップガイドは Ollama と llama.cpp.
✨ llama.cppで実行する
最新の llama.cpp を GitHubで入手してください。以下のビルド手順にも従うことができます。を変更してください -DGGML_CUDA=ON に -DGGML_CUDA=OFF GPUを持っていない場合やCPUで推論したい場合は Apple Mac / Metalデバイスの場合、次を設定してください -DGGML_CUDA=OFF その後通常通り続行してください — Metalサポートはデフォルトで有効です。
もし直接 llama.cpp を使ってモデルを読み込みたい場合は、以下のようにできます:(:Q2_K_XL)は量子化タイプです。Hugging Face(ポイント3)経由でダウンロードすることもできます。これは ollama run に類似しています。 使用してください export LLAMA_CACHE="folder" llama.cpp を強制して
使用してください --fit on --top-p 0.95 \
はGPUとCPUを最大限に活用するために2025年12月15日に導入されました。 -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層目以降に限定します。
モデルをダウンロードするには(をインストールした後) モデルをダウンロードするには( を選択できます。 をインストールした後)を使用してください。選択できるのはUD- Q2_K_XL(動的2ビット量子化)や Q4_K_XL などの他の量子化版です。私たちは サイズと精度のバランスを取るために私たちの2.7ビット動的量子化を UD-Q2_K_XL.
--include "*UD-Q2_K_XL*" # 動的1ビットの場合は "*UD-TQ1_0*" を使用 次の --threads 32 はCPUスレッドの数、 --ctx-size 16384 はコンテキスト長、 --n-gpu-layers 2
🦙 --seed 3407 \
Ollamaで実行する をインストールしてください ollama まだインストールしていない場合!モデルのより多くのバリアントを実行するには、.
curl -fsSL https://ollama.com/install.sh | sh モデルを実行してください!失敗した場合は別のターミナルでollama serve を呼び出すことができます!私たちはすべての修正と推奨パラメータ(temperatureなど)を params
OLLAMA_MODELS=unsloth ollama run hf.co/unsloth/GLM-4.7-GGUF:TQ1_0
OLLAMA_MODELS=unsloth ollama run merged_file.gguf
✨ llama-serverとOpenAIのcompletionライブラリでデプロイする
--port 8001 \ その後、OpenAIのPythonライブラリを使用します( :
🔨messages = [{"role": "user", "content": "What is 2+2?"},],
print(completion.choices[0].message.content) Tool Calling Guide GLM 4.7でのツール呼び出し
"description": "The Python code to run",
has_tool_calls = False return messages GLM 4.7を GLM-4.7 llama-server Tool Calling Guide のように起動した後(
や詳しい情報については

"content": [{"type": "text", "text": "What is today's date plus 3 days?"}],

🏂 GLM 4.7で生成されたPythonコードを実行するためのツール呼び出し
使用してください --fit on "content": [{"type": "text", "text": "Create a Fibonacci function in Python and find fib(20)."}], 生成速度の改善 --fit on はGPUとCPUを最大限に活用するために2025年12月15日に導入されました。参照:
より多くのVRAMがある場合、より多くのMoE層をオフロードするか、層全体をオフロードすることを試せます。
通常は、 -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 "\.(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層目以降に限定します。
通常、 llama-parallel。詳細は こちら。また、 KVキャッシュを4ビットに量子化することができます こちら
をご覧ください。さらに、
より長いコンテキストに対応するには、 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 コンパイルする必要があります 次のように :
-DGGML_CUDA_FA_ALL_QUANTS=ONを指定し、そして使用してください、
最終更新
役に立ちましたか?

