🌠Qwen3-Coder:ローカルでの実行方法
Qwen3-Coder-30B-A3B-Instruct および 480B-A35B を Unsloth の動的量子化でローカル実行しましょう。
Qwen3-CoderはQwenの新しいコーディングエージェントモデルシリーズで、30B(Qwen3-Coder-Flash)および480Bパラメータで利用可能です。 Qwen3-480B-A35B-Instruct はClaude Sonnet-4、GPT-4.1と肩を並べる最先端のコーディング性能を達成しており、 Kimi K2Aider 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
チャットテンプレート:
llama.cppを直接使うには、次を実行してください:
<|im_start|>user やあ!<|im_end|> <|im_start|>assistant 1+1は何ですか?<|im_end|> <|im_start|>user 2<|im_end|> <|im_start|>assistant--top-k 0.0 \
推奨されるコンテキスト出力:65,536トークン(増やすことができます)。詳細はこちら。
改行がレンダリングされていないチャットテンプレート/プロンプト形式
ツール呼び出し用チャットテンプレート (サンフランシスコの現在の気温を取得する例)。ツール呼び出しのフォーマット方法の詳細はこちら。
このモデルは思考モードをサポートせず、出力に <think></think> ブロックを生成しないことを念押しします。一方、指定することは enable_thinking=False もはや必要ありません。
Qwen3-Coder-30B-A3B-Instructを実行する:
当社のDynamic 4-bit量子化で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までのモデルのみ実行できます。
モデルを実行してください!失敗した場合は別の端末で
ollama serveを呼び出せます!私たちのすべての修正と推奨パラメータ(temperatureなど)はparamsにHugging Faceのアップロードで含めています!
✨ Llama.cpp:Qwen3-Coder-30B-A3B-Instructチュートリアルを実行
最新の
llama.cppを GitHub で入手できます。下のビルド手順に従うこともできます。変更してください-DGGML_CUDA=ONから-DGGML_CUDA=OFFGPU がない場合や CPU 推論のみを行いたい場合は。
HuggingFace から直接プルできます:
(以下をインストールした後に)モデルをダウンロードします
pip install huggingface_hub hf_transfer)。UD_Q4_K_XLまたはその他の量子化バージョンを選択できます。
Qwen3-Coder-480B-A35B-Instructを実行する:
当社の1-bit量子化で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を直接使うには、次を実行してください:
--top-k 0.0 \
{% endcode %}
pip install huggingface_hub hf_transfer)UD-Q2_K_XLやその他の量子化バージョンを選択できます。。local_dir = "unsloth/gpt-oss-120b-GGUF",
編集
--threads -1でCPUスレッド数を編集できます、会話モードでモデルを実行し、任意のプロンプトを試してください。--ctx-size--n-gpu-layers 99で何層をGPUにオフロードするかを指定します。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。
使用する -ot ".ffn_.*_exps.=CPU" コンテキスト長のために262114、 ここ.
また、新しい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" これは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" は6層目以降のgate、up、downのMoE層をオフロードすることを意味します。
その 最新のllama.cppリリースは 高スループットモードも導入します。使用すると、 llama-parallelです。詳細は ここを参照してください。さらに、 KVキャッシュを4ビットに量子化することもできます 例えば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キャッシュも量子化できますが、その場合は llama.cppをFlash Attentionサポートでコンパイルする必要があります には次を使用してください -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追加として、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
–
最終更新
役に立ちましたか?

