Repolode
2U1

2U1/Qwen-VL-Series-Finetune

Hugging FaceとLiger-Kernelを使って、Qwen-VL系列の視覚言語モデル(Qwen2-VL、Qwen2.5-VL、Qwen3-VL、Qwen3.5)をファインチューニングするための学習スクリプトです。

スター
1,980
フォーク
223
未解決の Issue
57
最終コミット
2 か月前

これは何?

このプロジェクトは、Qwen-VL系列の視覚言語モデルを独自データに適応させるための学習スクリプトを提供します。Qwen2-VL、Qwen2.5-VL、Qwen3-VL、Qwen3.5に対応しており、専用の学習フレームワークは使わず、Hugging Face TransformersとLiger-Kernelを利用します。

スクリプトは、フルファインチューニング、LoRA、QLoRA、DoRA、DeepSpeed ZeROに対応し、vision towerとlanguage modelの層を個別に凍結・凍結解除できます。学習データにはLLaVAの会話形式を使用し、単一画像、複数画像、動画、複数モダリティのサンプルを扱えます。教師ありファインチューニングに加え、DPO、独自の報酬関数を使うGRPO、複数の損失関数に対応した分類学習も利用できます。

また、対応するQwen3-VL ThinkingおよびQwen3.5モデルでの推論トレース学習、学習中の生成ベース評価、推論用のGradioデモ、環境構築済みのDockerイメージについても説明されています。

主な機能

  • 01Qwen-VLモデルのフルファインチューニング、LoRA、QLoRA、DoRAに対応。
  • 02LLaVA形式の単一画像、複数画像、動画、複数モダリティのデータセットで学習。
  • 03選好最適化(DPO)と、ユーザー定義の報酬関数を使うGRPOに対応。
  • 04クロスエントロピーや各種focal lossを使った分類ファインチューニング。
  • 05visionモジュールとlanguageモジュールに個別の学習率や凍結設定を適用。
  • 06DeepSpeed ZeROに対応し、Liger-Kernelで高速化。

ユースケース

  • Qwen2.5-VLまたはQwen3-VLを、特定分野の画像質問応答データセットに適応させる。
  • テキスト説明とペアになった動画クリップを使って、動画理解モデルを学習する。
  • Qwen-VLをバックボーンとする画像分類器を構築する。
  • 視覚言語モデルに独自の報酬を使った強化学習型のチューニングを行う。

クイックスタート

  1. 1

    requirements.txt から Python パッケージをインストールする

    pip install -r requirements.txt -f https://download.pytorch.org/whl/cu128
  2. 2

    qwen-vl-utils をインストールする

    pip install qwen-vl-utils
  3. 3

    ほかのパッケージをインストールした後に flash-attn をインストールする

    pip install flash-attn --no-build-isolation

使う前に知っておきたいこと

  • トレーニング環境の前提は、最近の Nvidia GPU と CUDA 12.8 を搭載した Ubuntu です。
  • Flash Attention 2 は Qwen3.5 で不安定なため、README では無効にすることを推奨しています。
  • QLoRA はビジョントレーニングまたは Liger-Kernel と組み合わせることはできません。

トピック

よくある質問

Qwen-VL-Series-Finetune とは?
Hugging FaceとLiger-Kernelを使って、Qwen-VL系列の視覚言語モデル(Qwen2-VL、Qwen2.5-VL、Qwen3-VL、Qwen3.5)をファインチューニングするための学習スクリプトです。 このプロジェクトは、Qwen-VL系列の視覚言語モデルを独自データに適応させるための学習スクリプトを提供します。Qwen2-VL、Qwen2.5-VL、Qwen3-VL、Qwen3.5に対応しており、専用の学習フレームワークは使わず、Hugging Face TransformersとLiger-Kernelを利用します。
Qwen-VL-Series-Finetune は無料で使えますか?ライセンスは?
Qwen-VL-Series-Finetune は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Qwen-VL-Series-Finetune は今もメンテナンスされていますか?
半年以内に更新あり。Qwen-VL-Series-Finetune の最終コミットは 2026年9月9日 です。
Qwen-VL-Series-Finetune は何に使えますか?
Qwen2.5-VLまたはQwen3-VLを、特定分野の画像質問応答データセットに適応させる。 テキスト説明とペアになった動画クリップを使って、動画理解モデルを学習する。 Qwen-VLをバックボーンとする画像分類器を構築する。 視覚言語モデルに独自の報酬を使った強化学習型のチューニングを行う。
Qwen-VL-Series-Finetune のインストール方法は?
requirements.txt から Python パッケージをインストールする: pip install -r requirements.txt -f https://download.pytorch.org/whl/cu128 qwen-vl-utils をインストールする: pip install qwen-vl-utils ほかのパッケージをインストールした後に flash-attn をインストールする: pip install flash-attn --no-build-isolation
Qwen-VL-Series-Finetune はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/2U1/Qwen-VL-Series-Finetune

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト