🌠Qwen3-Coder: ローカルで実行する方法

Qwen3-Coder-30B-A3B-Instruct と 480B-A35B を Unsloth Dynamic クォントでローカル実行しましょう。

Qwen3-Coder は Qwen の新しいコーディングエージェントモデルシリーズで、30B(Qwen3-Coder-Flash)と 480B パラメータで利用可能です。 Qwen3-480B-A35B-Instruct は Claude Sonnet-4、GPT-4.1 と肩を並べる最先端のコーディング性能を達成しており、 Kimi K2と同等の性能で、Aider Polyglot で 61.8% を記録し、256K(1M まで拡張可能)のトークンコンテキストをサポートします。

また、ネイティブで動作する Qwen3-Coder もアップロードしました 1M コンテキスト長 は YaRN によって拡張され、フルプレシジョンの 8bit および 16bit 版もあります。 Unslotharrow-up-right また、現在ファインチューニングと 強化学習(RL) Qwen3-Coder の。

circle-check

30B-A3Bを実行する480B-A35B を実行

circle-check

Qwen3 Coder - Unsloth Dynamic 2.0 GGUFs:

🖥️ Qwen3-Coder の実行

以下はモデルの 30B-A3B480B-A35B モデルのバリアント。

⚙️ 推奨設定

Qwen は両モデルに対して次の推論設定を推奨しています:

temperature=0.7, top_p=0.8, top_k=20, repetition_penalty=1.05

  • 温度(Temperature): 0.7

  • Top_K: 20

  • Min_Pを0.00(オプション、但し0.01がよく機能します。llama.cppのデフォルトは0.1)

  • Top_P: 0.8

  • 反復ペナルティ(Repetition Penalty): 1.05

  • チャットテンプレート:

    <|im_start|>user
    Hey there!<|im_end|>
    <|im_start|>assistant
    What is 1+1?<|im_end|>
    <|im_start|>user
    2<|im_end|>
    <|im_start|>assistant
  • 推奨コンテキスト出力:65,536 トークン(増加可能)。詳細はこちら。

改行がレンダリングされていないチャットテンプレート/プロンプト形式

ツールコール用チャットテンプレート (サンフランシスコの現在の気温を取得する例)。ツールコールのフォーマット方法の詳細はこちら。

circle-info

このモデルは思考モードをサポートしておらず、出力に <think></think> ブロックを生成しないことを思い出してください。一方で、 enable_thinking=False を指定する必要はもはやありません。

Qwen3-Coder-30B-A3B-Instruct を実行する:

Dynamic 4-bit 量子化で 1 秒あたり 6 トークン以上の推論速度を達成するには、少なくとも 18GB のユニファイドメモリ (VRAM と RAM の合計)または 単独で 18GB のシステム RAM が必要です。経験則として、使用可能なメモリは利用するモデルのサイズと同等かそれ以上であるべきです。例えば、UD_Q8_K_XL 量子化(フルプレシジョン)は 32.5GB で、少なくとも 33GB のユニファイドメモリ (VRAM + RAM)または 33GB の RAM が最適な性能のために必要になります。

注意: モデルは合計サイズより少ないメモリで動作することがありますが、これにより推論が遅くなります。最大メモリは最速速度のためにのみ必要です。

これは非思考モデルであるため、 thinking=False を設定する必要はなく、モデルは生成しません <think> </think> ブロックを。

circle-info

上記の ベストプラクティスに従ってください。これらは 480B モデルと同じです。

🦙 Ollama: Qwen3-Coder-30B-A3B-Instruct 実行チュートリアル

  1. Ollamaで実行する をインストールしてください まだ行っていない場合は! 最大32Bまでのモデルのみ実行できます。

  1. curl -fsSL https://ollama.com/install.sh | sh モデルを実行してください!失敗した場合は別のターミナルでollama serve を呼び出すことができます!私たちはすべての修正と推奨パラメータ(temperatureなど)を params

Llama.cpp: Qwen3-Coder-30B-A3B-Instruct 実行チュートリアル

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

  1. HuggingFace から直接プルできます:

  2. モデルをダウンロードするには(をインストールした後) モデルをダウンロードするには( )。UD_Q4_K_XL や他の量子化バージョンを選択できます。ダウンロードが止まる場合は、参照してください Hugging Face Hub、XET デバッグ

Qwen3-Coder-480B-A35B-Instruct を実行:

1-bit 量子化で 1 秒あたり 6 トークン以上の推論速度を達成するには、少なくとも 150GB のユニファイドメモリ (VRAM と RAM の合計)または 150GB のシステム RAM 単独で。経験則として、使用可能なメモリは利用するモデルのサイズと同等かそれ以上であるべきです。例えば、Q2_K_XL 量子化は 180GB で、少なくとも 180GB のユニファイドメモリ (VRAM + RAM)または 180GB の RAM が最適な性能のために必要になります。

注意: モデルは合計サイズより少ないメモリで動作することがありますが、これにより推論が遅くなります。最大メモリは最速速度のためにのみ必要です。

circle-info

上記の ベストプラクティスに従ってくださいが必要になります。これらは 30B モデルと同じです。

📖 Llama.cpp: Qwen3-Coder-480B-A35B-Instruct 実行チュートリアル

Coder-480B-A35B では、最適化された推論と豊富なオプションのために特に Llama.cpp を使用します。

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

  2. llama.cppで直接モデルをダウンロードすることもできますが、通常は huggingface_hub を使うことをお勧めします。llama.cppを直接使用するには、次を実行してください:

  3. または、(インストール後に)モデルをダウンロードしてください モデルをダウンロードするには( )UD-Q2_K_XLやその他の量子化バージョンを選択できます。

  4. 会話モードでモデルを実行し、任意のプロンプトを試してください。

  5. 編集 --threads -1 --threads 32 --ctx-size コンテキスト長は262114、 --n-gpu-layers 99 --n-gpu-layers 2

circle-check
circle-check

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

より多くの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.cpp リリースarrow-up-right 高スループットモードも導入しています。使用するには llama-parallel。詳細は こちらarrow-up-right。また、 KVキャッシュを4ビットに量子化することができます こちら

📐長いコンテキスト(256K ~ 1M)を収める方法

より長いコンテキストに対応するには、 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 を有効にすること。

YaRN スケーリングを通じて 100 万コンテキスト長の GGUF もアップロードしました こちら.

🧰 ツールコールの修正

ツールコールを次の方法で修正することに成功しました: llama.cpp --jinja 特に の通過でのサービングのために return messages!もし 30B-A3B の量子化ファイルをダウンロードしているなら、これらには既に修正が含まれているので心配はいりません。480B-A35B モデルについては、次のことを行ってください:

  1. UD-Q2_K_XL の場合は https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/tree/main/UD-Q2_K_XL の最初のファイルをダウンロードし、現在のファイルを置き換えてください

  2. 使用してください snapshot_download 通常通り https://docs.unsloth.ai/basics/qwen3-coder-how-to-run-locally#llama.cpp-run-qwen3-tutorial のように、古いファイルを自動で上書きします

  3. 新しいチャットテンプレートを次で使用してください: --chat-template-file。参照: GGUF チャットテンプレートarrow-up-right または chat_template.jinjaarrow-up-right

  4. 追加として、Ollama が動作するように 1 つの 150GB UD-IQ1_M ファイルを https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/blob/main/Qwen3-Coder-480B-A35B-Instruct-UD-IQ1_M.gguf に用意しました。

これは https://github.com/ggml-org/llama.cpp/issues/14915 のような問題を解決するはずです。

ツールコーリングの使用

ツールコール用のプロンプトのフォーマット方法を、例を使って示します。

私は次という名前の Python 関数を作成しました: get_current_temperature これはロケーションの現在の気温を取得する関数です。今のところプレースホルダ関数を作成しており、常に摂氏 21.6 度を返します。実際の関数に変更してください!!

次にトークナイザーを使ってプロンプト全体を作成します:

💡パフォーマンスベンチマーク

circle-info

これらの公式ベンチマークはフル BF16 チェックポイントに対するものです。これを使用するには、単に我々がアップロードした Q8_K_XL、Q8_0、BF16 チェックポイントを使用してください — これらのバージョンでも MoE オフローディングなどの手法を使用できます!

ここに 480B モデルのベンチマークがあります:

エージェンティックコーディング

ベンチマーク
Qwen3‑Coder 480B‑A35B‑Instruct
Kimi‑K2
DeepSeek‑V3-0324
Claude 4 Sonnet
GPT‑4.1

Terminal‑Bench

37.5

30.0

2.5

35.5

25.3

SWE‑bench Verified w/ OpenHands (500 turns)

69.6

70.4

SWE‑bench Verified w/ OpenHands (100 turns)

67.0

65.4

38.8

68.0

48.6

SWE‑bench Verified w/ Private Scaffolding

65.8

72.7

63.8

SWE‑bench Live

26.3

22.3

13.0

27.7

SWE‑bench Multilingual

54.7

47.3

13.0

53.3

31.5

Multi‑SWE‑bench mini

25.8

19.8

7.5

24.8

Multi‑SWE‑bench flash

27.0

20.7

25.0

Aider‑Polyglot

61.8

60.0

56.9

56.4

52.4

Spider2

31.1

25.2

12.8

31.1

16.5

エージェンティックブラウザ使用

ベンチマーク
Qwen3‑Coder 480B‑A35B‑Instruct
Kimi‑K2
DeepSeek‑V3 0324
Claude Sonnet‑4
GPT‑4.1

WebArena

49.9

47.4

40.0

51.1

44.3

Mind2Web

55.8

42.7

36.0

47.4

49.6

エージェンティックツール使用

ベンチマーク
Qwen3‑Coder 480B‑A35B‑Instruct
Kimi‑K2
DeepSeek‑V3 0324
Claude Sonnet‑4
GPT‑4.1

BFCL‑v3

68.7

65.2

56.9

73.3

62.9

TAU‑Bench Retail

77.5

70.7

59.1

80.5

TAU‑Bench Airline

60.0

53.5

40.0

60.0

最終更新

役に立ちましたか?