🚀 Skywork-VL-Reward
市場におけるマルチモーダル報酬モデルの不足が、マルチモーダル強化学習技術の発展を制約する大きなボトルネックとなっています。Skywork-VL-Rewardは、この問題に対応した7Bマルチモーダル報酬モデルで、業界に新たな活力を注入し、マルチモーダル強化学習の新しい章を開きます。
🚀 クイックスタート
このセクションでは、Skywork-VL-Rewardの使用方法について説明します。まずは環境のセットアップから始めましょう。
環境のセットアップ
conda create -n vl-reward python=3.11
conda activate vl-reward
bash setup.sh
推論コードの実行
import torch
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
from trl import AutoModelForCausalLMWithValueHead
from qwen_vl_utils import process_vision_info
from transformers.utils import cached_file
from safetensors import safe_open
processor = AutoProcessor.from_pretrained("Skywork/Skywork-VL-Reward-7B")
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"Skywork/Skywork-VL-Reward-7B",
device_map="auto",
torch_dtype=torch.bfloat16,
)
model = AutoModelForCausalLMWithValueHead.from_pretrained(model)
vhead_file = cached_file(
path_or_repo_id="Skywork/Skywork-VL-Reward-7B", filename="value_head.safetensors"
)
with safe_open(vhead_file, framework="pt", device="cpu") as f:
vhead_params = {key: f.get_tensor(key) for key in f.keys()}
model.load_state_dict(vhead_params, strict=False)
model.requires_grad_(False)
model.eval()
demo_image = "demo.jpg"
demo_question = "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is Purple the highest value?\nChoices:\n(A) no\n(B) yes"
demo_answer = "The answer is: B"
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": demo_image,
},
{
"type": "text",
"text": demo_question,
},
],
},
{
"role": "assistant",
"content": demo_answer,
},
]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=False
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
values = model(**inputs, return_dict=True, use_cache=False)[-1]
scores = values.gather(
dim=-1, index=(inputs["attention_mask"].sum(dim=-1, keepdim=True) - 1)
)
score = scores[0].item()
print("Reward Score is: ", score)
✨ 主な機能
- 最先端のパフォーマンス:VL-RewardBenchで73.1、RewardBenchで90.1の高いスコアを獲得しました。
- マルチモーダル対応:画像とテキストを組み合わせたマルチモーダル入力に対応しています。
- オープンソース:コミュニティに貢献するため、このモデルをオープンソース化しています。
📦 インストール
環境のセットアップについては、「クイックスタート」セクションを参照してください。
conda create -n vl-reward python=3.11
conda activate vl-reward
bash setup.sh
📚 ドキュメント
概要
市場におけるマルチモーダル報酬モデルの不足が、マルチモーダル強化学習技術の発展を制約する大きなボトルネックとなっています。Skywork-VL-Rewardは、この問題に対応した7Bマルチモーダル報酬モデルで、業界に新たな活力を注入し、マルチモーダル強化学習の新しい章を開きます。
Skywork-VL-Rewardは、Qwen2.5-VL-7B-Instructアーキテクチャに基づいており、報酬モデルのトレーニングのためにバリューヘッド構造を追加しています。
技術レポート
Skywork-VL Reward: An Effective Reward Model for Multimodal Understanding and Reasoning
🔧 技術詳細
Skywork-VL-Rewardは、Qwen2.5-VL-7B-Instructアーキテクチャに基づいており、報酬モデルのトレーニングのためにバリューヘッド構造を追加しています。この構造により、モデルは画像とテキストを組み合わせたマルチモーダル入力に対して適切な報酬を出力することができます。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
評価
VL-RewardBench
モデル名 |
モデルサイズ |
一般 |
幻想 |
推論 |
全体的な精度 |
マクロ平均 |
Claude-3.5-Sonnet(2024-06-22) |
- |
43.4 |
55.0 |
62.3 |
55.3 |
53.6 |
Gemini-1.5-Flash (2024-09-24) |
- |
47.8 |
59.6 |
58.4 |
57.6 |
55.3 |
GPT-4o(2024-08-06) |
- |
49.1 |
67.6 |
70.5 |
65.8 |
62.4 |
Gemini-1.5-Pro(2024-09-24) |
- |
50.8 |
72.5 |
64.2 |
67.2 |
62.5 |
Gemini-2.0-flash-exp(2024-12) |
- |
50.8 |
72.6 |
70.1 |
68.8 |
64.5 |
Qwen2-VL-7B-Instruct |
7B |
31.6 |
19.1 |
51.1 |
28.3 |
33.9 |
MAmmoTH-VL-8B |
8B |
36.0 |
40.0 |
52.0 |
42.2 |
42.7 |
Qwen2.5-VL-7B-Instruct |
7B |
43.4 |
42.0 |
63.0 |
48.0 |
49.5 |
InternVL3-8B |
8B |
60.6 |
44.0 |
62.3 |
57.0 |
55.6 |
IXC-2.5-Reward-7B |
7B |
80.3 |
65.3 |
60.4 |
66.3 |
68.6 |
Qwen2-VL-72B-Instruct |
72B |
38.1 |
32.8 |
58.0 |
39.5 |
43.0 |
Molmo-72B-0924 |
72B |
33.9 |
42.3 |
54.9 |
44.1 |
43.7 |
QVQ-72B-Preview |
72B |
41.8 |
46.2 |
51.2 |
46.4 |
46.4 |
Qwen2.5-VL-72B-Instruct |
72B |
47.8 |
46.8 |
63.5 |
51.6 |
52.7 |
InternVL3-78B |
78B |
67.8 |
52.5 |
64.5 |
63.3 |
61.6 |
Skywork-VL Reward(自社製) |
7B |
66.0 |
80.0 |
61.0 |
73.1 |
69.0 |
RewardBench
モデル名 |
チャット |
難しいチャット |
安全性 |
推論 |
スコア |
InternLM2-7B-Reward |
99.2 |
69.5 |
87.2 |
94.5 |
87.6 |
Skywork-Reward-Llama3.1-8B |
95.8 |
87.3 |
90.8 |
96.2 |
92.5 |
Skywork-Reward-Llama-3.1-8B-v0.2 |
94.7 |
88.4 |
92.7 |
96.7 |
93.1 |
QRM-Llama3.1-8B-v2 |
96.4 |
86.8 |
92.6 |
96.8 |
93.1 |
Qwen2-VL-7B-Instruct |
65.1 |
50.9 |
55.8 |
68.3 |
60.0 |
InternVL3-8B |
97.2 |
50.4 |
83.6 |
83.9 |
78.8 |
Qwen2.5-VL-7B-Instruct |
94.3 |
63.8 |
84.1 |
86.2 |
82.1 |
IXC-2.5-Reward-7B |
90.8 |
83.8 |
87.8 |
90.0 |
88.1 |
Skywork-VL Reward(自社製) |
90.0 |
87.5 |
91.1 |
91.8 |
90.1 |
引用
もしあなたがこの研究を使用する場合は、以下の文献を引用してください。
@misc{wang2025skyworkvlrewardeffectivereward,
title={Skywork-VL Reward: An Effective Reward Model for Multimodal Understanding and Reasoning},
author={Xiaokun Wang and Chris and Jiangbo Pei and Wei Shen and Yi Peng and Yunzhuo Hao and Weijie Qiu and Ai Jian and Tianyidan Xie and Xuchen Song and Yang Liu and Yahui Zhou},
year={2025},
eprint={2505.07263},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2505.07263},
}