🌠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バージョンです)。 Unslotharrow-up-right また現在はファインチューニングと 強化学習(RL) のQwen3-Coderです。

circle-check

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

circle-check

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トークン(増やすことができます)。詳細はこちら。

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

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

circle-info

このモデルは思考モードをサポートせず、出力に <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> ブロック。

circle-info

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

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

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

  1. モデルを実行してください!失敗した場合は別の端末で ollama serveを呼び出せます!私たちのすべての修正と推奨パラメータ(temperatureなど)は params にHugging Faceのアップロードで含めています!

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

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

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

  2. (以下をインストールした後に)モデルをダウンロードします 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 が最適なパフォーマンスのために必要です。

注意: モデルは総サイズより少ないメモリでも動作できますが、この場合推論が遅くなります。最大メモリは最速速度のためだけに必要です。

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を直接使うには、次を実行してください:

    --top-k 0.0 \

  3. {% endcode %} pip install huggingface_hub hf_transfer )UD-Q2_K_XLやその他の量子化バージョンを選択できます。。

  4. local_dir = "unsloth/gpt-oss-120b-GGUF",

  5. 編集 --threads -1 でCPUスレッド数を編集できます、 会話モードでモデルを実行し、任意のプロンプトを試してください。 --ctx-size --n-gpu-layers 99 で何層をGPUにオフロードするかを指定します。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。

circle-check
circle-check

🛠️ 生成速度の改善

もし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リリースはarrow-up-right 高スループットモードも導入します。使用すると、 llama-parallelです。詳細は ここarrow-up-rightを参照してください。さらに、 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モデルについては、次のことを行ってください:

  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

最終更新

役に立ちましたか?