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

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月にリリースされ、今すぐ実行できます。

フル版の355Bパラメータモデルには 400GB のディスク容量が必要ですが、Unsloth Dynamic 2-bit GGUFならサイズは 135GB (-75%). GLM-4.6-GGUF

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

チュートリアルのナビゲーション:

GLM-4.6V-Flash を実行GLM-4.6 を実行

🐛Unslothのチャットテンプレートとバグ修正

私たちが行った重要な修正の一つは、GGUFへのプロンプト送信に関する問題への対応です。この問題では、2回目のプロンプトが機能しませんでした。私たちはこの問題を修正しましたが、この修正がないGGUFでは依然として問題が残ります。たとえば、Unsloth以外のGLM-4.6 GGUFを使うと、最初の会話は問題なく動作しますが、2回目は壊れます。

この点はチャットテンプレートで解決したため、私たちの版を使う場合は2回目以降(3回目、4回目など)の会話もエラーなしで動作します。ツール呼び出しにはまだいくつか問題が残っていますが、帯域幅の制約のため、まだ十分に調査できていません。これらの残りの問題については、すでにGLMチームに伝えています。

🔎GLM 4.6V Flash の癖と修正

GLM-4.6V-Flash は、中国語で推論し、中国語で出力する場合があります。これは私たちの量子化版に特有のものではなく、モデル固有の癖です。「英語で応答し、英語で推論して」といったシステムプロンプトを使うと、推論も出力も英語に強制できます。

他の量子化提供元のBF16およびQ8_0量子化版もテストしましたが、どれも中国語で推論しているようでした。たとえば、seed 3407で別々の2つの量子化版を使い、同じプロンプト「PythonでFlappy Birdゲームを作って」では、中国語での推論が表示されます。

次のように「英語で推論」といったシステムプロンプトを使うことで --system-prompt "英語で応答してください" llama.cppで、つまり以下のようにします:

すると、中国語で推論し、出力は英語になります。また、続けて「1+1は?」と尋ねると、英語のみが返ります:

そして最後に、「英語で応答し、英語で推論して」というシステムプロンプトを次のように使うと --system-prompt "英語で応答し、英語で推論してください" llama.cppで、つまり以下のようにします:

英語で推論し、英語で出力されます!また、続けて「1+1は?」と尋ねると、英語のみが返ります:

⚙️ 使い方ガイド

2-bitのダイナミック量子化UD-Q2_K_XLは135GBのディスク容量を使用します - これは次の環境でうまく動作します 1枚の24GBカードと128GBのRAM を使ったMoEオフロード環境で。1-bitのUD-TQ1 GGUFも Ollamaでネイティブに動作します!

必ず --jinja をllama.cppの量子化版で使用してください - これにより 修正済みのチャットテンプレート が使われ、正しいテンプレートが有効になります! --jinja

4-bit版は、1枚の40GB GPU(MoE層をRAMへオフロード)に収まります。この構成に加えて165GBの余分なRAMがあれば、速度はおよそ5 tokens/s程度になると予想してください。この4-bit版を動かすには、少なくとも205GBのRAMが推奨されます。最適な性能には、少なくとも205GBのユニファイドメモリ、または205GBのRAM+VRAM合計が必要で、5+ tokens/sを目指せます。生成速度を上げ、より長いコンテキストに対応する方法を学ぶには、 こちらを読んでください.

推奨設定

Z.aiによると、GLM-4.6V-Flash と GLM-4.6 の推論には異なる設定があります:

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

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

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

GLM-4.6を実行するための手順ガイドをご覧ください GLM-4.6V-Flash および大型 GLM-4.6 モデル。

GLM-4.6V-Flash

✨ llama.cppで実行

1

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

2

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

3

以下でモデルをダウンロードしてください(インストール後に pip install huggingface_hub hf_transfer )。次を選べます UD-Q4_K_XL(動的4bit量子化)や、以下のような他の量子化版 Q8_K_XL .

GLM-4.6

🦙 Ollamaで実行

1

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

2

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

3

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

✨ llama.cppで実行

1

最新の llama.cppGitHub こちらから入手してください。以下のビルド手順に従うこともできます。 -DGGML_CUDA=ON-DGGML_CUDA=OFF に変更してください。GPU がない場合、または CPU 推論だけを行いたい場合です。

2

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

3

以下でモデルをダウンロードしてください(インストール後に pip install huggingface_hub hf_transfer )。次を選べます UD-Q2_K_XL(動的2bit量子化)や、以下のような他の量子化版 Q4_K_XL も使えます。 サイズと精度のバランスを取るには、私たちの 2.7bit 動的量子化版 UD-Q2_K_XL の使用を推奨します.

4

編集できます --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 ベースでも dynamic ベースでもないものを含め、会話・コーディング・言語タスク向けに特別に最適化された校正データセットを使用しています。

  • フル版GLM-4.6モデルのアップロードは以下です:

また、 IQ4_NLQ4_1 の量子化版もアップロードしました。これらはそれぞれ ARM および Apple デバイスで特に高速に動作します。

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

1.66bit

84GB

1.92/1.56bit

1.78bit

96GB

2.06/1.56bit

1.93bit

107GB

2.5/2.06/1.56

2.42bit

115GB

2.5/2.06bit

2.71bit

135GB

3.5/2.5bit

3.12bit

145GB

3.5/2.06bit

3.5bit

158GB

4.5/3.5bit

4.5bit

204GB

5.5/4.5bit

5.5bit

252GB

6.5/5.5bit

🏂 生成速度の改善

VRAMが多ければ、より多くのMoE層をオフロードするか、層そのものをまとめてオフロードすることができます。

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

GPU メモリがもう少しある場合は、 -ot ".ffn_(up|down)_exps.=CPU" を試してください。

さらに GPU メモリがあるなら、 -ot ".ffn_(up)_exps.=CPU" を試してください。これで up projection の 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キャッシュを4bitに量子化することもできます 。たとえば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キャッシュも量子化できますが、そのためには 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

最終更新

役に立ちましたか?