HuggingFace镜像/Mage-VL
模型介绍
文件和版本
分析

Mage-VL
高效的编解码器原生流式多模态基础模型

项目页面 arXiv GitHub Mage-VL Mage-ViT 许可证: Apache 2.0

Mage-VL

Mage-VL 是一个用于图像和视频理解的编解码器原生、主动流式多模态基础模型,其视觉编码器以紧凑的4B规模完全从头开始训练。它针对视觉语言模型(VLM)的现代“莫拉维克悖论”——在复杂的离线推理任务上表现出色,但在简单的实时流感知任务上速度慢且计算量大。Mage-VL 不再将视频解码为均匀采样的帧,并将密集的补丁令牌网格输入到冻结的网络预训练 ViT 中,而是遵循现代视频编解码器的结构:将流分离为锚定(I)帧和预测(P)帧,保留每个锚定帧的所有补丁,并仅保留预测帧中编解码器分配比特的补丁——即携带真实运动和新细节的区域。这种与编解码器对齐的稀疏性将视觉令牌减少75%以上,同时保留时空上下文,与均匀帧采样相比,实现了高达3.5倍的实际推理速度提升。

该系统由两个组件构成:

  • Mage-ViT——一个从头开始训练的Codec-ViT视觉编码器,它通过编解码器导出的时空重要性分配令牌,基于共享的16×16补丁网格和3D旋转位置编码。它与编解码器无关:相同的接口可以通过运动向量+残差能量接受传统编解码器(H.264/AVC、HEVC/H.265),或通过其学习的码率图接受神经编解码器(DCVC-RT)——无需更改架构或重新训练。
  • Qwen3-4B 因果解码器——一个 Qwen3-4B-Instruct-2507 语言骨干(唯一的预训练组件),通过轻量级两层 MLP 投影器消费 Mage-ViT 的变长令牌流,具有统一的接口,适用于图像、短/长/超长视频以及流。

在这两个组件之上,系统1和系统2双进程设计在单个模型内部添加了主动流式处理:轻量级的认知门(系统1)监控每个滚动的编解码器窗口,并对常规内容保持静默,仅在值得响应的事件完成时调用完整的 VLM(系统2)——无需多智能体管道。

✨ 亮点

  • 原生编解码 & 从零构建。整个视觉模块均从零开始训练——无需十亿级图像-文本 ViT 初始化。受生物启发的预测性补丁机制(16×16 大小的 I/P 帧)将视觉 token 消耗减少超过 75%(仅为密集帧采样的约 1/8 或更少),使模型能在相同预算下训练8 倍时长的视频。
  • 原生编解码加速。编解码 token 化技术构建了卓越的精度-效率边界——在精度相当的情况下,相比均匀帧采样,实际推理速度提升高达 3.5 倍,并且在大多数视频基准测试中(单 8×B200 节点)是所有对比模型中速度最快的。
  • 数据高效的 token 器。仅在约 1 亿张未标记图像/视频上训练,Mage-ViT 即可达到或超越在数十亿图像-文本对上训练的前沿编码器(100 亿参数的 SigLIP2、20 亿参数的 MoonViT)——例如,在 256 个 token 下,CIFAR-10 上达到99.33%,ImageNet 上达到85.69%,表明网络级规模的预训练对于强大的 VLM 前端并非必需。
  • 原生分辨率缩放。可变分辨率预训练使 Mage-ViT 能够随着 token 预算的增加而单调提升性能(在 676 个 token 时,Food-101 准确率**>96.1%,ImageNet 准确率>86.3%**),而固定分辨率编码器则会出现性能饱和或下降。
  • 与 LLM 匹配的视频性能提升。在固定 40 亿参数 Qwen3 骨干网络且仅更换 ViT 的情况下,Mage-VL 在所有报告的视频和时间定位基准测试中均优于 Qwen3-VL-4B——在以定位为重的任务上提升最为显著(+22.5 QVHighlight,+17.1 ActivityNet,+11.0 VSI-Bench,+24.5 VideoEval-Pro)。
  • 小模型,高性能。在静态图像任务上与 Qwen3-VL-4B 相当,在视频理解和空间智能方面则明显领先(+11.0 VSI-Bench,+53.1 CrossPoint,+5.2 EmbSpatial,+22.5 QVHighlight)。
  • 主动流式处理,单一模型。冻结骨干的认知门控机制可提供低延迟、事件触发的评论;在 SoccerNet 流式处理任务中,其 TimVal / F1 / ROC-AUC / PR-AUC 指标均名列前茅,并能泛化到真实的 2026 年世界杯广播内容。

📥 模型

单个 checkpoint microsoft/Mage-VL 是一个统一模型,能够同时提供图像和视频理解以及主动式流控门控——相同的权重既可以回答离线图像/视频问题,也能驱动事件门控式评论。它涵盖了Mage-VL的所有功能:图像理解、帧采样视频、传统H.264/HEVC编解码视频、神经DCVC-RT编解码视频以及事件门控流。该仓库捆绑了编解码器处理器、神经编解码包和主动式门控权重——无需单独的理解、NVC或流控checkpoint。

我们额外发布了**microsoft/Mage-ViT——来自两阶段、从零开始ViT预训练(在约1亿无标签图像/视频帧上进行聚类判别)的独立视觉编码器。这仅是ViT预训练checkpoint**:它未经过与语言模型的联合VLM训练。可将其用作数据高效的、编解码原生的视觉编码器,或作为即插即用的ViT用于您自己的多模态训练。

模型任务骨干网络Hugging Face
Mage-VL图像与视频理解 + 主动式流控门控Mage-ViT + Qwen3-4B-Instruct-2507🤗 microsoft/Mage-VL
Mage-ViT编解码原生视觉编码器 — 仅ViT预训练,无VLM联合训练Codec-ViT(从零开始)🤗 microsoft/Mage-ViT

🏗️ 架构

Mage-VL proactive streaming framework 主动式流控框架 — Mage-ViT将连续流增量编码为事件门控和因果解码器共享的编解码原生视觉特征。门控对每个滚动窗口进行评分,并在常规内容上保持静默;当门控打开时,解码器会生成事件条件响应。

Mage-ViT——一个从零开始构建的Codec-ViT视觉编码器。在16×16的 patch 网格上,它保留了所有锚定(I)帧 patch 以及仅具有运动显著性的预测(P)帧 patch,将视觉 tokens 减少超过75%,同时共享的3D RoPE保留了时空位置信息。

Mage-VL——一个统一模型,其中投影后的视觉 tokens 和文本 tokens 共享一个因果Qwen3解码器。静态图像成为单个空间块;视频成为时间排序的编解码窗口。在流控模式下,一个轻量级的认知门控会为每个滚动窗口(在由事件保留特征提取器维护的循环流控内存之上)预测p_speak = g(h_t),当p_speak ≥ τ时触发生成;响应由冻结的基础模型从最近编解码片段的局部滑动窗口中解码,并且文本查询可以在任何时候注入。

训练——一个渐进式的五阶段监督课程(无偏好/RL后训练),生成一个统一模型:

  1. 通过字幕进行多模态对齐——约3.5亿密集图像字幕 + 420万短视频字幕。
  2. 指令微调 + 短时程时序定位——约5400万图像指令样本 + 340万30–180秒视频字幕。
  3. 时间范围扩展——中/长视频(LLaVA-Video、TimeLens、VideoChat-Flash、Molmo2),并保留图像SFT。
  4. 编解码原生长上下文适应——35万长视频作为滚动编解码窗口(最多384/768帧)。
  5. 主动式流控对齐——在约330万流控样本上微调认知门控,视觉编码器和LLM保持冻结(仅训练门控)。

这五个阶段共同产生了一个单一统一模型Mage-VL,它能够处理图像理解、离线视频推理和主动式流控——无需发布单独的变体。

流水线的两个部分应用了AI4AI(AI-for-AI)范式:(1)密集重新字幕通过智能体闭环运行,其中GPT-5标准评分器对字幕进行评分,Copilot编码智能体在人工验证门控下共同设计提示和工具代码(例如渲染时间戳叠加层)——改进了每个下游OCR/文档/图表/感知基准,并启发了SkillOpt-Lite;(2)第三阶段使用基于AI的诊断来决定训练哪些视频类别、分辨率和帧数。

📊 性能表现

图像理解与空间智能 — 点击展开

各模型性能对比。Mage-VL-4B 和 Qwen3-VL-4B 采用相同的 4B Qwen3 LLM 基础模型;Phi-4-Multimodal-Instruct(Phi-4-MM,5.6B)和 Phi-4-Reasoning-Vision(Phi-4-R-V,15B)作为参考模型列出。– = 未运行。粗体 = 行内最佳。

基准测试Mage-VL-4BQwen3-VL-4BPhi-4-MM-5.6BPhi-4-R-V-15B
文档理解
DocVQA-val95.1494.6992.7976.20
InfoVQA-val80.3379.5071.8455.41
AI2D w/ Mask83.1681.5481.8382.87
ChartQA84.8883.9683.7683.40
OCRBench81.8081.6081.7073.90
MultiDocVQA-val87.4687.2146.8458.35
ChartQAPro32.5726.790.1325.38
TextVQA-val77.2880.5539.9376.06
CC-OCR Doc32.2539.694.9917.65
通用视觉问答
MMBench-EN-dev84.0283.2565.8184.19
MMBench-CN-dev82.0480.5875.1779.47
MMStar67.3262.0461.2459.63
MME-Perception1709.541703.501409.661590.21
SeedBench (All)76.7875.6568.2873.70
CV-Bench87.7985.3757.0981.31
MME-RealWorld66.5263.2032.4557.80
空间智能
CV-Bench-2D82.1381.0056.1280.11
CV-Bench-3D94.7592.3056.9282.50
BLINK65.1165.1035.2457.80
EmbSpatial82.6777.5041.5172.67
CrossPoint80.0026.9012.2047.73
CRPE-Relation76.1277.7034.6074.46
SAT67.3369.3055.3366.67
视频理解与时间定位 — 点击展开

粗体 = 行内最佳。

基准测试Mage-VL-4BQwen3-VL-4BPhi-4-MM-5.6BPhi-4-R-V-15B
视频问答
MV-Bench65.166.744.949.2
NextQA83.179.854.169.0
VideoMME64.059.744.755.3
LongVideoBench61.357.741.1451.2
LVBench41.839.225.3134.4
MLVU-dev68.761.544.1851.8
VideoEval-Pro45.220.714.3516.8
时间定位
Timelens-Charades50.743.14.0920.6
Timelens-ActivityNet45.428.42.0323.0
Timelens-QVHighlight57.434.92.4711.6
空间推理
VSI-Bench64.353.324.0925.5
跟踪(J&F)
Ref-DAVIS1725.837.483.142.15
MeViS-ValidU22.553.1610.281.53
ReasonVOS17.769.669.509.77
Ref-YT-VOS25.575.288.643.85
主动流处理(SoccerNet)与在线视频(OVO-Bench)— 点击展开

SoccerNet — 响应时间(StreamMind 协议,原生编解码输入,零容忍画布匹配)。粗体 = 列内最佳。

方法TriggerAccTimValF1ROC-AUCPR-AUC
StreamMind52.1847.36–––
JoyAI-VL-Interaction-9B97.9819.253.5556.261.68
Mage-VL-4B79.2155.5416.3583.149.30

JoyAI 的高 TriggerAcc 源于在 SoccerNet 严重类别不平衡情况下几乎处处预测静默,因此在精度敏感指标上表现不佳;StreamMind 是在 SoccerNet 上进行分布内训练的,而 Mage-VL 并非如此。

OVO-Bench — 在线视频理解(SimpleStream 最近窗口协议,4 帧 @ 1 fps;无流处理特定微调)。Mage-VL 在流处理架构中创下了新的总体得分最先进水平。RT-Avg / BT-Avg 分别为实时视觉感知 / 回溯子任务的平均值;Overall 为两者的均值。粗体 = 每列最佳模型(Human 为参考上限)。

模型#FramesRT-AvgBT-AvgOverall
Human–93.292.392.77
离线视频大模型
Qwen2.5-VL-7B1 fps59.944.752.28
LLaVA-Video-7B6463.540.451.95
Qwen3-VL-4B6472.853.163.00
在线/流处理视频大模型
VideoLLM-online-8B2 fps20.817.719.26
Flash-VStream-7B1 fps28.427.427.90
Dispider-7B1 fps54.636.145.35
TimeChat-Online-7B1 fps61.941.751.80
StreamForest-7B1 fps61.252.056.60
Streamo-7B1 fps66.046.156.05
HERMES-7B†1 fps69.049.459.20
JoyAI-VL-Interaction-9B1 fps68.448.658.50
Mage-VL-4B1 fps79.8448.1564.00

† HERMES = Qwen2.5-VL-7B + HERMES(4K tokens)。基线结果和表格结构遵循 SimpleStream。

🔬 核心发现

除模型本身外,本报告还提炼出七项实证发现,旨在提升多模态训练效率:

  1. 无需大规模网络预训练。基于约1亿无标签帧从头构建的骨干网络,其性能可媲美在数十亿图像-文本对上训练的编码器。
  2. 可变分辨率预训练呈单调扩展趋势。视觉标记预算增加时,模型质量持续提升,而非像固定分辨率编码器那样出现饱和或性能下降。
  3. 编解码器原生标记化技术打造更优的精度-效率边界——相比均匀帧采样,推理速度提升高达3.5倍。
  4. 无需显式VideoQA SFT。密集视频字幕与标准图像SFT相结合,足以实现强大的零样本VideoQA能力。
  5. 运动-空间协同效应。动态视频训练可显著提升静态2D/3D空间推理能力。
  6. AI4AI数据 pipeline。智能体闭环反馈与提示/代码协同设计,可系统性提升字幕质量及下游任务得分(受SkillOpt-Lite启发)。
  7. 面向多模态RL的Zero-Vision SFT。绕过视觉SFT,转而采用纯文本推理SFT,可释放更强的多模态RL能力——这是一条计算高效的路径。

🚀 快速开始

单个 checkpoint microsoft/Mage-VL 即可覆盖以下所有功能。

功能脚本运行方式
图像理解inference.py--mode offline --image
帧采样视频inference.py--mode offline --video --video-backend frames
传统H.264/HEVC编解码视频inference.py--mode offline --video --video-backend codec --codec-engine traditional
神经DCVC-RT编解码视频inference.py--mode offline --video --video-backend codec --codec-engine neural
在线图像/视频(SGLang)inference.py--mode online … --base-url <server>
事件驱动流式解说inference_streaming.py详见GitHub仓库

安装

离线Transformers推理环境配置:

pip install "transformers>=5.7" accelerate pillow torch torchvision \
  opencv-python codec-video-prep

基于编解码器的视频推理还需要 PATH 中包含 ffmpeg 和 ffprobe。

示例

本仓库附带了两个示例输入:

输入问题内容
examples/dog.jpg详细描述这张图片。一只狗坐在有图案的地毯前的照片
examples/soccer-broadcast.mp4描述这个视频。30秒、960×540的足球比赛转播片段

离线推理

下载 inference.py。离线模式通过 AutoModelForCausalLM.from_pretrained 加载检查点,并支持图像、帧采样以及两种编解码器引擎:

# image
python inference.py --mode offline --image examples/dog.jpg \
  --question "Describe this image in detail."

图片中是一只坐在花纹地毯上的狗。这只狗似乎是中型犬,有着厚实蓬松的毛发。它的毛色以白色为主,带有黑色和棕色的斑块。狗的耳朵竖立着,表情平静且专注。[...]

# video — uniform frame sampling
python inference.py --mode offline --video examples/soccer-broadcast.mp4 \
  --video-backend frames --num-frames 32 \
  --question "Describe this video."

视频开篇,一名身着黑色马球衫、留着短发的男子站在体育场内。他手持一个印有BBC Sport标志的黄色麦克风。背景中可见大量观众。[...]

# video — traditional codec (HEVC/H.264)
python inference.py --mode offline --video examples/soccer-broadcast.mp4 \
  --video-backend codec --codec-engine traditional --num-frames 32 \
  --question "Describe this video."

视频以 BBC Sport 的广播画面开场,一位身着黑色衬衫的主持人手持黄色麦克风。背景是座无虚席的体育场,记分牌上显示“ENG 1 ARG 2 FT”,表明本场比赛的最终比分。[...]

# video — neural codec (DCVC-RT)
python inference.py --mode offline --video examples/soccer-broadcast.mp4 \
  --video-backend codec --codec-engine neural --num-frames 32 \
  --question "Describe this video."

视频以 BBC Sport 的广播开场,画面中主持人站在坐满观众的体育场内。主持人身着黑色衬衫,手持黄色的 BBC Sport 麦克风,并戴着黑色耳机。[...]

在线推理

在线模式与兼容 OpenAI 的 SGLang 服务器进行通信。首先,使用 Mage-VL SGLang 分支构建并启动服务器(构建过程需要 protobuf-compiler 和 Rust 工具链):

sudo apt-get update && sudo apt-get install -y protobuf-compiler
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
  | sh -s -- -y --profile minimal --default-toolchain 1.90.0
source "$HOME/.cargo/env"

git clone -b feat/mage-vl https://github.com/kcz358/sglang
cd sglang
pip install -e 'python[all]'
python -m sglang.launch_server \
  --model-path microsoft/Mage-VL \
  --trust-remote-code

然后将图像或采样的视频帧发送到运行中的服务器:

pip install openai

python inference.py --mode online --image examples/dog.jpg \
  --question "Describe this image in detail." \
  --base-url http://localhost:30000/v1

python inference.py --mode online --video examples/soccer-broadcast.mp4 \
  --num-frames 32 \
  --question "Describe this video." \
  --base-url http://localhost:30000/v1

使用 --model、--max-new-tokens 和 --api-key 覆盖其默认值。

流式推理

本仓库中的 streammind_gate.safetensors 包含事件门控。流式推理将视频分割为非重叠片段,对常规内容保持静默,仅在检测到值得响应的事件时才生成字幕。通过 GitHub 仓库 中的 inference_streaming.py 运行:

python inference_streaming.py \
  --video examples/soccer-broadcast.mp4 \
  --video_backend codec \
  --segment_sec 8
[t=0.0-8.0s] gate=silence (p=0.19)
[t=8.0-16.0s] gate=response (p=0.55) -> The video features a live sports broadcast from BBC Sport, set in a large stadium filled with spectators. The broadcast focuses on a football match between England and Argentina, with the score displayed as England 1, Argentina 2. [...]
[t=16.0-24.0s] gate=response (p=0.73) -> The video features a sports broadcast set in a large stadium filled with spectators. Four commentators are gathered around a table with a 'BBC Sport' logo, each holding a yellow microphone. [...]
[t=24.0-30.0s] gate=silence (p=0.31)

该门控是在编码解码器输入上训练的,因此 --video_backend codec 是预期设置。使用 --video_backend frames 可进行直接帧采样。其他控制选项包括 --num_frames、--cur_fps、--max_segments、--max_new_tokens、--gate_threshold 和 --attn_impl。

📝 Citation

@article{yang2026mage,
  title={Mage-VL: An Efficient Codec-Native Streaming Multimodal Foundation Model},
  author={Yang, Senqiao and Zhang, Kaichen and Jia, Zhaoyang and Guo, Jinghao and Shen, Yifei and Zhang, Xinjie and Zhang, Xiaoyi and Wang, Haoqing and Li, Xiao and Zhang, Peng and others},
  journal={arXiv preprint arXiv:2607.24904},
  year={2026}
}

📄 许可证

Mage-VL 根据 Apache-2.0 许可证 发布。