AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

VLM-R1:自然言語による画像ターゲットの位置決定のための視覚言語モデル

はじめに

VLM-R1は、Om AI Labによって開発され、GitHubでホストされているオープンソースの視覚言語モデリングプロジェクトです。このプロジェクトは ディープシーク R1メソッドと クウェン2.5-VL VLM-R1は特に表現理解(REC)に長けており、例えば「赤いコップは絵のどこにありますか」といった質問に答えたり、画像内のターゲットをピンポイントで特定したりすることができる。ターゲットこのプロジェクトは、開発者や研究者が視覚言語タスクを探求し開発するために、詳細なインストールスクリプト、データセットサポート、トレーニングコードを提供する。2025年2月現在、このプロジェクトはGitHubで約2,000のスターを獲得しており、マルチモーダルAIへの関心の広さを示している。

VLM-R1:擅长视觉理解任务的强化学习视觉语言模型-1

デモアドレス:https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression


 

機能一覧

  • 理解表現(REC)を指す。自然言語コマンドを解析し、画像内の特定のターゲットを見つける機能。
  • 画像とテキストの共同処理画像とテキストの同時入力をサポートし、正確な分析結果を生成。
  • 学習の最適化複雑な視覚課題におけるR1訓練によるモデル性能の向上。
  • オープンソースのトレーニングコードモデルを簡単にカスタマイズできるように、完全なトレーニングスクリプトと設定ファイルが提供されています。
  • データセット・サポート内蔵のCOCOおよびRefCOCOデータセットのダウンロードと処理機能により、開発プロセスが簡素化されます。
  • 高性能推論サポートフラッシュ・アテンションやその他のテクノロジーに対応し、コンピューティング効率を向上。

 

ヘルプの使用

設置プロセス

VLM-R1はPythonベースのプロジェクトであり、実行には一定の環境設定が必要です。ここでは、ユーザーがすぐに使い始められるように、インストールと使用方法の詳細な手順を説明します。

1.環境準備

  • Anaconda のインストール: システムの互換性を確保するために、Anaconda を使用して Python 環境を管理することをお勧めします。ダウンロード:Anaconda公式サイト。インストールが完了したら、ターミナルを開く。
  • 仮想環境の構築ターミナルで以下のコマンドを入力し、以下の名前のファイルを作成する。 vlm-r1 Python 3.10 環境:
    conda create -n vlm-r1 python=3.10
  • 活性化環境作成した環境をアクティブにします:
    conda activate vlm-r1
    

2.プロジェクトの依存関係をインストールする

  • クローンプロジェクトVLM-R1のコード・リポジトリをローカルにダウンロードする。ターミナルを開いて
    git clone https://github.com/om-ai-lab/VLM-R1.git  
    cd VLM-R1
    
  • インストール・スクリプトの実行このプロジェクトは setup.sh 依存関係の自動インストール用スクリプト。ターミナルで実行してください:
    bash setup.sh
    

    このスクリプトはPyTorchやTransformersなどのコアライブラリをインストールし、環境が整っていることを確認します。

3.データの準備

  • COCOデータセットをダウンロードVLM-R1はCOCO Train2014画像データセットを用いて学習されました。以下のコマンドを実行してダウンロードし、解凍してください:
    wget http://images.cocodataset.org/train2014/train2014.zip  
    unzip train2014.zip -d <your_image_root>
    

    解凍パスをメモしておく <your_image_root>これは、その後のコンフィギュレーションで必要となる。

  • RefCOCOラベリングファイルのダウンロードRefCOCOデータセットは、表現タスクを参照するために使用されます。ダウンロードのリンクはプロジェクトのドキュメントにあります。

4.トレーニングモデル

  • トレーニングパラメータの設定アクセス src/open-r1-multimodal ディレクトリで、トレーニングスクリプトのパラメータを編集します。例
    cd src/open-r1-multimodal
    

    修正 grpo_rec.py またはコマンド実行時にパラメータを指定する。以下はコマンドの例である:

    torchrun --nproc_per_node=8 --nnodes=1 --node_rank=0 --master_addr="127.0.0.1" --master_port="12346" \  
    src/open_r1/grpo_rec.py \  
    --deepspeed local_scripts/zero3.json \  
    --output_dir output/my_model \  
    --model_name_or_path Qwen/Qwen2.5-VL-3B-Instruct \  
    --dataset_name data_config/rec.yaml \  
    --image_root <your_image_root> \  
    --max_prompt_length 1024 \  
    --num_generations 8 \  
    --per_device_train_batch_size 1 \  
    --gradient_accumulation_steps 2 \  
    --logging_steps 1 \  
    --bf16 \  
    --torch_dtype bfloat16 \  
    --num_train_epochs 2 \  
    --save_steps 100
    
    • パラメータの説明
      • --nproc_per_nodeGPUの数はハードウェアに合わせて調整します。
      • --image_rootCOCOデータセットのパスに置き換えてください。
      • --output_dirモデルの保存パス。

5.機能動作フロー

理解表現(REC)を指す。
  • テストスクリプトの実行トレーニングが完了したら、提供されたテストスクリプトを使用してモデルの有効性を検証します。入力 src/eval カタログ
    cd src/eval  
    python test_rec_r1.py --model_path <your_trained_model> --image_root <your_image_root> --annotation_path <refcoco_annotation>
    
  • 入力例写真をアップロードして、質問を入力してください。例えば、「写真の青い車はどこですか?.モデルはターゲットとなる場所の座標または説明を返します。
画像とテキストの分析
  • 入場の準備画像ファイルと問題文は指定したディレクトリに置くか、スクリプト内で直接パスを指定する。
  • 走り推理上記のテストスクリプトを使用して、モデルは画像コンテンツの分析結果を出力します。
カスタマイズ・トレーニング
  • データセットを修正する独自のデータセットを使いたい場合は、以下のように編集してください。 data_config/rec.yaml画像パスとラベル付きファイルを追加します。
  • ハイパーパラメータの調整義務化のニーズに合わせて変更 grpo_rec.py の学習率、バッチサイズなどのパラメータを設定する。

6.注意事項

  • ハードウェア要件リソースが限られている場合は、最低8GBのRAMを搭載したGPUを使用することをお勧めします。 num_generations パラメータを使用することで、メモリフットプリントを減らすことができる。
  • デバッグモードトレーニング中に設定可能 export DEBUG_MODE="true"詳細なログを見る
  • 地域支援問題が発生したら、GitHubのIssuesページで質問してください。Om AI Labチームとコミュニティがお手伝いします。

VLM-R1は、上記の手順に沿ってインストールすることで、視覚タスクの研究や実世界でのアプリケーションの開発にかかわらず、すぐに使い始めることができ、その強力な機能を活用することができます。

無断転載を禁じます:チーフAIシェアリングサークル " VLM-R1:自然言語による画像ターゲットの位置決定のための視覚言語モデル
ja日本語