一句话定位

Magma 是微软研究院提出的单一权重基础模型,同时覆盖数字世界(UI 导航)与物理世界(机器人操作),核心方法是用 **Set-of-Mark(SoM,动作定位)**和 **Trace-of-Mark(ToM,动作规划)**把无动作标注的图像/视频转成”伪动作”监督,从而把 UI 截图、机器人轨迹、无标注教学视频、通用图文数据拉进同一个预训练目标里联合训练,在 UI 导航和机器人操作上都刷到当时的 SOTA,同时保留通用图文/视频理解能力。论文被 CVPR 2025 接收。

背景与定位

范式:单模型跨数字/物理世界的智能体基础模型(cross-domain agentic foundation model)。此前的 VLA 路线普遍按域分别训练——数字世界一支是 Pix2Act、WebGUM、Ferret-UI 这类 UI 导航模型;物理世界一支是 RT-2、openvla 这类机器人操作模型——各自在自己的动作空间和数据集上调优,泛化性有限,且往往以牺牲通用多模态理解能力为代价。Magma 的问题设定是:能否用同一套参数同时具备”多模态理解”(verbal intelligence)和”多模态动作预测”(spatial-temporal intelligence),并把 2D UI 坐标、7-DoF 机器人末端位姿这些形态迥异的动作输出统一到同一个自回归语言建模接口下。

作者点出两个卡住这条路的核心矛盾:(1) 把不同动作空间(UI 的 2D 点击坐标 vs. 机器人的 7-DoF 位姿)直接拼进同一个 next-token 预测目标,会带来巨大的像素级搜索空间,且动作预测脱离了视觉观测的锚定;(2) 现有 VLA 数据规模有限——最大的开源机器人数据集 OXE 也只有约 100 万条轨迹、22 个环境,远不如语言/图文语料的规模,而海量的人类教学视频虽然富含动作信息却没有动作标签。Magma 用 SoM 解决前者(把候选可交互区域/关键点画上数字标记,让模型从”预测像素坐标”退化为”挑一个标记编号”),用 ToM 解决后者(用点跟踪模型 CoTracker 从任意视频里提取物体/手部/机械臂运动轨迹,作为动作监督的代理信号,从而把海量无标注视频转成可训练的”伪 VLA”数据)。

openvla 的关系是本文最直接的对照基线:Magma 沿用 OpenVLA 的 OXE 数据配方(siglip-224px+mx-oxe-magic-soup)和 7-DoF 动作离散化到语言词表尾部 256 个稀用 token 的做法,但在此基础上叠加 SoM/ToM 并把训练数据扩展到 UI、教学视频、通用图文四大类,零样本即超过专门在 OXE 上预训练 27 个 epoch 的 OpenVLA。UI 侧的直接基线是 SeeClick(本文沿用其 UI 数据与 ScreenSpot/Mind2Web/AITW 评测协议)。

模型架构

Policy backboneLLaMA-3-8B(decoder-only LLM)+ ConvNeXt-XXLarge(CLIP 训练版本,laion/CLIP-convnext_xxlarge-laion2B-s34B-b82K-augreg,LAION 团队训练)作为视觉编码器,总参数量 8.6B(论文 Table 2 直接给出;隐含视觉编码器约 0.6B,此为按总量减去 LLaMA-3-8B 反推,论文未单独披露编码器参数量)。

  • 视觉编码器选型理由:ConvNeXt 是卷积网络,原生支持任意分辨率输入,不需要 ViT 那类的位置编码插值或全局/局部裁剪拼接技巧即可编码图像与视频帧,适配 UI 截图(原文最高到 2000px)等跨度极大的分辨率需求。
  • 多模态融合:视觉观测经编码器得到若干 token,与任务描述的语言 token 拼接后一起送入 LLaMA-3 解码器,做统一的自回归下一 token 预测:o_{t+1} ~ p(o_{t+1} | o_1,...,o_t; V(I), task, ctx)
  • 输出统一化(无独立动作头):不设专门的连续/离散动作 head,而是把所有输出——UI 的语义动作类型+坐标、机器人的 7-DoF 位姿+夹爪状态、VQA 文本——都转成文本 token。UI 坐标转成”动作字典”文本(沿用 SeeClick 的 (x,y)/(x,y,w,h) 文本化协议);机器人动作沿用 OpenVLA 的做法,离散化后映射到 LLaMA 词表中几乎不用的最后 256 个 token上复用。
  • Set-of-Mark(SoM,动作定位):给定观测图像 I_t 和 K 个候选可交互区域/点 {p_1,…,p_K}(来自 DOM 树/Android view hierarchy/物体检测/分割模型等候选生成器),在图上叠加数字标记得到标记图 I_t^M,模型的任务退化为”从标记图里选一个 mark + 动作类型”:o_t^mark = action_t : mark_t = π(I_t^M, task, ctx)
  • Trace-of-Mark(ToM,动作规划):把 SoM 沿时间轴扩展到未来 l 帧,让模型继续预测已选中标记在未来帧里的轨迹 trace_{t+1:t+l},迫使模型学习”看向未来”再决策,且比逐帧预测(next-frame prediction)用更少 token 覆盖更长时间跨度、只关注前景动态目标而忽略背景。
  • 跨具身(cross-embodiment):靠 OXE 涵盖 23 个不同机器人/环境数据集获得跨本体泛化,架构层面无专门的具身条件编码,动作维度统一按 7-DoF(位置+姿态+夹爪)离散化处理。
  • 配置数字:预训练基础图像尺寸 512,UI/图像数据最多切 4 个 crop,视频/机器人数据用 1 个 crop;HF 模型卡另给出下游推理建议分辨率——图像最高 1024×1024、视频帧 512×512(与预训练 512 基准 + 多 crop 拼接量级一致);最大序列长度 4096(HF 模型卡披露,论文正文未单独给出)。

数据

预训练总语料约 3900 万条样本(论文摘要与贡献部分明确给出),由四大类构成:

  • UI 导航截图:正文称”接近 270 万张”,来自 SeeClick 和 Vision2UI 两个数据集;附录 Table 10 给出的最终采样混合集 Magma-PT-UI 为 280 万(SeeClick-Web/Mobile 提供 text_2_point/text_2_bbox/point_2_text/bbox_2_text 等子任务,Vision2UI 额外提供 input_2_point/input_2_bbox 定位输入框任务;每个网页只从同组子任务中按权重 [0.4,0.4,0.1,0.1] 采样一个,以提升训练效率)。SeeClick 的移动端截图补充了 RICO 数据集的 (text, bbox) 对并用 OCR 工具扩充框标注。
  • 机器人操作数据:沿用 OpenVLAsiglip-224px+mx-oxe-magic-soup 数据混合配方,来自 Open-X-Embodiment (OXE),产出 940 万条图像-语言-动作三元组;轨迹条数论文两处给出的数字不一致——正文(4.3 节)说”970K 条轨迹”,附录 B.1.3 却写”326K 条轨迹,来自 23 个独立数据集”,两处的三元组总数(9.4M)一致,但轨迹条数本身矛盾,本页如实记录、不替作者判定哪个是笔误。
  • 教学视频超过 2500 万条样本,来自约 400 万段镜头一致(shot-consistent)的视频片段,源头为 Epic-Kitchen(495 段第一视角厨房视频,32 名参与者)、Something-Something v2(22 万余秒视频,取 train/val 共约 16 万段片段)、Ego4D(约 3025 小时视频,跨活动场景的第一视角数据,原始密集字幕标注被切成秒级片段)等。视频切片流程:先用原始标注/PySceneDetect 做场景检测切分,再用 CLIP 文本-视觉余弦相似度过滤(阈值 0.25 以下丢弃),最后用 CoTracker 做 15×15 网格点跟踪提取轨迹,按运动幅度阈值 ε=2 分前景/背景轨迹并用 K-Means 聚类(前景 k∈[1,5]、背景 2k)抽取代表性轨迹点;若检测到相机大幅移动(阈值 η=2)则先做单应性变换(homography)消除全局运动。轨迹质量在 YouCook2-BB 的 1320 段人工标注片段上验证:预测轨迹 1 秒后仍落在标注框内的精度为 0.89
  • 通用图文理解数据:预训练阶段(Magma-PT-Image)纳入 ShareGPT4V 的 120 万条合成图文对 + LLaVA-1.5 的 66.5 万条指令微调数据;下游图像指令微调阶段另单独构建 **Magma-SFT-Image(82 万条)**混合集(ShareGPT 4万/ShareGPT4V 3.9万/LLaVA-Instruct 15.8万/LAION-GPT4V 1.1万/VQAv2 8.3万/GQA 7.2万/OKVQA 0.9万/OCRVQA 8万/ChartQA 0.7万/DVQA 1.6万/DocVQA 1万/AI2D 0.2万/SynthDog-EN 2万/A-OKVQA 6.6万/RefCOCO 4.8万/VG 8.6万/InfographicsVQA 2.4万/ChartQA增强 2万/FigureQA 2万/TQA 0.15万/ScienceQA 0.5万,合计 82 万)。注意论文正文 4.3 节把”1.2M 图文对”与”Magma-SFT (820K)“混用指代,实为两个不同阶段的数据集(预训练用的 Magma-PT-Image ≈ 1.865M vs. 下游指令微调用的 Magma-SFT-Image 820K),本页按附录更精确的口径分别记录。
  • 下游微调数据(非预训练):真实 WidowX-250 机器人 4 个自采任务(热狗装配、蘑菇入锅、抹布左推/右推),每任务约 50 条演示轨迹,256×256 分辨率静态第三方相机;AITW 微调按 SeeClick 协议只取 General/Install/GoogleApps/Single/WebShopping 五类各 545/688/306/700/700 条指令、80% 训练 20% 测试;Mind2Web 微调采用官方候选排序模型给出的 top-30 候选标记做 SoM。
  • 数据无 sim-to-real 混合训练:SimplerEnv 上是纯零样本评测(不在仿真轨迹上调),真实机器人的少样本微调只用真实演示,没有额外仿真协同训练。

训练方法

目标函数:统一的自回归 next-token 交叉熵,SoM/ToM 与文本 QA、UI 坐标、机器人动作全部转成文本 token 后共享同一个目标,不区分损失权重。

预训练:全部四类数据混合,最多训练 3 个 epoch,batch size 1024,学习率 1e-5 常数(无 warmup/衰减调度),AdamW 优化器;整模型(LLM + 视觉编码器)全量更新,无冻结。

消融变体(用于验证 SoM/ToM 与数据混合的贡献):

  • Magma-8B (SFT):仅用 Magma-SFT(820K) 做常规指令微调,无 SoM/ToM;
  • Magma-8B (UI) / (OXE):分别只在 UI 截图 / OXE 机器人数据上预训练;
  • Magma-8B (ACT):UI + OXE 联合预训练,但不加 SoM/ToM;
  • Magma-8B (Full):全部数据混合,可选是否加 SoM/ToM。

下游微调(Table 9 超参):UI 任务(Mind2Web/AITW)batch 32、LR 1e-5 余弦调度、3 epoch、分辨率 768、4 crop;图像/视频指令微调 LR 1e-5 余弦、1 epoch、分辨率 768;真实机器人微调 LR 1e-5 常数、20 epoch、分辨率 256、1 crop。LIBERO 少样本微调每套件仅采样 10 条轨迹,评测 100 次试验/套件。

无 RL 阶段:全文没有出现强化学习环节,机器人和 UI 任务都走监督模仿学习(behavior cloning 式的下一动作预测),零样本评测直接用预训练权重、无需任务特定微调即可跑 SimplerEnv/ScreenSpot/VisualWebArena。

关键消融结论(Table 3,ScreenSpot-Overall / VWB-Ele-G / VWB-Act-G / SE-Bridge / SE-Google):

  • 单独 UI 预训练:57.7 / 68.5 / 58.3 / - / -;单独 OXE 预训练:- / - / - / 22.2 / 35.7。
  • 简单联合 UI+OXE(ACT,无 SoM/ToM):56.2 / 89.1 / 21.4 / 17.5 / 31.5 —— 联合训练反而略微拖累两个任务各自的表现,验证了作者”直接混合数据无益、甚至有害”的判断(2D 坐标与 7-DoF 动作空间差异太大)。
  • 加视频但不加 SoM/ToM(Full w/o):57.4 / 90.1 / 25.2 / 17.7 / 37.5 —— 视频narration 只增强了语义理解,跨任务差距仍未弥合。
  • 全数据 + SoM + ToM(Full):61.4 / 96.3 / 71.8 / 35.4 / 52.3 —— SoM+ToM 是让异构数据产生协同效应的关键。

Infra(训练 / 推理工程)

  • 训练硬件:HF 模型卡披露训练用 Nvidia H100AMD MI300 两种 GPU,均用 bf16 混合精度,平台为 Azure ML;软件栈 PyTorch + Transformers + TorchVision + DeepSpeed + FlashAttention。GPU 数量、总 GPU-小时、并行策略(是否用 DeepSpeed ZeRO 分片、张量/流水并行等)均未披露
  • 推理性能(GitHub 仓库 Benchmarking 小节实测,未注明具体测试硬件型号与生成 token 长度):Magma-8B bfloat16 推理耗时 1.1s、峰值显存 17GB;用 bitsandbytes 4-bit 量化后耗时同为 1.1s、峰值显存降到 7GB
  • 控制频率 / 边缘部署:论文未给出真实机器人闭环控制的 Hz 数字,也未讨论边缘设备部署;GitHub 提供了基于 FastAPI 的 REST 部署方案(Docker/原生服务两种),但未给出该部署路径下的延迟数据。

评测 benchmark

零样本智能体能力(Table 2,节选关键列)

ModelSizeVQAv2TextVQAPOPESS-MobileSS-DesktopSS-WebVWB-Ele-GVWB-Act-GSE-Google RobotSE-Bridge
GPT-4Vn/a77.278.0n/a22.6/24.520.2/11.89.2/8.867.575.7--
GPT-4V-OmniParsern/an/an/an/a92.7/49.464.9/26.377.3/39.7----
LLaVA-1.57.4B78.558.285.9---12.113.6--
LLaVA-Next7.4B81.864.986.5---15.08.7--
Qwen-VL9.6B78.863.8n/a7.5/4.85.7/5.03.5/2.414.010.7--
Fuyu8B74.2n/an/a41.0/1.333.0/3.633.9/4.419.415.5--
SeeClick9.6B---78.0/52.072.2/30.055.7/32.59.91.9--
Octo93M--------6.015.9
RT-1-X35M--------34.21.1
OpenVLA8B--------31.714.5
Magma-8B8.6B80.066.587.460.4/58.575.3/52.969.1/52.096.371.852.335.4

(ScreenSpot、Qwen-VL 等模型每格两个数字为原文 Table 2 直接给出的两项子指标,正文未逐一标注具体拆分含义,按 ScreenSpot 惯例通常对应文本元素/图标元素两类定位准确率,本页不做超出原文的解读。)SimplerEnv 上 Magma 比第二名 OpenVLA 平均成功率高出 19.6 个百分点,在”把物体放进抽屉""把胡萝卜放盘子里”等困难任务上 OpenVLA 基本失败而 Magma 有明显成功率。

Mind2Web 微调(Table 4,Cross-Website/Cross-Task/Cross-Domain 各给 Ele Acc/Op F1/Step SR):Magma-8B 三个设定分别为 57.2/76.9/45.454.8/79.7/43.455.7/80.6/47.3,全面超过 GPT-4-MindAct、GPT-4V-OmniParser、SeeAct(Gemini-Pro/GPT-4V)、CogAgent、Qwen2-UIX、SeeClick 等基线。

AITW 微调(Table 5,General/Install/GoogleApps/Single/WebShopping/Overall):Magma-8B 为 61.5/73.2/62.7/77.5/61.7/67.3,Overall 67.3 高于 GPT-4V-OmniParser 的 57.7 和 SeeClick 的 59.3。

真实机器人 / LIBERO 少样本微调:论文 Fig. 9(WidowX-250 四任务 × 10 次试验)与 Fig. 10(LIBERO 各套件 10 条轨迹微调、100 次试验)以柱状图形式展示 Magma 显著优于 OpenVLA 及去掉 SoM/ToM 的消融版本,但原文正文未给出对应的精确数值表格,本页不从图表中读数虚构精确百分比。

空间推理零样本(Table 6,VSR / BLINK-val / SpatialEval 三个子任务):Magma-8B(Full) 为 65.1 / 41.0 / 43.4(Spatial Map) / 36.5(Maze Nav.) / 64.5(Spatial Grid),优于 LLaVA-1.5/1.6、Qwen-VL,且在 VSR 上超过 GPT-4o(74.8 略高于 Magma,但 BLINK 上 Magma 41.0 vs GPT-4o 60.0,两者互有胜负);去掉视频数据(Full w/o)后 BLINK 从 41.0 掉到 38.3,约 8% 相对下降(论文原话)。

图像理解微调(Table 7):Magma-8B(Full) 在 VQAv2/GQA/MME/POPE/TextVQA/ChartQA/DocVQA 上为 81.4/64.0/1588.7/86.3/70.2/76.2/84.8;论文原话称相比近期同类 VLM,在 TextVQA、ChartQA 上分别有约 5%、22% 的提升(原文未点名具体是相对哪一个基线模型)。

视频理解微调(Table 8):Magma-8B 在 IntentQA/NextQA/VideoMME(短/中/长)/MVBench 系列上为 88.6/80.9/72.9/55.8/44.3/65.0(动作预测)/79.0(动作序列)/55.5(动作定位)/59.4(总分),超过 LLaVA-OV、ShareGPT4Video、Video-Chat2 等用更大视频指令数据集训练的模型;值得注意 Magma 预训练时视频最多只用 4 帧、指令微调评测阶段只用 32 帧,仍在 VideoMME/MVBench 上超过用 64 帧的 LongVA。

创新点与影响

贡献:(1) 提出 SoM + ToM 双重代理任务,把”动作定位”和”动作规划”统一成图像标记选择 + 未来标记轨迹预测,弥合了 2D UI 坐标、3D 机器人位姿、纯文本理解三种输出形态之间的鸿沟;(2) 证明该框架能把无动作标签的海量教学视频转化为有效的动作监督来源,为 VLA 预训练打开了远超现有机器人轨迹数据规模(OXE 仅约 100 万条轨迹)的数据来源;(3) 用单一模型、单一套参数在 UI 导航(ScreenSpot/Mind2Web/AITW)和机器人操作(SimplerEnv/LIBERO/真实 WidowX)两个此前分开训练的领域都拿到当时的 SOTA,同时在通用图文/视频理解任务上与专门的 LMM 相比也有竞争力(尤其是用远少于同类工作的视频预训练帧数达到相近或更好的视频理解效果)。

改变了什么:把”数字世界 agent”和”物理世界 agent”两条此前分立的研究线首次统一到一个基础模型和一套预训练配方下,证明了简单混合异构动作数据无益甚至有害,而 SoM/ToM 提供的统一代理监督才是关键;其对无标注视频的”伪动作”提取思路(CoTracker 点跟踪 + 前景/背景聚类 + 单应性去相机运动)也被后续工作沿用为一种低成本动作数据扩增手段。

作者自陈的局限(Social Impacts and Limitations 章节原文):

  • 教学视频里人物身份与活动分布不能代表全球人口与社会多样性,训练数据中隐含性别、种族等偏见未被消除;
  • 模型不能用于生产部署,UI 导航必须有人在环、由人确认每一步动作后果,机器人操作必须限定在训练时的封闭环境(安卓模拟器 / 装有机械臂的实验台)内使用;
  • 承认威胁行为者理论上可用特定恶意任务数据把模型进一步微调成自动化恶意 UI 操作工具,属于智能体模型的通用风险;
  • 出于计算限制,视频预训练最多只用 4 帧,作者在结论中承认”进一步扩大数据规模”留给未来工作,本文聚焦方法论证明而非把数据规模推向极限。

原始链接

一手源存档(sources/)

  • magma—github-readme — GitHub README(安装、SoM/ToM 生成代码、训练/微调脚本、推理 benchmarking 表、API Server 部署)
  • magma—hf-card — Hugging Face 模型卡(训练超参、H100/MI300 硬件披露、Azure ML、架构组件命名、零样本结果表)
  • magma—project-page — 项目主页(摘要、预训练管线图、SoM/ToM 图示、机器人视觉规划演示、视频对话示例)
  • arXiv 原文 PDF(2502.13130)未入 git,引用见上「原始链接」