GLM-4.6:ローカル実行ガイド
Z.ai の GLM-4.6 と GLM-4.6V-Flash モデルを自分のローカルデバイスで実行する方法のガイド!
GLM-4.6 と GLM-4.6V-Flash は、最新の推論モデルです Z.aiで、コーディングとエージェントベンチマークでSOTAの性能を達成し、会話チャットも改善されています。 GLM-4.6V-Flash より小さい9Bモデルは2025年12月にリリースされ、今すぐ実行できます。
フルの3550億パラメータモデルは 400GB のディスク容量を必要としますが、Unsloth Dynamic 2-bit GGUFはサイズを 135GB (-75%). GLM-4.6-GGUF
私たちはGLM-4.6のために複数の チャットテンプレートの修正 を行い、を動作させました llama.cpp/llama-cli --jinja を使用してください - さもないと出力が正しくなりません! --jinja さもないと出力が間違ってしまいます!
私たちの量子化モデルのベンチマークを依頼されたので、Aider Polyglotの結果を紹介します!当社のDynamic 3-bit DeepSeek V3.1 GGUFスコアは 75.6%で、多くのフル精度のSOTA LLMを上回っています。 詳しく読む。
すべてのアップロードはUnslothを使用しています Dynamic 2.0 はSOTAの5-shot MMLUおよびAider性能を実現するため、量子化されたGLM大規模言語モデルを最小限の精度低下で実行およびファインチューニングできます。
チュートリアルの案内:
🐛Unslothチャットテンプレートとバグ修正
私たちが行った重要な修正の一つは、GGUFに対するプロンプトの問題に対処するものです。第二のプロンプトが機能しないという問題がありました。私たちはこの問題を修正しましたが、この問題は私たちの修正がないGGUFでは依然として残ります。例えば、非UnslothのGLM-4.6 GGUFを使用すると、最初の会話は正常に動作しますが、二回目は壊れます。

私たちはチャットテンプレートでこれを解決したので、私たちのバージョンを使用すると、二回目以降(三回目、四回目等)の会話もエラーなく動作します。ツール呼び出しに関してはいくつかまだ問題があり、帯域幅の制約により完全には調査していません。これらの残存問題は既にGLMチームに報告済みです。
🔎GLM 4.6V Flash の特性と修正
GLM-4.6V-Flashは推論や出力が中国語になることがあります。これは私たちの量子化モデル固有のものではなく、モデルの特徴です。推論と出力を英語に強制するには、システムプロンプトに「Respond in English and reason in English」を使用してください!
私たちは他の量子化プロバイダのBF16やQ8_0量子化モデルもテストしましたが、すべて中国語で推論するようです。例えば、シード3407での2つの別々の量子化モデルが、同じプロンプト「Create a Flappy Bird game in Python」に対して中国語で推論を示します:


を介してシステムプロンプトに「Reason in English」を使用すると --system-prompt "Respond in English" llama.cppでは、つまり以下のように:
推論は中国語になりますが、出力は英語になります。さらに「What is 1+1」というフォローアップをすると英語のみが返ってきます:

そして最後に、を介してシステムプロンプトに「Respond in English and reason in English」を使用すると --system-prompt "Respond in English and reason in English" llama.cppでは、つまり以下のように:
推論も出力も英語になります!さらに「What is 1+1」というフォローアップをすると英語のみが返ってきます:

⚙️ 使用ガイド
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があることを推奨します。最適な性能のためには、5+ トークン/秒を得るには少なくとも205GBの統一メモリ、または合計205GBのRAM+VRAMが必要です。生成速度を上げてより長いコンテキストを収める方法については、 ここを読む.
必須ではありませんが、最良のパフォーマンスのためには、VRAM+RAMの合計がダウンロードする量子化モデルのサイズと等しいことを推奨します。そうでない場合でも、llama.cppでのハードドライブ/SSDオフロードは機能しますが、推論は遅くなります。
推奨設定
Z.aiによると、GLM-4.6V-FlashとGLM-4.6の推論には異なる設定があります:
temperature = 0.8
temperature = 1.0
top_p = 0.6 (推奨)
top_p = 0.95 (コーディングに推奨)
top_k = 2 (推奨)
top_k = 40 (コーディングに推奨)
128Kのコンテクスト長 またはそれ以下
200K のコンテキスト長 またはそれ以下
repeat_penalty = 1.1
max_generate_tokens = 16,384
max_generate_tokens = 16,384
使用する
--jinjallama.cpp系で - 私たちは いくつかのチャットテンプレートの問題を修正しました!
GLM-4.6 チュートリアルを実行:
実行に関するステップバイステップガイドを参照してください: GLM-4.6V-Flash および大規模な GLM-4.6 models.
GLM-4.6V-Flash
2025年12月16日現在の新情報:GLM-4.6-Vは現在ビジョンサポートに対応しました!
✨ llama.cppで実行する
最新の llama.cpp を GitHub。下のビルド手順も使用できます。を変更してください -DGGML_CUDA=ON から -DGGML_CUDA=OFF GPU がない場合や CPU 推論のみを行いたい場合は。
直接モデルを読み込むために llama.cpp モデルを直接読み込むには、以下のようにできます:(:Q8_K_XL) は量子化タイプです。Hugging Face(ポイント3)からもダウンロードできます。これはに類似しています ollama run に類似しています。使用してください export LLAMA_CACHE="folder" で強制的に llama.cpp を特定の場所に保存させます。モデルは最大128Kのコンテキスト長しか持たないことを忘れないでください。
(以下をインストールした後に)モデルをダウンロードします pip install huggingface_hub hf_transfer )。量子化バージョンとして選べます UD-Q4_K_XL(動的4ビット量子化)または他の量子化バージョン、例えば Q8_K_XL .
GLM-4.6
🦙 Ollamaで実行
インストールしてください ollama まだインストールしていない場合!モデルの他のバリアントを実行するには、 ここを参照してください.
モデルを実行してください!失敗した場合は別の端末で ollama serveを呼び出せます!私たちのすべての修正と推奨パラメータ(temperatureなど)は params にHugging Faceのアップロードで含めています!
他の量子化を実行するには、まずGGUF分割ファイルを以下のように1つにマージする必要があります。その後、モデルをローカルで実行する必要があります。
✨ llama.cppで実行する
最新の llama.cpp を GitHub で入手できます。下のビルド手順に従うこともできます。変更してください -DGGML_CUDA=ON から -DGGML_CUDA=OFF GPU がない場合や CPU 推論のみを行いたい場合は。
直接モデルを読み込むために llama.cpp を使用したい場合、以下のようにできます:(:Q2_K_XL)は量子化の種類です。Hugging Face(ポイント3)経由でダウンロードすることもできます。これは ollama run に類似しています。使用してください export LLAMA_CACHE="folder" で強制的に llama.cpp を特定の場所に保存させます。モデルは最大128Kのコンテキスト長しか持たないことを忘れないでください。
ぜひお試しください -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-Q2_K_XL(動的2ビット量子化)や他の量子化バージョン(例: Q4_K_XL )を選択できます。私たちは 2.7ビット動的量子化の使用を推奨します UD-Q2_K_XL はサイズと精度のバランスをとるためです.
次の --threads 32 でCPUスレッド数を編集できます、 --ctx-size 16384 でコンテキスト長を、 --n-gpu-layers 2 で何層をGPUにオフロードするかを指定します。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。
✨ llama-serverとOpenAIのcompletionライブラリでデプロイ
llama-serverをデプロイに使用するには、次のコマンドを使用してください:
その後、OpenAIのPythonライブラリを使用します(インストール後) pip install openai :
💽モデルのアップロード
当社の全てのアップロードは imatrixベースでも動的でもないものを含め、会話、コーディング、言語タスクに特化して最適化されたキャリブレーションデータセットを利用しています。
GLM-4.6のフルモデルのアップロードは以下:
私たちはまた IQ4_NL および Q4_1 これらの量子化はそれぞれARMおよびAppleデバイスで特に高速に動作します。
🏂 生成速度の改善
もし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" は6層目以降のgate、up、downのMoE層をオフロードすることを意味します。
Llama.cppはまた高スループットモードを導入しています。使用するのは llama-parallelです。詳細は ここを参照してください。さらに、 KVキャッシュを4ビットに量子化することもできます 例えばVRAM / RAMの移動を減らすことで、生成プロセスを高速化することができます。
📐長いコンテキスト(フル200K)を適合させる方法
より長いコンテキストを収めるには、 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キャッシュも量子化できますが、その場合は llama.cppをFlash Attentionサポートでコンパイルする必要があります には次を使用してください -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
最終更新
役に立ちましたか?

