🌠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に匹敵するSOTAのビジョンおよびコーディング性能を発揮します。 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.cppGitHub で入手arrow-up-rightできます。下のビルド手順に従うこともできます。変更してください -DGGML_CUDA=ON から -DGGML_CUDA=OFF GPU がない場合や CPU 推論のみを行いたい場合は。

  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倍にします。 我々はQwen3-VL(8B)用の2つのトレーニングノートブックを作成しており、Colabで無料で訓練できます:

circle-check

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

このQwen3-VLサポートは、さらにメモリ効率が良く高速なRLのための最新アップデートも統合しており、これには我々の スタンバイ機能が含まれており、他の実装と比較して速度低下を独自に抑制します。ビジョンLLMをRLでトレーニングする方法の詳細は私たちの VLM GRPOガイド.

マルチ画像トレーニング

Qwen3-VLをマルチ画像でファインチューニングまたはトレーニングするための最も簡単な変更は、次の置換です:

を次のように:

mapを使用するとデータセットの標準化とArrow処理ルールが適用されますが、これらは厳密で定義がより複雑になる可能性があります。

最終更新

役に立ちましたか?