🌠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 版もあります。 Unsloth また、現在ファインチューニングと 強化学習(RL) Qwen3-Coder の。
更新: Qwen3-Coder のツールコールを修正しました! 現在、llama.cpp、Ollama、LMStudio、Open WebUI、Jan などでツールコールをシームレスに使用できます。この問題は普遍的で全てのアップロード(Unsloth に限らず)に影響しており、修正について Qwen チームと連絡を取りました! 続きを読む
次のことを行いますか Unsloth Dynamic Quants は機能しますか? はい、非常によく機能します。Aider Polyglot ベンチマークのサードパーティテストでは、 UD-Q4_K_XL(276GB) のダイナミック量子化はほぼ匹敵し、 フル bf16(960GB) Qwen3-coder モデルとほぼ同等で、スコアは 60.9% 対 61.8% でした。 詳細はこちら。
Qwen3 Coder - Unsloth Dynamic 2.0 GGUFs:
🖥️ Qwen3-Coder の実行
以下はモデルの 30B-A3B と 480B-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 トークン(増加可能)。詳細はこちら。
改行がレンダリングされていないチャットテンプレート/プロンプト形式
ツールコール用チャットテンプレート (サンフランシスコの現在の気温を取得する例)。ツールコールのフォーマット方法の詳細はこちら。
このモデルは思考モードをサポートしておらず、出力に <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> ブロックを。
上記の ベストプラクティスに従ってください。これらは 480B モデルと同じです。
🦙 Ollama: Qwen3-Coder-30B-A3B-Instruct 実行チュートリアル
Ollamaで実行する
をインストールしてくださいまだ行っていない場合は! 最大32Bまでのモデルのみ実行できます。
curl -fsSL https://ollama.com/install.sh | sh
モデルを実行してください!失敗した場合は別のターミナルでollama serveを呼び出すことができます!私たちはすべての修正と推奨パラメータ(temperatureなど)をparams
✨ 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 から直接プルできます:
モデルをダウンロードするには(をインストールした後)
モデルをダウンロードするには()。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 が最適な性能のために必要になります。
注意: モデルは合計サイズより少ないメモリで動作することがありますが、これにより推論が遅くなります。最大メモリは最速速度のためにのみ必要です。
上記の ベストプラクティスに従ってくださいが必要になります。これらは 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を直接使用するには、次を実行してください:または、(インストール後に)モデルをダウンロードしてください
モデルをダウンロードするには()UD-Q2_K_XLやその他の量子化バージョンを選択できます。会話モードでモデルを実行し、任意のプロンプトを試してください。
編集
--threads -1--threads 32--ctx-sizeコンテキスト長は262114、--n-gpu-layers 99--n-gpu-layers 2
使用してください -ot ".ffn_.*_exps.=CPU" すべての MoE レイヤーを CPU にオフロードするために!これにより非 MoE レイヤーを 1 GPU に収めることができ、生成速度が向上します。GPU 容量があれば正規表現をカスタマイズしてさらに多くのレイヤーを収めることができます。その他のオプションについては議論しています こちら.
また、新しい Qwen3 のアップデートもお忘れなく。実行してください Qwen3-235B-A22B-Instruct-2507 をローカルで llama.cpp で実行してください。
🛠️ 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 リリース 高スループットモードも導入しています。使用するには llama-parallel。詳細は こちら。また、 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 モデルについては、次のことを行ってください:
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追加として、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 度を返します。実際の関数に変更してください!!
次にトークナイザーを使ってプロンプト全体を作成します:
💡パフォーマンスベンチマーク
これらの公式ベンチマークはフル 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
–
最終更新
役に立ちましたか?

