Quantifying the Gap between Understanding and Generation within Unified Multimodal Models
Paper: arXiv:2602.02140
1. Motivation (研究动机)
Unified Multimodal Models (UMMs) 的目标是让同一个模型同时具备视觉理解、文本推理和图像生成能力。论文关心的不是“一个模型是否能做两类任务”,而是更强的问题:理解与生成是否共享同一套知识表示,能否在同一个语义问题上双向一致地回答。作者指出,现有评测通常有三个缺口:
- 单方向评测太多:MMMU、MMBench 主要测 Image-to-Text 理解,GenEval、DPG-Bench、WISE 主要测 Text-to-Image 生成;它们无法判断同一个语义知识在文本回答与图像输出之间是否一致。
- Unified benchmark 不等于 gap benchmark:RealUnify、GIR-Bench、UniEval、MME-Unify、Uni-MMMU 已经把理解与生成放进同一框架,但多半测“综合任务成功率”或“协同效果”,没有显式把理解侧和生成侧拆开并量化两者差距。
- 高性能不代表高统一:UMM 可能在理解榜或生成榜都不错,但在同一知识点上只会用文字答、不会画出来,或只会生成图像、不会用文本解释;这种情况说明模型只是工程层面合并了功能,而不是认知/知识层面融合。
论文要解决的具体问题是:构造一个同一问题可同时用 text 和 image 两种模态回答的 benchmark,并定义一个可解释的 Gap Score,用来衡量 UMM 内部 understanding 与 generation 的能力差异。这个问题值得研究,因为如果 gap 真实存在,那么“生成帮助理解 / 理解帮助生成”的叙事需要更谨慎:当前模型可能只是在接口上 unified,内部知识仍然分裂,单侧训练也未必能自然迁移到另一侧。
2. Idea (核心思想)
核心洞见:要判断 UMM 是否真正 unified,不能只比较它在理解任务和生成任务上的平均分,而应让同一个语义问题同时拥有 text-answer 与 image-answer 两种等价目标,再观察模型是否能在两种输出模态上同时成功。GAPEVAL 将每个样本设计成一对共享语义意图的 prompts:und_text_i 要求文本回答,gen_text_i 要求图像生成,并用同一底层知识 y 评估两边是否一致。
关键创新有两点:第一,benchmark 本身是 bidirectional 的,覆盖 Instruction Following、Numerical Perception、World Knowledge、Reasoning 四类能力;第二,Gap Score 不直接用 ,而是用 MIRT-MAP 同时估计模型能力和 item difficulty,再对 text/image latent ability 的差异做归一化和 co-success/co-failure 调整。
与 RealUnify / GIR-Bench 这类“协同任务”不同,GAPEVAL 的目标不是让模型完成一个混合复杂任务,而是把同一知识点拆成理解与生成两个方向,因此可以更直接地看到:模型到底是双向都懂,还是只在某一输出模态上表现好。
3. Method (方法)
3.1 Overall framework:双向问题 + Gap Qualification
Figure 1 解读:GAPEVAL 的整体流程分三层。(a) 数据层把每个问题构造成同一语义目标下的理解 prompt 与生成 prompt;(b) 评测层覆盖 9 个 UMM,并在 heatmap 中展示 understanding、generation 与 Gap Score 的关系;(c) 机制分析层进一步做 knowledge injection/editing,检查单侧知识更新是否能迁移到另一侧。这个设计把“是否会理解”和“是否会生成”从同一个问题上拆开,使 gap 不再只是两个 benchmark 分数的差,而是同一知识在两个输出通道中的一致性问题。
形式上,每个样本包含一个问题图像 (也可能为空)和一组文本指令: 两条指令共享同一语义意图,但输出模态不同。例如,理解侧可以问 “Who is he?”,生成侧可以要求 “Generate an image of him.” 对理解任务,ground truth 是 reference textual answer;对生成任务,ground truth 是 reference image 加描述文本,用于 judge 判定模型生成是否表达了同一核心语义。
3.2 Benchmark taxonomy:四类同构双向任务
Figure 2 解读:图中给出四类任务的双向样例。每个样例的 understanding 侧要求模型输出文本,generation 侧要求模型输出图像,但二者共享同一个答案或同一个变换规则。GPT Family 在图中指用于辅助生成/评估的 GPT5-mini 和 GPT-Image-1;重点不是比较 GPT,而是说明每个问题都可以被对称地改写成 text-output 与 image-output。
Instruction Following
该类任务从图像编辑扩展而来,但不是只看生成编辑图是否成功。GAPEVAL 同时要求模型在理解侧描述被编辑图像、指出变化区域;在生成侧执行同一规则并输出图像。它包括显式编辑和隐式规则两种挑战,用来检测“读懂规则”和“视觉执行规则”是否一致。
Figure 8 解读:Instruction Following case 展示的是同一编辑/规则能否在文本描述和图像生成中保持一致。若模型能说出规则但画不出对应变化,或能生成局部视觉变化但文本解释错了,都说明 instruction-grounded knowledge 没有在两侧共享。
Numerical Perception
该类任务评估数量感知与数量变换。样本通常给出含两个对象类别的图像,例如 “three ducks and two birds”,再要求模型交换数量,理解侧输出 “two ducks and three birds”,生成侧输出对应的新图像。这样可以避免模型简单复制输入图,而必须先识别数量结构,再跨模态表达变换结果。
World Knowledge
World Knowledge 要求模型把视觉线索映射到外部知识实体,并在图像和文本之间保持一致。论文举例不是直接说 “Generate Gabriel García Márquez”,而是说 “Generate a photo for the author of One Hundred Years of Solitude.” 这迫使模型先做知识解析,再决定文本答案或视觉生成目标。子域包括 animals、plants、landmarks、instruments、literature、culture。
Figure 9 解读:World Knowledge case 强调“知识实体”本身必须在两侧一致。理解侧需要从图像/问题中识别语义实体,生成侧需要把同一实体视觉化。模型若只记得文字事实但无法生成对应视觉,说明 factual knowledge 没有被生成通道可靠调用。
Reasoning
Reasoning 覆盖图像选择、知识选择、现实物理推理、逻辑推理等子类。任务要求模型把文本与视觉问题转化为同一个推理结果:理解侧输出最终答案,生成侧用图像表达最终状态或选择结果。该类对 UMM 最难,因为它同时要求视觉理解、符号推理和生成表达。
Figure 10 解读:Reasoning case 展示模型必须先推理出正确答案,再把答案转换为文本或图像。若文本侧能给出最终选项但生成侧无法圈出正确区域,说明推理结果没有稳定进入视觉输出路径。
3.3 Data construction:646 个高质量 human-annotated 双向问题
GAPEVAL 一共包含 646 个 human-annotated unified questions。与已有 benchmark 对比,GAPEVAL 同时覆盖 understanding task 的 WK/RS/VP、generation task 的 IF/WK/RS,并显式支持 SYN、BI、GQ 三个特性:synergy evaluation、bidirectional formulation、gap quantification。
数据构造采用人工策划 + 自动生成 + cross-check 的多阶段流程:
- World Knowledge:从公开网页和开源数据集中策划/改写知识实体,保证每个实体可同时用文本答案和图像结果表达,并通过交叉检查修正实体和 prompts。
- Numerical Perception:选择动物、车辆等对象集合,用 Qwen-Image 生成计数图像;人工筛掉低质量样本,并对数量不匹配的图像重写 prompts/question,使最终题目严格满足计数要求。
- Instruction Following:从开源数据集中挖掘具有显著视觉变化的样本,并手工构造 rule-based editing prompts;文本输出要求描述编辑后图像并指出修改区域。
- Reasoning:包含三个来源:手工构造的现实物理推理与示意图;把 MMLU/MMMU 文本题渲染成图像的 multiple-choice reasoning;以及从网络/开源来源收集的 image state transition reasoning。所有题目要求唯一答案和一致 solution key。
3.4 Metric:两阶段评测与 MIRT-MAP Gap Score
第一阶段是 capability measurement。每个模型输出都会由 GPT-5-mini 按类别特定 prompt 判为 binary correctness:正确为 1,错误为 0。作者在 held-out 200 samples 上检查 judge reliability,GPT-5-mini 与人工标注的一致率为 92%;附录还用 Gemini3-Flash 复算 Gap Score,二者排名 Pearson correlation 为 0.9656。
第二阶段是 capability gap measurement。作者认为直接平均会把“item 很难导致两边都错”和“模型两侧能力不一致”混在一起,因此采用 two-dimensional Item Response Theory。对模型 ,定义 latent ability: 对应成功概率为: Stage I 的 binary 结果先聚合为四类 count:、、、,再得到 text/image 的 success/fail marginal counts。联合 log-likelihood 为: $ \begin{aligned} \mathcal{L}(\boldsymbol{\Theta}, \boldsymbol{\beta}) = \sum_{i=1}^N \Big[& n_i^{\text{text-success}} \log P_i^{\text{text}}
- n_i^{\text{text-fail}} \log(1-P_i^{\text{text}}) \ &+ n_i^{\text{image-success}} \log P_i^{\text{image}}
- n_i^{\text{image-fail}} \log(1-P_i^{\text{image}})\Big]. \end{aligned} \boldsymbol{\theta}i p(\boldsymbol{\theta}i)=\mathcal{N}(\boldsymbol{\theta}i\mid \boldsymbol{\mu},\boldsymbol{\Sigma}), \qquad \boldsymbol{\Sigma}=LL^\top. \mathcal{L}{\text{MAP}} = \mathcal{L}(\boldsymbol{\Theta},\boldsymbol{\beta}) -\frac12\sum{i=1}^N(\boldsymbol{\theta}i-\boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1}(\boldsymbol{\theta}i-\boldsymbol{\mu}) -\frac{N}{2}\log |\boldsymbol{\Sigma}|. \Delta\theta_i = \theta_i^{\text{text}} - \theta_i^{\text{image}}, \qquad \mathcal{G}{\text{abs}}(\Delta\theta_i)=\frac{|\Delta\theta_i|}{1+|\Delta\theta_i|}. \lambda{\mathrm{fail}}=\lambda{\mathrm{succ}}=2$。直觉是:如果模型两边都成功,说明统一性更强;如果两边都失败,单纯看差值可能低估了“共同无能力”的问题,需要惩罚。
3.5 Evaluation pipeline pseudocode(论文算法化流程;非 released code)
论文没有公开实现仓库,以下伪代码仅对应论文中的评测和 MIRT-MAP 公式,不代表 released code。
import torch
import torch.nn.functional as F
def judge_bidirectional_outputs(model, items, judge):
records = []
for item in items:
text_answer = model.generate_text(item.image, item.und_text)
image_answer = model.generate_image(item.image, item.gen_text)
text_ok = judge.score_text(
question=item.und_text,
answer=text_answer,
reference_text=item.y_text,
reference_image=item.y_image,
) # binary 0/1
image_ok = judge.score_image(
question=item.gen_text,
image=image_answer,
reference_text=item.y_text,
reference_image=item.y_image,
) # binary 0/1
records.append((text_ok, image_ok))
return records
def aggregate_counts(records):
counts = {"T_ok_I_bad": 0, "T_bad_I_ok": 0, "both_ok": 0, "both_bad": 0}
for text_ok, image_ok in records:
if text_ok and image_ok:
counts["both_ok"] += 1
elif text_ok and not image_ok:
counts["T_ok_I_bad"] += 1
elif (not text_ok) and image_ok:
counts["T_bad_I_ok"] += 1
else:
counts["both_bad"] += 1
return counts
def mirt_map_gap(counts_by_model, steps=5000, lr=1e-2, lam_fail=2.0, lam_succ=2.0):
n_models = len(counts_by_model)
theta = torch.zeros(n_models, 2, requires_grad=True) # [:, 0]=text, [:, 1]=image
beta = torch.zeros(2, requires_grad=True)
mu = torch.zeros(2, requires_grad=True)
tril = torch.eye(2, requires_grad=True)
opt = torch.optim.Adam([theta, beta, mu, tril], lr=lr)
for _ in range(steps):
sigma = tril @ tril.T + 1e-4 * torch.eye(2)
inv_sigma = torch.inverse(sigma)
log_det = torch.logdet(sigma)
loss = 0.0
for i, c in enumerate(counts_by_model):
p_text = torch.sigmoid(theta[i, 0] - beta[0])
p_img = torch.sigmoid(theta[i, 1] - beta[1])
text_success = c["T_ok_I_bad"] + c["both_ok"]
text_fail = c["T_bad_I_ok"] + c["both_bad"]
img_success = c["T_bad_I_ok"] + c["both_ok"]
img_fail = c["T_ok_I_bad"] + c["both_bad"]
log_lik = (
text_success * torch.log(p_text + 1e-8)
+ text_fail * torch.log(1 - p_text + 1e-8)
+ img_success * torch.log(p_img + 1e-8)
+ img_fail * torch.log(1 - p_img + 1e-8)
)
diff = theta[i] - mu
log_prior = -0.5 * diff @ inv_sigma @ diff - 0.5 * log_det
loss = loss - (log_lik + log_prior)
opt.zero_grad()
loss.backward()
opt.step()
delta = theta[:, 0] - theta[:, 1]
base_gap = torch.abs(delta) / (1.0 + torch.abs(delta))
adjusted = []
for gap, c in zip(base_gap, counts_by_model):
total = sum(c.values())
s_i = c["both_ok"] / max(total, 1)
f_i = c["both_bad"] / max(total, 1)
logit_gap = torch.logit(gap.clamp(1e-6, 1 - 1e-6)) + lam_fail * f_i - lam_succ * s_i
adjusted.append(torch.sigmoid(logit_gap) * 100)
return torch.stack(adjusted)3.6 Unified Knowledge empirical study:用知识注入/编辑检查“单侧训练能否迁移”
Figure 4 解读:训练数据 case gallery 展示知识 manipulation 的基本形式。论文把知识实体写成 ,其中 subject/object 可以是文本或图像;在视觉-语言关系里,它主要对应“图像中的对象”和“文本实体名/描述”之间的映射。
作者进一步问:如果理解和生成真的共享知识,那么在一侧注入或编辑知识后,另一侧也应受益。实验选择三种不同架构的 UMM:Show-o2、OmniGen2、Bagel,并构造两类知识操作:
- Knowledge Injection:先从约 2,000 个 landmarks、celebrities、biological organisms 等长尾候选实体出发,每个实体收集 10+ 图像;再用模型 VQA 和 T2I 检查,只有所有目标 UMM 都无法识别/生成的实体才保留,最终得到约 100 个 unknown objects。
- Knowledge Editing:从 GenEval 选择约 50 对概念相关或同类对象,如
boat ↔ car、camera ↔ microwave,用 Qwen-Image 生成图像,并构造 counter-factual label assignment:Object A 的图像在 VQA 中标成 Object B,prompt “Object A” 的 T2I target 则是 Object B 的图像。
训练样本是 bidirectional 的:VQA 侧每个 object 有 open-ended 和 multiple-choice 两类问题,每类 5 个样本;T2I 侧每个 object 有 10 个 caption-image pairs(5 个详细描述 + 5 个短 caption)。评估中,understanding 任务和 knowledge editing 的 generation 任务用 GPT5-mini 判定,knowledge injection 的 generation 任务用 CLIP 相似度比较生成图与参考图。
4. Experimental Setup (实验设置)
4.1 数据集与规模
- GAPEVAL benchmark:646 个 human-annotated unified questions;每个问题可以通过 text 或 image 输出回答。
- 任务类别:Instruction Following、Numerical Perception、World Knowledge、Reasoning 四大类。
- Empirical study 数据:knowledge injection 从约 2,000 个候选长尾实体过滤到约 100 个 unknown objects;knowledge editing 从 GenEval 选择约 50 对对象;每个实体构造 VQA 与 T2I 双向训练样本。
4.2 模型与 baselines
UMM 评测覆盖 9 个 unified models:Bagel-7B、OneCAT-3B、UniWorld-V1、UniPic2-Mataquery-9B、Show-o2、OmniGen2、Ovis-U1、Gemini2.5-Flash-Image、GPT-Image-1。非 UMM baselines 包括理解-only 与生成-only 模型:GPT5-mini、Gemini2.5-Flash、Qwen3-VL 235B-A22B、Qwen3-VL 8B、FLUX.1-dev、Qwen-Image。
4.3 Metrics
- Succ. / Success Score:同一问题在理解与生成两侧都回答正确的比例。
- Und. / Understanding Score:文本回答正确率。
- Gen. / Generation Score:图像输出正确率。
- Gap Score:基于 MIRT-MAP latent abilities 的 understanding-generation gap,归一化到 0–100,越低表示两侧越一致。
- Judge reliability:GPT5-mini 与人工在 200 held-out samples 上 92% agreement;Gemini3-Flash 与 GPT5-mini 计算的 Gap Score 排名 Pearson correlation 为 0.9656。
4.4 采样与训练配置
Benchmark evaluation 对每个模型、每个问题、每个输出模态执行 10 independent sampling runs,最终报告 average accuracy 与 Gap Score。论文没有给出所有模型的统一训练/推理超参数,因为多数模型是 closed-source 或直接调用现成 checkpoint/API;empirical study 的 fine-tuning 细节以知识操作任务为主,论文未公开具体 GPU、batch size、learning rate 等完整训练配置。
5. Experimental Results (实验结果)
5.1 主结果:UMM 普遍存在 understanding-generation gap
Figure 3 解读:heatmap 把模型的 Understanding Score、Generation Score 与 Gap Score 放在同一空间中。趋势不是“性能越高 gap 越低”:一些模型在某一侧分数较高,但另一侧跟不上;也有模型整体成功率不高却相对更均衡。它说明 unified model 的能力评价需要同时看性能和一致性。
主表中每个任务报告 Succ / Und / Gen / Gap,最后一列是整体 Gap Score。关键 UMM 结果如下:
| Model | World Knowledge | Numerical Perception | Instruction Following | Reasoning | Overall Gap |
|---|---|---|---|---|---|
| Bagel | 52.24 / 88.17 / 58.50 / 56.67 | 2.40 / 17.00 / 8.40 / 84.87 | 46.38 / 59.15 / 75.74 / 57.38 | 2.49 / 35.67 / 5.38 / 87.14 | 71.52 |
| OneCAT | 57.14 / 88.26 / 62.92 / 33.14 | 2.75 / 9.00 / 9.75 / 62.33 | 23.67 / 50.00 / 41.22 / 37.51 | 0.66 / 20.66 / 1.56 / 85.36 | 54.73 |
| UniWorld-V1 | 87.84 / 93.28 / 92.74 / 12.60 | 1.00 / 10.60 / 3.60 / 84.68 | 28.51 / 62.13 / 46.60 / 70.46 | 1.11 / 36.78 / 1.44 / 86.11 | 63.47 |
| Show-o2 | 49.32 / 86.31 / 55.84 / 51.02 | 7.00 / 16.16 / 15.15 / 71.24 | 21.28 / 70.22 / 32.98 / 70.77 | 2.63 / 22.37 / 3.62 / 78.31 | 67.83 |
| OmniGen2 | 29.93 / 86.22 / 35.54 / 81.57 | 2.00 / 9.25 / 3.50 / 91.55 | 3.99 / 9.58 / 55.59 / 92.36 | 1.23 / 17.21 / 4.43 / 92.40 | 89.47 |
| Ovis-U1 | 37.82 / 87.34 / 43.13 / 75.06 | 1.00 / 13.00 / 3.00 / 91.51 | 29.36 / 68.51 / 44.04 / 77.86 | 1.70 / 25.37 / 2.62 / 92.00 | 84.10 |
| GPT-Image-1 | 66.67 / 95.91 / 68.03 / 44.45 | 7.00 / 25.00 / 10.00 / 83.87 | 86.17 / 95.74 / 90.43 / 20.83 | 50.98 / 73.02 / 56.07 / 53.29 | 50.61 |
这里的核心结论有三条:
- 多数 UMM 只能单侧成功:Success Score 普遍远低于 Und. 或 Gen. 单侧分数,说明很多样本在一个模态上答对,在另一个模态上失败。
- 理解强不等于生成强:理解-only 模型在 comprehension-oriented tasks 上往往优于 UMM;生成任务中 closed-source UMM 又优于 generation-only baselines,这说明能力迁移存在但很不均衡。
- 性能好不等于 unified:OneCAT 整体能力弱于 Bagel,但 Overall Gap 为 54.73,低于 Bagel 的 71.52;UniWorld-V1 在 World Knowledge 上很强,但 Numerical Perception 和 Reasoning gap 仍然很高。
5.2 与 synergy benchmark 的关系
Figure 7 解读:附录分析 Gap Score 与 GIR-Bench performance 的相关性。作者想说明,synergy benchmark 衡量的是完成综合任务的效果,而 Gap Score 衡量的是理解与生成两侧的 alignment;二者相关但不等价。一个模型可以在某些综合任务中表现不错,但在同一知识的 text/image 双向表达上仍然不一致。
5.3 Judge robustness:不同 judge 给出接近排序
附录用 Gemini3-Flash 复算 Gap Score,并与 GPT5-mini 结果比较。示例:Bagel 为 72.96 vs 71.52,OneCAT 为 60.67 vs 54.73,UniWorld-V1 为 66.64 vs 63.47,Show-o2 为 72.33 vs 67.83,OmniGen2 为 88.87 vs 89.74,Gemini2.5-Flash-Image 为 62.65 vs 62.91,GPT-Image-1 为 47.47 vs 50.61。Pearson correlation 达到 0.9656,支持该 factual/objective 评测场景中 MLLM-as-a-Judge 排序较稳定。
5.4 Knowledge manipulation:单侧训练很难自然迁移到另一侧
Figure 5 解读:这张图跟踪 Show-o 在 knowledge edit 任务上的训练过程,示例实体是 Microwave Oven -> Rice Cooker。理解侧曲线在前几千步快速上升并接近 0.8,而生成侧提升明显更慢。这说明文本理解通道更容易吸收新映射,生成通道需要更长优化才能把同一知识视觉化。
Figure 6 解读:模型在不同训练策略下的表现显示,train on understanding 主要提升 understanding,train on generation 主要提升 generation;另一侧通常几乎不动。论文特别指出,knowledge editing 中,理解侧 fine-tuning 可显著提高 Bagel 的 understanding score(约 +0.62)和 OmniGen2(约 +0.56),但 generation 几乎不变;generation 侧训练在 Show-o 上可达到约 0.89 的 generation 提升,却不能同等提升 understanding。
这部分实验直接回应“理解帮助生成 / 生成帮助理解”的问题:作者不是只讨论,而是通过单侧知识注入/编辑做了经验检验。结论偏负面:当前 UMM 中两侧知识往往是 disjoint 的;单侧训练会造成 modality-specific knowledge drift,知识更新不能可靠传播到另一侧。对于 knowledge injection,跨模态影响存在但有限;对于 knowledge editing,旧知识更容易在未训练的一侧残留。
5.5 Limitations 与总体结论
论文没有把 GapEval 解释为最终统一性的完整定义,而是把它定位为可控、可解释的诊断工具。局限主要包括:
- 评测依赖 MLLM-as-a-Judge;虽然有 92% human agreement 和跨 judge correlation,但 judge 仍可能在复杂视觉生成判断中引入偏差。
- Benchmark 规模为 646,强调高质量 human annotation 和双向构造,覆盖面不如大规模单向 benchmark。
- 许多模型是 closed-source/API,训练配置、采样设置和内部架构细节无法完全统一控制。
- Empirical study 只选择 Show-o、OmniGen2、Bagel 三类代表模型,结论可解释但不是所有 UMM 架构的充分证明。
总体结论是:当前 unified multimodal models 更像是把理解与生成能力放在同一个系统里,而不是已经实现深层知识融合。GAPEVAL 的结果表明,模型能力提升不自动带来低 gap;真正的下一阶段 unified model 需要让 knowledge representation、learning dynamics 和 output modality 之间更一致,而不是只扩展任务接口。
公开代码检索记录
代码搜索未找到开源实现。已检查 arXiv HTML / LaTeX source 中的 GitHub 链接,只有 CVPR author-kit;Web/GitHub 搜索 "Quantifying the Gap between Understanding and Generation" GitHub、"GapEval" "Unified Multimodal Models" GitHub、"GAPEVAL" "2602.02140"、"Chenlong Wang" "GapEval" github、GitHub code search 2602.02140,未发现官方实现或数据仓库。因此本笔记不设置 github / github_ref 属性,也不做 released code mapping。