zGLM-4.7-Flash:ローカルでの実行方法

GLM-4.7-Flash をローカルで実行&ファインチューニングしましょう!

GLM-4.7-Flash は Z.ai の新しいローカル展開向け 30B MoE 推論モデルで、コーディング、エージェントワークフロー、チャットにおいて優れた性能を提供します。約 36 億パラメータを使用し、200K コンテキストをサポートし、SWE-Bench、GPQA、および推論/チャットベンチマークで先導しています。

GLM-4.7-Flash は 24GBのRAM/VRAM/統合メモリ(フル精度で 32GB)で動作し、現在 Unsloth でファインチューニングできます。vLLM で GLM 4.7 Flash を実行するには、次を参照してください GLM-4.7-Flash

circle-check

実行チュートリアルファインチューニング

実行するための GLM-4.7-Flash GGUF: unsloth/GLM-4.7-Flash-GGUFarrow-up-right

⚙️ 使用ガイド

Z.ai チームと相談した結果、彼らの GLM-4.7 サンプリングパラメータを使用することを推奨しています:

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

temperature = 1.0

temperature = 0.7

top_p = 0.95

top_p = 1.0

repeat penalty = 無効 または 1.0

repeat penalty = 無効 または 1.0

  • 一般的なユースケースの場合: --temp 1.0 --top-p 0.95

  • ツールコールの場合: --temp 0.7 --top-p 1.0

  • llama.cpp を使用する場合は、次を設定してください --min-p 0.01 (llama.cpp のデフォルトは 0.05 のため)

  • ユースケースによっては、どの数値が最適か実験が必要な場合があります。

circle-exclamation
  • 最大コンテキストウィンドウ: 202,752

🖥️ GLM-4.7-Flash を実行する

ユースケースによって異なる設定を使用する必要があります。いくつかのGGUFはモデルアーキテクチャ(例えば gpt-oss)の次元が128で割り切れないため、サイズが似通ってしまい、一部を低ビットで量子化できません。

このガイドは 4 ビットを使用するため、約 18GB の RAM/統合メモリが必要になります。最高のパフォーマンスのために少なくとも 4 ビット精度を使用することを推奨します。

circle-exclamation

Llama.cpp チュートリアル(GGUF):

llama.cppでの実行手順(ほとんどのデバイスに収めるために4ビットを使用します):

1

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

2

Hugging Face から直接プルできます。RAM/VRAM に応じてコンテキストを 200K まで増やせます。

また、Z.ai 推奨の GLM-4.7 サンプリングパラメータを試すこともできます:

  • 一般的なユースケースの場合: --temp 1.0 --top-p 0.95

  • ツールコールの場合: --temp 0.7 --top-p 1.0

  • リピートペナルティを無効にすることを忘れないでください!

次に従ってください(用途別): 一般的な指示 ユースケース:

次に従ってください(用途別): ツール呼び出し ユースケース:

3

(以下をインストールした後に)モデルをダウンロードします pip install huggingface_hub)。量子化バージョンとして選べます UD-Q4_K_XL や他のもの。

4

次にモデルを会話モードで実行します:

また、必要に応じて コンテキストウィンドウ 必要に応じて、最大まで 202752

繰り返しとループの削減

circle-check

これにより、Z.ai 推奨のパラメータを使用して素晴らしい結果を得られるようになります:

  • 一般的なユースケースの場合: --temp 1.0 --top-p 0.95

  • ツールコールの場合: --temp 0.7 --top-p 1.0

  • llama.cpp を使用する場合は、次を設定してください --min-p 0.01 (llama.cpp のデフォルトは 0.05 のため)

  • リピートペナルティを無効にすることを忘れないでください!または次を設定してください --repeat-penalty 1.0

我々は次を追加しました 「scoring_func": "sigmoid" から config.json メインモデル用 - 参照してくださいarrow-up-right.

circle-exclamation

🐦UD-Q4_K_XL を使った Flappy Bird の例

例として、UD-Q4_K_XL を介して以下の長い会話を行いました ./llama.cpp/llama-cli --model unsloth/GLM-4.7-Flash-GGUF/GLM-4.7-Flash-UD-Q4_K_XL.gguf --fit on --temp 1.0 --top-p 0.95 --min-p 0.01 :

これにより以下のような HTML 形式の Flappy Bird ゲームがレンダリングされました:

chevron-rightHTML の Flappy Bird ゲーム(拡張可能)hashtag

いくつかのスクリーンショットも撮りました(4bit で動作します):

🦥 GLM-4.7-Flash のファインチューニング

Unsloth は現在 GLM-4.7-Flash のファインチューニングをサポートしていますが、次を使用する必要があります transformers v5この 30B モデルは無料の Colab GPU には収まりませんが、我々のノートブックを使用できます。GLM-4.7-Flash の 16 ビット LoRA ファインチューニングは約 60GBのVRAM:

circle-exclamation

MoE のファインチューニングでは、ルーター層をファインチューニングするのは良い考えではない可能性があるため、デフォルトで無効にしています。推論能力を維持したい場合(任意)は、直接回答とチェイン・オブ・ソートの例を混ぜて使用できます。少なくとも次を使用してください 75%の推論(reasoning) および 25%の非推論(non-reasoning) を含めて、モデルが推論能力を保持するようにしてください。

🦙Llama-serverのサービング&デプロイメント

本番展開のために GLM-4.7-Flash をデプロイするには、我々は次を使用します llama-server を使用します。新しいターミナルで例えば tmux を使い、次でモデルをデプロイします:

その後、新しいターミナルで、次を実行した後に: pip install openai、次を行います:

これにより次が表示されます

💻 vLLM における GLM-4.7-Flash

APIエラー: 400 {"error":{"code":400,"message":"リクエスト(16582トークン)が利用可能なコンテキストサイズ(16384トークン)を超えています。増加を試みてください","type":"exceed_context_size_error","n_prompt_tokens":16582,"n_ctx":16384}} これはコンテキスト長を増やす必要があるか、を参照する必要があることを意味しますarrow-up-right プレミアムで高速な推論のためにモデルの〜を使用します。まず nightly から vLLM をインストールしてください:

# 新しいPython環境を作成します - システム全体を変更したくない場合は不要です uv venv unsloth_fp8 --python 3.12 --seedarrow-up-right モデルの〜。KV キャッシュのメモリ使用量を 50% 削減するために FP8 を有効にしており、4 GPU 上での設定です。1 GPU の場合は次を使用してください UnslothのダイナミックFP8バージョン そして、次を設定します のモデルを。FP8を有効にするとKVキャッシュのメモリ使用量を約50%削減できます。を追加してください またはこの引数を削除してください。FP8 を無効にするには、次を削除してください --quantization fp8 --kv-cache-dtype fp8

その後、OpenAI API経由で配信モデルを呼び出すことができます:

vLLM GLM-4.7-Flash 推測デコーディング

GLM 4.7 Flash の MTP(マルチトークン予測)モジュールを使用すると、生成スループットが 1xB200 で 13,000 トークンから 1,300 トークンに低下することを確認しました!(10 倍遅い)Hopper では問題ないはずです。

1xB200 でのスループットは 1,300 トークン/秒(ユーザーあたりデコード 130 トークン/秒)に過ぎません

そして 1xB200 でのスループットは 13,000 トークン/秒(それでもユーザーあたりデコード 130 トークン/秒)です

🔨GLM-4.7-Flash によるツールコーリング

詳細については Tool Calling Guide を参照してください。新しい端末で(tmuxを使用している場合はCTRL+B+Dを使用)、2つの数を足す、Pythonコードを実行する、Linuxコマンドを実行するなど多くのツールを作成します:

次に以下の関数を使用します(コピー&ペーストして実行)。これらは関数呼び出しを自動的に解析し、任意のモデルのためにOpenAIエンドポイントを呼び出します:

GLM-4.7-Flash を起動した後: llama-server のように)、 GLM-4.7-Flash または詳細は Tool Calling Guide を参照してください。その後、いくつかのツール呼び出しを行うことができます:

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

GLM-4.7-Flash の生成された Python コードを実行するためのツールコール

ベンチマーク

GLM-4.7-Flash は AIME 25 を除くすべてのベンチマークで最も高性能な 30B モデルです。

最終更新

役に立ちましたか?