HuggingFace镜像/uAI-NEXUS-MedVLM-1.0a-7B-RL
模型介绍文件和版本分析
下载使用量0

uAI-NEXUS-MedVLM-1.0a-7B-RL

已被 CVPR 2026 接收 🎉

基础模型:Qwen2.5-VL-7B-Instruct

uAI-NEXUS-MedVLM-1.0a-7B-RL 是一款基于 Qwen2.5-VL-7B-Instruct 微调的医学视频理解模型。它是 uAI-NEXUS-MedVLM 1.0 系列中的 7B-RL 成员(变体 a = Qwen2.5-VL 基础版;变体 b/c 分别采用 Qwen3-VL-4B 和 Qwen3.5-4B)。训练采用两阶段流程:

  1. 有监督微调(SFT):基于医学视频问答数据进行。
  2. 组相对策略优化(GRPO):结合针对时间精度和临床语义的任务特定奖励机制。

该模型在医学视频理解领域的多项任务中均达到了最先进水平,包括时间动作定位、时空定位、视频摘要、区域描述以及手术技能/CVS 评估。

  • 📄 论文:arXiv:2512.06581
  • 🌐 项目页面:uii-ai.github.io/MedGRPO
  • 💻 代码:github.com/UII-AI/MedGRPO-Code
  • 🤗 数据集:UII-AI/MedVidBench
  • 📊 排行榜:UII-AI/MedVidBench-Leaderboard

模型详情

  • 架构:Qwen2.5-VL(70 亿参数)——视频 + 文本
  • 基础模型:Qwen/Qwen2.5-VL-7B-Instruct
  • 训练方式:SFT → GRPO
  • 领域:医学与手术视频理解
  • 许可证:Apache 2.0

支持任务

该模型可处理 8 项医学视频理解任务(包含 11 个变体):

任务类别任务内容
时间理解时间动作定位(TAL)、时空定位(STG)、下一动作预测
描述生成密集描述(GPT / Gemini)、视频摘要(GPT / Gemini)、区域描述(GPT / Gemini)
评估技能评估、CVS(安全关键视野)

训练数据

基于 51,505 条平衡的视频-指令对(MedVidBench 标准划分)进行训练,涵盖 8 个源数据集:AVOS、CholecT50、CholecTrack20、Cholec80-CVS、CoPESD、EgoSurgery、JIGSAWS、NurViD。

第二阶段(GRPO)使用标准划分中任务平衡的子集(详见论文)。

训练详情

第一阶段——有监督微调

  • 目标:通过人工标注的问答对学习医学视频理解能力。
  • 优化器:采用线性学习率调度的 AdamW。

第二阶段——组相对策略优化(GRPO)

  • 目标:通过强化学习提升时间精确性和临床语义质量。
  • 奖励函数:
    • TAL / STG:逻辑归一化交并比(数据集公平,基于四分位距)。
    • 视频摘要 / 区域描述:语义相似度(SentenceBERT)。
    • 下一步动作:精确匹配奖励。
    • 技能 / CVS 评估:基于分数的奖励。
  • 框架:EasyR1(构建于字节跳动的 verl 之上)。

使用方法

安装

pip install transformers accelerate torch pillow qwen-vl-utils

使用 Transformers 进行推理

import torch
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info

model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "UII-AI/uAI-NEXUS-MedVLM-1.0a-7B-RL",
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
processor = AutoProcessor.from_pretrained("UII-AI/uAI-NEXUS-MedVLM-1.0a-7B-RL")

video_frames = ["frame_0001.jpg", "frame_0002.jpg", "frame_0003.jpg"]  # list of frame paths

messages = [{
    "role": "user",
    "content": [
        {"type": "video", "video": video_frames},
        {"type": "text", "text": "When does the surgeon grasp the gallbladder? Provide start and end times in seconds."},
    ],
}]

text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text], images=image_inputs, videos=video_inputs,
    padding=True, return_tensors="pt",
).to(model.device)

with torch.no_grad():
    output_ids = model.generate(**inputs, max_new_tokens=256)
    generated_ids = [out[len(inp):] for inp, out in zip(inputs.input_ids, output_ids)]
    response = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]

print(response)
# Example: "The surgeon grasps the gallbladder from 45.2 to 58.7 seconds."

使用 VLLM 进行批量推理

若需进行完整的批量推理并正确处理视频帧,请使用 UII-AI/MedGRPO-Code 中的参考流水线:

git clone https://github.com/UII-AI/MedGRPO-Code
cd MedGRPO-Code
pip install -r requirements.txt
bash run_inference.sh

性能表现

在MedVidBench(涵盖8项任务的6,245个测试样本)上进行了评估。GRPO在以下方面持续优于SFT基线:

  • TAL/STG的时间精度(更高的IoU)。
  • 视频摘要和区域描述的语义质量。
  • 技能/CVS评估与专家标注的一致性。

请将预测结果提交至MedVidBench排行榜,以对您自己的模型进行基准测试。

局限性

  • 领域:针对医疗/手术视频进行了优化;可能无法泛化到其他领域。
  • 时间分辨率:在以0.1–1.0 FPS采样的视频上表现最佳。
  • 语言:主要使用英语医学术语进行训练。
  • 视频长度:对几分钟的视频效果最佳;较长视频依赖于帧采样。

许可证

基于Apache 2.0许可证发布。

引用

如果您使用本模型或MedVidBench基准,请引用:

@inproceedings{su2026medgrpo,
  title     = {{MedGRPO}: Multi-Task Reinforcement Learning for Heterogeneous Medical Video Understanding},
  author    = {Su, Yuhao and Choudhuri, Anwesa and Gao, Zhongpai and Planche, Benjamin and
               Nguyen, Van Nguyen and Zheng, Meng and Shen, Yuhan and Innanje, Arun and
               Chen, Terrence and Elhamifar, Ehsan and Wu, Ziyan},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year      = {2026}
}

致谢

  • 基础模型:阿里巴巴云计算有限公司的Qwen2.5-VL-7B-Instruct。
  • 训练框架:EasyR1(基于verl构建)。

联系方式

请在GitHub 仓库上提交 issue。