🌠Qwen3-VL: ローカル実行ガイド

Unsloth を使って Qwen3-VL をローカルでファインチューニング・実行する方法を学びましょう。

Qwen3-VLは、Qwenの新しいビジョンモデルで、 instruct(指示) および thinking(思考) のバージョンがあります。2B、4B、8B、32Bモデルはデンス(密結合)で、30Bと235BはMoEです。235BのThinking LLMはGPT-5(高)やGemini 2.5 Proに匹敵する最先端のビジョンおよびコーディング性能を提供します。 Qwen3-VLはビジョン、ビデオ、OCR機能を備え、256Kのコンテキスト(1Mまで拡張可能)を持ちます。 Unslotharrow-up-right はサポートします Qwen3-VLのファインチューニングと RL。当社の ノートブック.

Qwen3-VLの実行Qwen3-VLのファインチューニング

🖥️ Qwen3-VLの実行

llama.cpp、vLLM、Ollamaなどでモデルを実行するには、推奨設定は次のとおりです:

⚙️ 推奨設定

Qwenは両モデルに対してこれらの設定を推奨しています(InstructとThinkingで多少異なります):

Instructの設定:
Thinkingの設定:

Temperature = 0.7

Temperature = 1.0

Top_P = 0.8

Top_P = 0.95

presence_penalty = 1.5

presence_penalty = 0.0

出力長 = 32768(最大256Kまで)

出力長 = 40960(最大256Kまで)

Top_K = 20

Top_K = 20

Qwen3-VLはベンチマーク数値のために下記の設定も使用しました( GitHubでarrow-up-right.

Instructの設定:

export greedy='false'
export seed=3407
export top_p=0.8
export top_k=20
export temperature=0.7
export repetition_penalty=1.0
export presence_penalty=1.5
export out_seq_length=32768

Thinkingの設定:

export greedy='false'
export seed=1234
export top_p=0.95
export top_k=20
export temperature=1.0
export repetition_penalty=1.0
export presence_penalty=0.0
export out_seq_length=40960

🐛チャットテンプレートのバグ修正

Unslothでは正確さを最も重視しているため、Thinkingモデルを2回目のターンまで実行するとllama.cppが壊れる原因を調査しました。以下に示すように:

エラーコード:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Value is not callable: null at row 63, column 78:
            {%- if '</think>' in content %}
                {%- set reasoning_content = ((content.split('</think>')|first).rstrip('\n').split('<think>')|last).lstrip('\n') %}
                                                                             ^

VLモデル用のThinkingチャットテンプレートを正常に修正したため、すべてのThinkingクァントとUnslothのクァントを再アップロードしました。2回目の会話後も動作するはずです - 他のクァントは2回目の会話後にロードに失敗します。

Qwen3-VL Unslothアップロード:

Qwen3-VLは2025年10月30日現在、llama.cppでGGUFがサポートされているため、ローカルで実行できます!

📖 Llama.cpp: Qwen3-VL実行チュートリアル

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

  1. まずは画像を取得しましょう! 画像もアップロードできます。ここでは https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.pngarrow-up-rightを使用します。これはUnslothでのファインチューニングがどのように行われるかを示すミニロゴです:

  1. この画像をダウンロードしましょう

  1. それでは、llama.cppの自動モデルダウンロード機能を使って、8B Instructモデルで試してみましょう:

  1. 起動すると、下の画面が表示されます:

  1. 画像を読み込むには次を使います /image PATH 例: /image unsloth.png その後ENTERを押します

  1. ENTERを押すと「unsloth.png image loaded」と表示されます

  1. では「この画像は何ですか?」のような質問をしてみましょう:

  1. 次に2枚目の画像を読み込みます /image picture.png ENTERを押して「この画像は何ですか?」と尋ねてください

  1. 最後に、両方の画像がどのように関連しているかを尋ねてみましょう(動作します!)

  1. モデルは次の方法でもダウンロードできます(先に pip install huggingface_hub hf_transfer をインストールしてください)HuggingFaceの snapshot_download は大きなモデルのダウンロードに便利です、 llama.cppの自動ダウンローダーが遅延する可能性があるためです。 Q4_K_Mやその他の量子化バージョンを選択できます。

  1. モデルを実行し、任意のプロンプトを試してください。 Instructの場合:

  1. Thinkingの場合:

🪄Qwen3-VL-235B-A22BおよびQwen3-VL-30B-A3Bの実行

Qwen3-VL-235B-A22Bについては、最適化された推論のためにllama.cppを使用し、多数のオプションを利用します。

  1. 上記と同様の手順に従いますが、今回はモデルが非常に大きいため追加の手順も必要です。

  2. モデルをダウンロードします(先に pip install huggingface_hub hf_transfer をインストールしてください)。UD-Q2_K_XLやその他の量子化バージョンを選択できます。

  3. モデルを実行してプロンプトを試してください。ThinkingとInstructで正しいパラメータを設定してください。

Instruct:

Thinking:

  1. 編集、 --ctx-size 16384 コンテキスト長用、 --n-gpu-layers 99 GPUオフロードするレイヤー数用です。GPUがメモリ不足になる場合は調整してください。CPUのみの推論の場合はこれを削除してください。

circle-check

🐋 Docker: Qwen3-VLの実行

既にDocker Desktopがある場合、Hugging FaceからUnslothのモデルを実行するには以下のコマンドを実行するだけです:

またはDockerにアップロードされたQwen3-VLモデルを実行できます:

🦥 Qwen3-VLのファインチューニング

Unslothは、より大きな32Bや235Bモデルを含むQwen3-VLのファインチューニングと強化学習(RL)をサポートします。これにはビデオや物体検出向けのファインチューニングサポートも含まれます。通常通り、UnslothはQwen3-VLモデルを1.7倍速く、VRAMを60%削減し、文脈長を8倍に延ばしつつ精度低下なしに訓練できるようにします。 Colabで無料で訓練できるQwen3-VL(8B)トレーニングノートブックを2つ作成しました:

circle-check

GRPOノートブックの目的は、以下のような画像入力を与えてRLで視覚言語モデルに数学の問題を解かせることです:

このQwen3-VLサポートは、さらにメモリ効率が高く高速なRLのための最新アップデートも統合しており、その中には スタンバイ機能が含まれています。 この実装は他のものと比較して速度低下を独自に制限します。視覚LLMをRLで訓練する方法の詳細は私たちの.

VLM GRPOガイド

マルチ画像トレーニング

convert_to_conversation,

ds_converted = [convert_to_converation(sample) for sample in dataset]

最終更新

役に立ちましたか?