🌠Qwen3-Coder: ローカル実行方法
Unsloth Dynamic量子化を使ってQwen3-Coder-30B-A3B-Instruct と 480B-A35B をローカルで実行しましょう。
Qwen3-Coder は Qwen の新しいコーディングエージェントモデル群で、30B(Qwen3-Coder-Flash)および 480B パラメータで利用可能です。 Qwen3-480B-A35B-Instruct は、Claude Sonnet-4、GPT-4.1、そして Kimi K2に匹敵するSOTAのコーディング性能を達成し、Aider Polygotで61.8%を記録し、256K(1Mまで拡張可能)のトークンコンテキストをサポートします。
また、Qwen3-Coder をネイティブな 1M のコンテキスト長 で YaRN により拡張したものと、フル精度の 8bit および 16bit バージョンもアップロードしました。 Unsloth また、ファインチューニングと RL もサポートするようになりました。
更新: Qwen3-Coder のツール呼び出しを修正しました! これで llama.cpp、Ollama、LMStudio、Open WebUI、Jan などでツール呼び出しをシームレスに使えるようになりました。この問題は普遍的で、(Unsloth だけでなく)すべてのアップロードに影響していました。修正内容について Qwen チームとも共有済みです! 続きを読む
「Unsloth Dynamic Quants」は Unsloth Dynamic Quants 動作しますか? はい、しかも非常に良好です。Aider Polyglot ベンチマークにおける第三者テストでは、 UD-Q4_K_XL (276GB) のダイナミック量子化は フル bf16 (960GB) の Qwen3-coder モデルとほぼ同等で、60.9% 対 61.8% という結果でした。 詳細はこちら。
Qwen3 Coder - Unsloth Dynamic 2.0 GGUF:
🖥️ Qwen3-Coder の実行
以下に、モデルの 30B-A3B および 480B-A35B 各バリアント
⚙️ 推奨設定
のガイドを示します。
temperature=0.7, top_p=0.8, top_k=20, repetition_penalty=1.05
温度 0.7
Top_K 20
Min_P 0.00(任意ですが、0.01 でもうまく動作します。llama.cpp のデフォルトは 0.1 です)
Top_P 0.8
繰り返しペナルティ 1.05
チャットテンプレート:
<|im_start|>user やあ!<|im_end|> <|im_start|>assistant 1+1 はいくつ?<|im_end|> <|im_start|>user 2<|im_end|> <|im_start|>assistant推奨コンテキスト出力: 65,536 トークン(増やすことも可能)。詳細はこちら。
改行をレンダリングしないチャットテンプレート/プロンプト形式
ツール呼び出し用チャットテンプレート (サンフランシスコの現在の気温を取得)。ツール呼び出しの形式についての詳細はこちら。
このモデルは非思考モードのみをサポートし、出力に <think></think> ブロックを生成しないことに注意してください。一方で、 enable_thinking=False を指定する必要はなくなりました。
Qwen3-Coder-30B-A3B-Instruct を実行:
Dynamic 4-bit 量子化で 1 秒あたり 6 トークン以上の推論速度を達成するには、少なくとも 18GB のユニファイドメモリ (VRAM と RAM の合計)または 18GB のシステム RAM のみが必要です。目安として、利用可能なメモリは使用するモデルサイズと同等以上であるべきです。たとえば、32.5GB の UD_Q8_K_XL 量子化(フル精度)では、最適な性能のために少なくとも 33GB のユニファイドメモリ (VRAM + RAM)または 33GB の RAM が必要になります。
注: モデルは総サイズより少ないメモリでも実行できますが、その場合は推論が遅くなります。最大速度を出すには十分なメモリが必要です。
これは非思考モデルなので、 thinking=False を設定する必要はなく、モデルは <think> </think> ブロックを生成しません。
上記の ベストプラクティスに従ってください。480B モデルと同じです。
🦙 Ollama: Qwen3-Coder-30B-A3B-Instruct 実行チュートリアル
インストール
ollamaまだならインストールしてください! 実行できるのはサイズ 32B までのモデルです。
モデルを実行! 失敗した場合は
ollama serve別のターミナルで呼び出せます。修正内容と推奨パラメータ(temperature など)はすべてparamsに含めて Hugging Face にアップロードしています!
✨ Llama.cpp: Qwen3-Coder-30B-A3B-Instruct 実行チュートリアル
最新の
llama.cppオン GitHub はこちらで入手してください。以下のビルド手順に従っても構いません。変更してください-DGGML_CUDA=ONを-DGGML_CUDA=OFFGPU がない場合、または CPU 推論だけを使いたい場合。 Apple Mac / Metal デバイスの場合、次のように設定し-DGGML_CUDA=OFFその後は通常どおり続けてください。Metal サポートはデフォルトで有効です。
HuggingFace から直接取得するには、以下を使用できます:
(をインストール後に)モデルをダウンロードします。
pip install huggingface_hub hf_transferUD_Q4_K_XL または他の量子化版を選べます。ダウンロードが止まる場合は Hugging Face Hub、XETデバッグ
Qwen3-Coder-480B-A35B-Instruct を実行:
1-bit 量子化で 1 秒あたり 6 トークン以上の推論速度を達成するには、少なくとも 150GB のユニファイドメモリ (VRAM と RAM の合計)または 150GB のシステム RAM のみを推奨します。目安として、利用可能なメモリは使用するモデルサイズと同等以上であるべきです。たとえば、180GB の Q2_K_XL 量子化では少なくとも 180GB のユニファイドメモリ (VRAM + RAM)または 180GB の RAM が必要になります。
注: モデルは総サイズより少ないメモリでも実行できますが、その場合は推論が遅くなります。最大速度を出すには十分なメモリが必要です。
上記の ベストプラクティスに従ってくださいが必要です。30B モデルと同じです。
📖 Llama.cpp: Qwen3-Coder-480B-A35B-Instruct 実行チュートリアル
Coder-480B-A35B では、最適化された推論と豊富なオプションのために、特に Llama.cpp を使用します。
もし フル精度の非量子化版が欲しいなら、 Q8_K_XL、Q8_0 または BF16 版を使ってください!
最新の
llama.cppオン GitHub はこちらで入手してください。以下のビルド手順に従っても構いません。変更してください-DGGML_CUDA=ONを-DGGML_CUDA=OFFGPU がない場合、または CPU 推論だけを使いたい場合。モデルのダウンロードには直接 llama.cpp を使えますが、通常は
huggingface_hubの使用をおすすめします。llama.cpp を直接使うには、以下を実行します:または、(をインストール後に)モデルをダウンロードします。
pip install huggingface_hub hf_transferUD-Q2_K_XL または他の量子化版を選べます。会話モードでモデルを実行し、任意のプロンプトを試してください。
編集
--threads -1CPU スレッド数について、--ctx-sizeコンテキスト長 262114 用、--n-gpu-layers 99GPU オフロードする層数について。GPU のメモリ不足になる場合は調整してみてください。CPU のみで推論する場合はこれも削除してください。
を使って -ot ".ffn_.*_exps.=CPU" を使うと、すべての MoE 層を CPU にオフロードできます。これにより、非 MoE 層を 1 枚の GPU に収められるようになり、生成速度が向上します。GPU 容量がもっとある場合は、より多くの層に合わせて正規表現をカスタマイズできます。その他のオプションは こちら.
新しい Qwen3 アップデートも忘れないでください。 Qwen3-235B-A22B-Instruct-2507 を llama.cpp でローカル実行しましょう。
🛠️ 生成速度の改善
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 のやり取りを減らし、生成処理を高速化することもできます。
📐長いコンテキストを収める方法(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 経由で修正することに成功しました。特に llama-serverの配信向けです! 30B-A3B の量子化版をダウンロードしている場合は、すでに修正が含まれているので心配いりません。480B-A35B モデルについては、次の手順を行ってください:
UD-Q2_K_XL 用に https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/tree/main/UD-Q2_K_XL から最初のファイルをダウンロードし、現在のファイルを置き換えてください
を使って
snapshot_download通常どおり https://docs.unsloth.ai/basics/qwen3-coder-how-to-run-locally#llama.cpp-run-qwen3-tutorial の手順で行うと、古いファイルが自動的に上書きされます新しいチャットテンプレートを
--chat-template-fileで使用してください。 GGUF チャットテンプレート または chat_template.jinjaおまけとして、1つの 150GB UD-IQ1_M ファイル(Ollama が動作するように)も 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 度(摂氏)を返すプレースホルダー関数を作成しています。これを本物の関数に変更してください!!
次に、トークナイザーを使ってプロンプト全体を作成します:
💡性能ベンチマーク
これらの公式ベンチマークはフル BF16 チェックポイントのものです。これを使うには、単純に Q8_K_XL, Q8_0, BF16 としてアップロードしたチェックポイントを使ってください。これらの版でも MoE オフロードなどの工夫は引き続き使えます!
480B モデルのベンチマークは以下のとおりです:
エージェント的コーディング
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
エージェント的ブラウザ使用
WebArena
49.9
47.4
40.0
51.1
44.3
Mind2Web
55.8
42.7
36.0
47.4
49.6
エージェント的ツール使用
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
–
最終更新
役に立ちましたか?

