AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

R1-Onevision:マルチモーダル推論をサポートするオープンソースの視覚言語モデル

はじめに

R1-Onevisionは、Fancy-MLLMチームによって開発されたオープンソースのマルチモーダル大規模言語モデルです。視覚と言語の深い結合に焦点を当て、画像やテキストなどのマルチモーダル入力を処理することができ、視覚的推論、画像理解、数学的問題解決の分野で優れています。ベースは クウェン2.5-VL モデルの最適化により、R1-OnevisionはいくつかのベンチマークでQwen2.5-VL-7Bのような同等のモデルを上回り、GPT-4Vの能力に挑戦しています。このプロジェクトはGitHubでホストされており、モデルの重み、データセット、開発者、学術的な探求のための研究者、または実用的なアプリケーションに適したコードを提供しています。2025年2月24日にリリースされて以来、多くの注目を集めており、特に視覚的推論タスクで優れた結果を出しています。

R1-Onevision:支持多模态推理的开源视觉语言模型-1


 

機能一覧

  • 多峰推論数学的な問題解決や科学的な問題分析など、画像とテキストを組み合わせた複雑な推論タスクをサポートします。
  • 図形理解画像の内容を分析し、詳細な説明を生成したり、関連する質問に答えたりする能力。
  • データセット・サポートR1-Onevisionデータセットは、自然風景、OCR、チャートなどのマルチドメインデータを含んでいます。
  • モデルトレーニングオープンソースのLLama-Factoryフレームワークを使用したフルモデル教師付き微調整(SFT)をサポートします。
  • 高いパフォーマンス評価MathvisionやMathverseなどのテストで、同級生よりも優れた推論力を示す。
  • オープンソースリソース二次開発や研究を容易にするため、モデルウェイトとコードを提供する。

 

ヘルプの使用

設置プロセス

R1-OnevisionはGitHubベースのオープンソースプロジェクトで、実行には一定のプログラミング基盤と環境設定が必要です。以下は詳しいインストールと使用ガイドです:

1.環境準備

  • オペレーティングシステムLinux(Ubuntuなど)またはWindows(WSL付き)を推奨します。
  • ハードウェア要件モデルの推論とトレーニングをサポートするために、NVIDIA GPU(A100またはRTX 3090など、少なくとも16GBのビデオメモリ)を推奨します。
  • ソフトウェア依存::
    • Python 3.8以降。
    • PyTorch(GPUバージョンをインストールすることをお勧めします。)
    • Git (コードリポジトリの複製)。

2.倉庫のクローン化

ターミナルを開き、以下のコマンドを実行してR1-Onevisionプロジェクトコードを取得する:

git clone https://github.com/Fancy-MLLM/R1-Onevision.git
cd R1-Onevision

3.依存関係のインストール

このプロジェクトはいくつかのPythonライブラリに依存しており、以下のコマンドでインストールできる:

pip install -r requirements.txt

推論のスピードアップが必要な場合は、フラッシュ・アテンションをインストールすることをお勧めします:

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

4.モデルの重みをダウンロードする

R1-Onevisionは、Hugging Faceからダウンロードできる事前学習済みモデルを提供しています:

  • ハギング・フェイスのモデル・ページをご覧ください。
  • モデルファイルをダウンロードする(例 R1-Onevision-7Bの下のプロジェクト・ディレクトリに解凍する。 models フォルダーを手動で作成する必要があります)。

5.構成環境

CUDAが正しくインストールされ、PyTorchと互換性があることを確認する:

import torch
print(torch.cuda.is_available())  # 输出 True 表示 GPU 可用

使用方法

基礎推理:画像とテキストの分析

R1-Onevisionは、Pythonスクリプトによる推論タスクの実行をサポートしています。以下は、モデルをロードし、画像とテキストを処理する例です:

  1. 推論スクリプトの作成::
    プロジェクトのルート・ディレクトリにファイルを作成する(例えば infer.py)、以下のコードを入力する:
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
import torch
from qwen_vl_utils import process_vision_info
# 加载模型和处理器
MODEL_ID = "models/R1-Onevision-7B"  # 替换为模型实际路径
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
MODEL_ID, trust_remote_code=True, torch_dtype=torch.bfloat16
).to("cuda").eval()
# 输入图像和文本
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "path/to/your/image.jpg"},  # 替换为本地图像路径
{"type": "text", "text": "请描述这张图片的内容并回答:图中有几个人?"}
]
}
]
# 处理输入
inputs = processor(messages, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0], skip_special_tokens=True)
print(response)
  1. スクリプトの実行::
python infer.py

スクリプトは画像の説明と応答を出力する。たとえば、画像に2人の人物が写っている場合、モデルは "The image shows a park scene with two people sitting on a bench" と返すかもしれない。

特集:数学推理

R1-Onevisionは数学的な視覚的推論に優れている。数学的問題を含む絵(例えば「2x + 3 = 7, xを求めよ」)を想定すると、次のような手順で解くことができる:

  1. 修正 messages この絵の中の数学の問題に答え、計算してください。
  2. スクリプトを実行すると、モデルは以下のような結果を返す:
图片中的题目是:2x + 3 = 7
解题过程:
1. 两边同时减去 3:2x + 3 - 3 = 7 - 3
2. 简化得:2x = 4
3. 两边同时除以 2:2x / 2 = 4 / 2
4. 得出:x = 2
最终答案:x = 2

データセットの使用

R1-Onevisionは、モデルの微調整やテストに使用できる専用のデータセットを提供する:

  • データセットのダウンロード: Hugging Face dataset page.
  • このデータには画像とテキストのペアが含まれており、解凍後にそのままトレーニングや検証に使用することができる。

モデリングの微調整

カスタムモデルが必要な場合は、LLama-Factoryを使って教師ありの微調整を行うことができます:

  1. LLama-Factoryをインストールします:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt
  1. トレーニングパラメータを設定し(プロジェクトのドキュメントを参照)、実行する:
python train.py --model_name models/R1-Onevision-7B --dataset path/to/dataset

運営プロセスの概要

  • 画像解析画像のパスを用意し、スクリプトを書いて実行すれば結果が得られる。
  • すうりトピックの写真をアップロードし、質問を入力すると、詳細な回答が表示されます。
  • カスタム開発データセットとモデルをダウンロードし、トレーニング用のパラメータを調整します。
    GPUメモリの使用量に注意してください。スムーズな動作を保証するために、少なくとも16GBのビデオメモリを推奨します。
無断転載を禁じます:チーフAIシェアリングサークル " R1-Onevision:マルチモーダル推論をサポートするオープンソースの視覚言語モデル
ja日本語