TorchUMM:面向统一多模态模型的统一评估、分析与后训练代码库 TorchUMM: A Unified Multimodal Model Codebase for Evaluation, Analysis, and Post-training
首个 UMM 统一代码库,标准化 15 个模型的评估与后训练,揭示架构统一≠表征统一。
前置知识
统一多模态模型 (UMM)
在单一架构内同时支持视觉理解、图像生成和图像编辑的模型,按架构可分为纯自回归 (AR)、AR+扩散混合、纯扩散三类。代表工作包括 Janus、Emu3、Bagel、MMaDA 等。
TorchUMM 的核心对象正是 UMM,理解这三种架构分类是看懂其评估维度和后训练讨论的前置知识。
后训练方法 (Post-training)
在预训练完成后进一步适配模型的技术,主流方案包括 SFT、IRG(交错推理)、UniCoT(统一思维链)、RecA(重建对齐)和 UniGame(自博弈训练)五种。
本文对 5 种后训练方法在 5 种基座上做系统对比,必须先了解这些方法的核心思想才能理解实验结论。
跨模态对齐裕度 (CMAM)
作者提出的表征对齐度量:对配对的文本/图像 pooled 特征与随机错配特征计算余弦相似度差,得到 CMAM 值。CMAM 越大表示同一图文对在 latent 空间越接近,等价于更小的有效模态间隙。
这是论文最关键的分析指标,用于证明架构统一与表征统一之间存在反向关系。
Unified-Bench / RealUnified / UEval
三者皆为 I→T→I 一致性基准,前者侧重重建保真度(用 CLIP/DINOv2/DINOv3/LongCLIP 评分),RealUnified 走组合推理路线,UEval 评估指令级双向 grounding。
论文第 4.4 节和第 5 节都依赖这三个基准来量化统一性,是验证架构统一≠表征统一结论的核心证据。
VIEScore / WiScore
由 Qwen2.5-VL-72B-Instruct 充当评判模型,对图像生成或编辑结果给出的 0–10 综合分数,分别用于编辑基准和 WISE 世界知识分数。
理解这两个 LLM-as-a-judge 评分对正确解读表 1、表 3 的横向比较至关重要。
研究动机
统一多模态模型 (UMM) 正处于爆发期,但评估生态高度碎片化。截至论文撰稿,社区已涌现 Bagel、Janus、Show-o、Emu3 等十余种架构,每种都伴随自家专属的数据预处理、推理管线与后训练脚本。表 1 揭示了一个典型问题:DeepGen 自称 GenEval 86.59,Ovis-U1 90.05,Emu3.5 81.83,但这些数字分别来自不同的 prompt 模板、不同的采样策略和不同的评分器,难以推断究竟谁的真实生成能力更强。更关键的是,相同的训练方法在不同基座上的效果差异极大,例如 SFT 在 Bagel 上 MME 仅下降 10 分,但在 TokenFlow 上 DPG 从 71.29 跌至 22.16,这种现象在没有统一代码库的条件下根本无法量化归因。
本文的目标是本文的核心目标是推出 TorchUMM:在同一代码库内一次性支持 15 个 UMM 基座、12 个基准数据集和 5 种后训练方法,使所有横向对比都共享完全一致的预处理、超参、推理管线与评分脚本。具体而言,作者希望达成三层目标:第一,在受控环境下复现所有基座的官方最佳实践,消除各家自行报告的口径差异,表 1 中 GenEval 自报告数值差异高达 8 分,必须由统一管线厘清;第二,把 5 种后训练方法(SFT/IRG/UniCoT/RecA/UniGame)接到 5 个以上的基座上,实现 "同一方法在不同 backbone 上的可对比矩阵";第三,把分析维度从 paper-level 提升到 representation-level,提供 CMAM 等可量化指标,使架构选择不再依赖论文声明。最终交付物是 GitHub 开源代码 + 7 张统一评估表 + 一组可视化分析。
与已有工作不同的是,已有工作要么只覆盖评估(如 [4,7,58] 等开源 toolkit),要么只针对单一架构做后训练(Show-o、Janus、BLIP3-o 各家官方 repo),同时支持评估+分析+后训练三者的代码库此前并不存在。本文更深一层的切入角度是"架构统一 ≠ 表征统一"这一观察:传统观点认为参数共享越多、token space 越统一,跨模态融合就应该越好;TorchUMM 通过 CMAM 度量发现反向关系——最不共享的 OmniGen2 (CMAM=0.126) 比 MMaDA (0.019)、Show-o2 (0.030) 都更对齐。这种仅仅根据深度对齐分析得出的洞察,在只跑单点评估的旧框架里根本无从浮现;TorchUMM 提供的 "evaluation + analysis + post-training" 一体化管线,正是捕捉此类洞察的基础设施。
核心方法
TorchUMM 的整体思路是分层抽象 + 统一接口:把异构 UMM 共同的能力维度(理解/生成/编辑)抽到任务层,把模型、数据、后训练方法的具体实现藏到核心层,让应用层只需改 YAML 配置即可切换实验。其核心流水线是"配置→任务层 pipeline→基座接口→评分→汇总",所有模块通过标准化抽象类(Standardized Interfaces)交互,从而把 Bagel 14B、Emu3.5 34B 这种体量巨大的模型和 1.3B 的 Janus 放进同一个对比表里。
与传统做法最大的区别是不预设任何一种架构范式为优。TorchUMM 不强迫所有模型都套同一生成器,而是为 AR、AR+Diffusion、Pure Diffusion 三类基座各自保留 native 接口,但统一它们的输入/输出协议与评分逻辑,使得 DPG-Bench 上 GenEval 由 Ovis-U1 (3.6B) 以 90.05 超过 DeepGen (5B) 的 86.59、Bagel (14B) 的 78.81 这种反直觉结论能够在公平框架下重现。第二个核心点是引入 CMAM,把"统一性"从架构描述升级为可测量指标。
方法步骤详情
四层流水线递进执行。(1) 基础设施层封装分布式训练与 PyTorch/HF Transformers/Diffusers 公共后端;(2) 核心层接入 15 个 UMM (Bagel, OmniGen2, Emu3/3.5, Janus/Pro/Flow, Show-o/o2, BLIP3-o, TokenFlow, DeepGen, MMaDA, Ovis-U1)、12 个基准与 5 种后训练 (SFT/IRG/UniCoT/RecA/UniGame);(3) 任务层路由模型到理解/生成/编辑/跨任务 pipeline,同一 YAML 走统一接口输出指标;(4) 应用层提供 YAML+CLI+Python API 出报告。CMAM:用理解通路对 UEval (prompt, image, text) pooled 编码,按层算 $\text{CMAM}=\tfrac1N\sum\cos(z^t_i,z^v_i)-\tfrac1{N(N-1)}\sum_{i\ne j}\cos(z^t_i,z^v_j)$,输出层裕度序列与 t-SNE。
技术新颖性
技术新颖性体现在三方面:(i) 接口抽象同时支持三类架构而不损失 native 性能,区别于 Show-o 等单一架构代码库;(ii) 5 套后训练方法共享同一批任务定义,可在统一基线上精确量化"同一方法的 backbone-dependent 收益",例如表 5 展示 SFT 让 Bagel 的 GenEval 从 78.81 微降到 78.03,却让 TokenFlow 从 52.21 跌至 51.96,并让 Show-o2(7B) 由 59.87 滑至 52.13;(iii) CMAM 提供了一个新视角,把架构统一与表征统一解耦,发现 OmniGen2 (CMAM 0.126) 高于 MMaDA (0.019) 这一与设计直觉相反的现象。
实验结果
受控评估给出五大结论。(1) 生成无单一赢家:表 1 中 GenEval 三冠分属 Ovis-U1 (3.6B) 90.05、DeepGen (5B) 86.59、Emu3.5 (34B) 81.83;WISE 由 Emu3.5 以 0.633 居首,DPG-Bench 改由 DeepGen 87.44 居首。(2) 规模非决定项:BLIP3-o 4B 在 GenEval 反超 Janus-Pro 7B 约 2.4 分。(3) 理解-生成权衡:Emu3.5 MME perception 仅 832.17,几乎只有 Bagel 1691.5 的一半。(4) 编辑 SC-PQ 差异:OmniGen2 英文 SC 6.49 vs PQ 7.18;多轮 ImgEdit 上 Emu3.5 4.89 远超 Bagel 4.45、OmniGen2 3.27、Ovis-U1 2.82。(5) 后训练高度 backbone-dependent:UniGame 让 Bagel GenEval 推至 85.80 但 DPG 跌至 65.77;IRG 让 UEval 由 30.9 暴跌至 9.1。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 文本到图像生成 (DPG-Bench) | 整体准确率 % | DeepGen 87.44; Bagel 84.11; OmniGen2 84.51 | Janus-Pro (7B) 83.73; Emu3 (8B) 80.31; Show-o2 7B 82.81 | Top3 比最强 7B AR 基线高约 4 分,三家不同范式并列 |
| 文本到图像生成 (GenEval) | 整体准确率 % | Ovis-U1 (3.6B) 90.05; DeepGen 86.59; Emu3.5 81.83 | BLIP3-o 81.36; Janus-Pro 78.92; Bagel 78.81 | Ovis-U1 作为最小模型反超 34B Emu3.5 约 8 分 |
| 世界知识生成 (WISE WiScore) | Qwen2.5-VL-72B 评 0–1 | Emu3.5 0.633; MMaDA 0.656(注 MMaDA 由纯扩散生成); DeepGen 0.547 | BLIP3-o 0.414; Bagel 0.399; Janus-Pro 0.381 | Emu3.5 比 Janus-Pro 高 0.252,约 66% 相对提升 |
| 多模态理解 (MME cognition) | 0–800 分 | Bagel 695.4; OmniGen2 614.6; Ovis-U1 575.4 | Show-o2 7B 387.5; Janus-Pro 293.2; Emu3.5 271.4 | Bagel cognition 比次席 OmniGen2 还高 80.8,约为 Janus-Pro 的 2.37 倍 |
| 指令级图像编辑 (GEdit-EN Overall) | VIEScore 0–10 | Emu3.5 7.56; Ovis-U1 7.13; DeepGen 7.33 | Bagel 6.35; OmniGen2 6.27 | Emu3.5 整体超 Bagel 1.21 分,几乎一个 SC 级别的差距 |
| 统一性 (Unified-Bench Overall) | CLIP+DINOv2+v3+LongCLIP 平均 | Bagel 0.8346; Janus-Pro 0.8293; OmniGen2 0.8271 | Emu3.5 0.5093; MMaDA 0.4654; Show-o 0.6153 | Top3 都比 Emu3.5 高 0.32 以上,34B 反输 14B、7B |
| 后训练 (Bagel + UniCoT) | UEval 30.9→31.8 等 | Bagel+UniCoT: DPG 83.52; GenEval 77.91; WISE 0.404; UEval 31.8 | Bagel base: DPG 84.11; GenEval 78.81; WISE 0.399; UEval 30.9 | UniCoT 唯一让 UEval 略微上升的后训练方法 (+0.9),但 DPG 降 0.59 |
局限与改进
作者在 Limitations 段落明确三点:(i) 评估限于公开发布的 checkpoint,未必捕捉到替代 prompt 或解码策略下的潜力;(ii) 基准集以英文静态图像为主,视频、音频、人类偏好建模仍属未来;(iii) 后训练搜索空间远未饱和,仅覆盖 5 种方法在 5–8 个 backbone 上的组合。我们从数据看还可补两条隐含限制:CMAM 分析只覆盖 MMaDA / Show-o2 / OmniGen2 三个模型,未对更强理解能力的 Bagel 给出 CMAM;编辑评测完全依赖 VIEScore (Qwen2.5-VL-72B),存在 LLM-as-a-judge 的固有偏差,特别是中文 GEdit 的细微改写语义可能未对齐人工评价。
独立分析的弱点
独立审视本文至少有三处可改进方向。第一,评测完全依赖公开 checkpoint 与单一推理管线,缺乏对闭源 / 增强版模型的支持,可能错失 SOTA;改进方向为接入更多官方 prompt 变体(如 temperature、CFG、top-k)的官方推荐。第二,CMAM 仅在 UEval 数据上采集三层架构样本,统计显著度有限;改进方向是把 CMAM 推广到 Understanding/Editing 全任务,对每层都汇报裕度分布与置信区间。第三,后训练表格显示 IRG 在 Bagel 上 UEval 直接崩到 9.1,但作者没有给失败案例归因(是数据分布、推理长度还是 collapse),改进方向是补充定性分析与诊断 trace。此外,编辑任务中 Emu3.5 的中文 SC 仅 7.62 (vs 英文 7.64),但 Bagel 中文反高于英文 0.02,作者未深入挖掘跨语言偏置来源。
未来方向
作者已指出三条后续:扩展到视频/音频多模态评估、用更大 backbone 验证结论是否仍成立、扩展后训练空间(DPO、RLHF、过程奖励)。基于结果还可延展:(a) 把 Unified-Bench 推广为强制双向循环基准,检测模型在 T→I 二次生成时是否保持语义不变;(b) 在 CMAM 之外引入结构感知指标(如布局保真度、对象计数 F1),因为 LongCLIP 比 DINOv3 普遍得分更高,反映了 embedding 偏置而非真实结构保持;(c) 将 5 种后训练方法在 15 个 backbone 上做 Bayesian Optimization,自适应寻找 backbone-method 配对的最优超参;(d) 构建面向中文社区的中文 UMM 子基准,重点考察 GEdit-CN 上 OmniGen2 跌至 6.25 这一薄弱面。
复现评估
TorchUMM 整体开源在 https://github.com/AIFrontierLab/TorchUMM,作者声明所有 7 张表的结果都是"independently reproduced"(非官方数),且明确给出硬件:A100-80GB 与 H100-80GB 混合多卡部署。代码库本身提供 YAML 统一配置 + CLI + Python API 三种入口,配合 Hugging Face Transformers / Diffusers 通用后端,复现门槛相对较低。但仍有几个潜在障碍:(i) 部分大模型如 Emu3.5 (34B) 即使 Int4 也需要 ≥48GB 显存 + 多卡,普通研究者难以覆盖;(ii) VIEScore 调用 Qwen2.5-VL-72B 本地部署成本高,建议提供 vLLM 远程 API 模板;(iii) CMAM 分析需要研究者重跑每条 UEval 样本的 forward+pool,且没有公布重新脚本路径,建议作者提交 standalone 工具包。
论文图表