Semantic Generative Tuning for Unified Multimodal Models
Paper: arXiv:2605.18714 Code: song2yu/SGT Code reference:
main@dfb09419(2026-05-19)
1. Motivation (研究动机)
这篇论文要解决的是 Unified Multimodal Models(UMMs)里一个看似已经被架构统一、但训练目标仍然割裂的问题:同一个模型既要做视觉理解,又要做图像生成/编辑,但现有训练通常把理解能力交给稀疏文本监督,把生成能力交给像素级或视觉 token 级的稠密重建监督。架构上它们共享一套或相互连接的模块,优化上却仍然像两个任务各训各的。因此,模型可能在 VQA 上能读懂图像,却不能把这种理解迁移到生成布局;也可能通过图像重建提升生成质感,却没有真正学到对物体、关系、空间位置有帮助的语义结构。
Figure 1 解读:图 1 把三类 UMM 对齐策略放在一起比较。左侧传统路线把 understanding 和 generation 分开优化,模型虽然统一但能力协同弱;中间的 pixel-level reconstruction 试图用重建来打通两边,但容易把训练注意力压到纹理、边缘、高频细节;右侧的 SGT 把中间代理任务提升到 semantic level,用 segmentation 这类结构化语义目标过滤低层噪声,让理解模块需要的语义结构和生成模块需要的空间布局在同一个可生成目标里相遇。
更具体地说,当前 UMM 的视觉理解训练通常是“图像输入 文本答案”的 cross-entropy 监督,信号很稀疏:一个回答可能只包含几个词,模型能从语言先验或数据偏置中猜到答案。视觉生成训练则是“文本/条件 图像”的扩散或自回归式生成目标,信号很稠密:每个像素或 latent 都要被建模,但这种目标并不自动强调“什么物体在哪里、哪些区域属于同一个实例、空间关系是否正确”。这就造成了论文所说的 representation spaces isolation:理解侧的语义 token、生成侧的视觉 latent、编辑侧的 VAE/噪声路径没有被同一个语义代理任务充分约束。
已有一个自然思路是用 reconstruction 作为桥:如果模型能从视觉 embedding 生成回原图,也许 embedding 就会更好。然而论文认为,pixel-space reconstruction 并不是最适合 UMM 的桥。重建 RGB 图像会奖励纹理、颜色渐变、局部高频等低层 fidelity;这些细节对图像质量有用,但对 VQA、空间推理、幻觉抑制不一定是核心。视觉理解真正依赖的是对象边界、实例划分、类别/区域结构和空间约束。若把大量优化预算花在像素级还原上,模型可能学习“怎么把图像画得像”,却不一定学习“图像里的可推理结构是什么”。
论文的目标因此非常明确:在 UMM post-training 阶段寻找一个比 RGB reconstruction 更合适的 generative proxy,使它既是可生成的视觉目标,又含有足够高层的语义结构,从而同时增强 understanding 和 generation。作者系统比较了从低层到高层的视觉任务:edge detection、image restoration、depth/inpainting、object detection、semantic/instance/panoptic segmentation 等,并在 BAGEL 与 OmniGen2 两类 UMM 上验证。最终发现 segmentation 这一高层语义代理最稳定,既能提升 vision-centric perception、spatial reasoning、hallucination robustness,也能改善 GenEval 中 position/color 等布局相关生成维度。
这个问题值得研究的原因在于,UMM 的长期价值不只是“一个模型会两件事”,而是理解和生成可以形成闭环:理解能力帮助生成遵循语义和关系,生成训练反过来让视觉表示更结构化、更可解释。如果这个闭环成立,模型可以更好地支持 interleaved image-text generation、视觉编辑、复杂场景生成、视觉 grounding、以及需要反复读图和改图的 agentic workflows。SGT 的贡献点不是提出一个新骨干,而是在 post-training target 上指出:用 semantic visual supervision 作为中间层,比直接用文本监督或像素重建更适合打通 UMM 内部的语义-生成鸿沟。
2. Idea (核心思想)
核心 insight 是:UMM 需要的桥接信号不应太稀疏,也不应太底层;segmentation 这样的高层视觉生成目标刚好位于 sparse text supervision 和 dense RGB reconstruction 之间。它仍然是一个图像生成任务,因此能训练生成路径;但输出不是自然图像纹理,而是由物体/区域/实例结构组成的语义图,因此能迫使视觉表示学习对理解任务有用的结构。
SGT(Semantic Generative Tuning)的关键创新是把 segmentation 当作 generative post-training proxy:输入 RGB 图像和简短任务指令,模型需要生成对应 segmentation mask / colorized instance mask / panoptic-style target。与 ReCA 这类 reconstruction alignment 相比,SGT 不追求像素级复制原图,而是让模型学习从视觉 token 和噪声条件中恢复语义结构;与普通 VQA SFT 相比,SGT 的监督是稠密视觉输出,不只是文本答案,因此能直接约束生成布局和空间一致性。
本质区别可以用三个层次理解。第一,传统 UMM SFT 优化的是文本答案,可能强化语言先验但不直接训练生成路径。第二,pixel reconstruction 优化的是视觉 fidelity,可能提升生成但引入大量与理解无关的高频细节。第三,SGT 优化的是 semantic visual layout:目标图像虽然是视觉形式,但包含的是 object/region/instance-level 结构,所以它同时服务于理解侧的语义判别和生成侧的布局控制。论文的实验证据也支持这个判断:低层 edge 与 reconstruction 有增益,但 segmentation 在 BAGEL 和 OmniGen2 的多数理解指标上更强;在生成上,不同 proxy 都能改善 position 相关维度,但 SGT 在综合 UMM 能力上更均衡。
3. Method (方法)
3.1 Overall framework:UMM 形式化与 SGT 训练管线
论文先把 UMM 写成一个统一函数 。给定文本 prompt 、可选参考图像 ,模型会根据任务使用不同条件:视觉理解需要语义视觉特征,生成需要初始噪声,编辑则可能同时需要 ViT 语义特征、VAE latent 和噪声。以双编码器 UMM 为例,ViT encoder 提取 ,VAE encoder 提取保留纹理和结构细节的 。论文的统一任务形式为: SGT 把 generative tuning 写成条件生成: 其中 是针对视觉代理任务的简短自然语言指令, 是目标视觉表示。关键是 不再固定为 RGB 原图,而可以是 edge map、depth map、reconstruction target、segmentation map 等。作者通过控制输入 RGB 图像相同、训练样本规模相同、只改变视觉 proxy granularity,来隔离“代理任务层级”对 UMM 的影响。
Figure 2 解读:图 2 是 SGT 的训练管线。RGB image 经 vision encoder 得到 visual embedding,文本 instruction 经 text encoder 得到文本条件,UMM 把两者与 generation path 结合后输出目标 proxy image。普通 reconstruction 会让输出接近原图,而 SGT 选择 segmentation 作为 。这个选择使模型必须保留区域边界、实例结构和空间布局,同时避免被纹理重建牵着走。
直觉上,SGT 像是在 UMM 内部插入一个“语义渲染练习”:模型看到原图,不是回答一句话,也不是照抄原图,而是把图像重画成结构化 mask。要完成这个任务,模型必须知道哪些像素/区域属于同一对象,哪些边界是语义边界,哪些空间关系会影响对象布局。生成这个 mask 的过程又需要 generation module 参与,因此它不是单纯改善 encoder 的 representation learning,而是让理解表示和生成过程在同一语义目标上被共同校准。
3.2 Hierarchical visual task taxonomy:为什么要比较不同视觉 proxy
作者没有直接宣称 segmentation 最好,而是建立了一个层级任务梯子。高层任务包括 semantic/instance/panoptic segmentation 与 object detection;中层任务包括 depth estimation、inpainting;低层任务包括 edge detection、denoising、deblurring、low-light enhancement、de-raining/de-hazing、super-resolution、RGB reconstruction 等。补充材料中说明,每个独立任务类别使用 20k sample pairs;MS COCO train set 是主要实验基底,segmentation/detection 使用 COCO 原始标注生成目标,其余视觉任务从 RGB 图像合成退化或估计目标。

Figure A1 解读:Appendix Figure A1 展示了被比较的视觉代理任务。上排是 RGB、semantic/instance/panoptic segmentation、object detection、depth estimation;下排是 de-raining、de-hazing、denoising、ISR、deblurring、edge detection、low-light enhancement 等。这个图的作用是说明作者比较的不是“segmentation vs 一个弱 baseline”,而是一组从语义密度、空间结构、低层纹理到图像恢复的完整任务族。
各任务的数据处理有几个重要细节。Segmentation 和 detection 直接依赖 COCO annotations:segmentation mask 被 colorization 成三通道 pseudo-color images;detection 则把 bounding box 和类别标签绘制到原图上作为目标。Depth 使用 Depth Anything V2 与 DepthPro 双模型估计,再用 least-squares alignment 比对一致性;若两者差异超过 0.4,则丢弃样本并随机替换,以保持训练量。Edge 使用 Canny,下阈值 100、上阈值 200。Super-resolution 使用 2/4/6/8 倍 downsampling,再双线性上采样回同分辨率作为输入。Deblurring 使用 10/20/30 三种 blur kernel sizes 和 随机角度。Low-light enhancement 随机把亮度缩放到 0.1–0.5,并加入 0.01–0.04 强度噪声。Denoising 混合 Gaussian noise、JPEG artifacts、salt-and-pepper noise 与 Poisson noise。
这个 taxonomy 的核心不是为了把所有任务都用到最终方法,而是为了回答一个因果问题:如果 UMM 的 generative tuning target 从低层纹理变成高层语义,理解和生成性能会怎样变化?通过控制样本数、输入图像和训练流程,作者把性能变化归因到 proxy level,而不是数据规模或额外文本知识。
3.3 Empirical observations:从任务比较导出 SGT
Figure 3a–3b 解读:图 3a 比较不同 visual proxy 对六类理解能力的提升,图 3b 比较它们对 GenEval 各生成维度的影响。图 3a 的核心趋势是 high-level segmentation 类任务在 understanding gain 上更强,低层 edge/reconstruction 的提升较弱且更偏向视觉表面;图 3b 则显示多类 visual proxy 都能改善 position 相关生成维度,说明“生成一个结构化视觉目标”本身会带来空间约束,但 segmentation 在理解侧收益更突出。
论文总结了三条观察。第一,高层 semantic tasks 比低层 cues 更适合提升 multimodal understanding。补充 Table 3 的细项显示,在只做 generative tuning、没有额外 SFT 的约束下,BAGEL baseline 的 overall 是 74.8;+Panoptic 达到 75.8,+Instance 达到 75.6,+Semantic 达到 75.5,而 +Reconstruction 是 74.7,+Edge 是 74.4。OmniGen2 baseline overall 是 67.8;+Panoptic 达到 69.0,+Inpainting 68.3,+Recon 68.1,+Edge 67.9。这个结果支持“语义级代理比像素级代理更贴近理解需求”。
第二,visual supervision 主要增强 perception,而不是凭空注入 reasoning 或 knowledge。论文在补充材料中明确指出,只依赖 generative tuning 会使 table interpretation 和 knowledge reasoning 有轻微退化:例如 BAGEL +Panoptic 在 OCR/Doc/Math/Sci 上分别是 79.3/93.3/71.9/95.3,相比 BAGEL 的 81.0/94.0/72.2/95.9 并非全面提升。这说明 SGT 的功能是 alignment 和 representation improvement,而不是替代 VQA SFT 或知识训练。
第三,多种 proxy 都能改善 spatial fidelity,特别是 position 维度。GenEval 细表显示,BAGEL 从 position 51.3 提升到 +Edge 57.3、+Reconstruction 57.1、+Depth 57.3、+Segmentation 56.6;OmniGen2 从 position 47.0 提升到 +Edge 53.2、+Reconstruction 55.5、+Depth 56.6、+Segmentation 53.3。这说明只要训练模型生成某种结构化视觉目标,就会强化空间布局;但 SGT 的优势在于它兼顾理解侧的 semantic representation。
把这三点合在一起,SGT 的最终定义就很自然:在 UMM post-training 中,把 image segmentation 作为主要 visual generative proxy;它是高层语义目标,有空间结构,有稠密 supervision,同时不会把模型绑在 RGB texture reconstruction 上。论文还补充说 semantic instance/panoptic segmentation 和 class-agnostic segmentation 都有类似收益,因此“semantic”不是指必须使用特定类别标签,而是指训练信号要位于对象/区域/结构层面。
3.4 Data recipe and optimization:最终后训练怎样配比
Holistic post-training 数据配比
最终训练不是只用 segmentation。论文在实验部分构建了一个 holistic post-training:SGT 数据来自 SAM dataset 的 190k samples,同时与 LLaVA-OneVision 风格的 VQA/SFT 数据混合。Table 1 的训练数据统计为:SGT 190k、General 180k、Doc/Chart/Screen 103k、Math/Reasoning 101k、General OCR 45k、Language 72k,合计约 691k。论文正文说进一步与 500k LLaVA-OneVision supervised fine-tuning samples 协同,目的就是避免 SGT 在知识密集任务上单独训练导致退化。
Figure 5a–5b 解读
图 5a 比较 segmentation 与 VQA/SFT 在 batch 内的比例,作者报告两个架构在 Seg:VQA = 2:1 时综合理解分数最优;图 5b 固定 VQA SFT 数据、扩大 segmentation 数据规模,从 2k 到 100k 时平均 normalized score 单调上升,BAGEL 增益 +3.3%,OmniGen2 增益 +2.0%。这说明 SGT 不是只在小规模 ablation 上有效,而具备数据规模可扩展性。
Figure 6 解读
图 6 显示 BAGEL 在不同 SFT:Seg 配比下的训练动态。和仅用 VQA SFT 的 1:0 baseline 相比,引入 segmentation 数据后,在 CV-Bench、MMVP、Hallusion 等代表性 benchmark 上收敛更快、最终性能更高。这里的意义是 SGT 不只是末端分数提高,还改变了优化过程:模型更早学到稳定的视觉结构表示。
训练配置:OmniGen2 与 BAGEL
补充材料的训练配置给出论文报告的整体设置:OmniGen2 使用 3B understanding module + 4B generation module,BAGEL 使用 7B + 7B;二者都用 AdamW,、、weight decay 0.01、global batch size 60。论文表中 OmniGen2 学习率为 、warmup 300、training steps 2500、训练约 4 小时;BAGEL 学习率为 、warmup 1000、training steps 10000、训练约 18 小时。
Paper-code 对齐与差异
论文公式与 released code 实现差异:发布代码提供了可复现训练入口,但部分 YAML/launcher 与论文表格不是逐项一致。BAGEL/shells/train_sgt.sh 明确用 torchrun --nproc_per_node=8 启动 train/pretrain_unified_navit.py,传入 --dataset_config_file ${DATASET_CFG}、--freeze_vae True、--freeze_vit False、--freeze_llm False、--freeze_und False、--lr 0.0001,与论文中 BAGEL LR 一致;
BAGEL 默认数据配置
默认数据配置 BAGEL/data/configs/high_mixed_sam.yaml 包含 sam190k num_used_data=190000 weight=1 与 vlm_sft num_used_data=500000 weight=5.0。但 OmniGen2 的 release 中有两类配置:纯 semantic proxy 的 OmniGen2/options/ft_semantic.yml 使用 global_batch_size=8、max_train_steps=9000、learning_rate=8e-7;
OmniGen2 混合配置
混合 SFT+SAM 的 OmniGen2/options/sft_panoptic.yml 才包含 interleave_pattern=[gen, gen, sft]、global_batch_size=60、batch_size=2、gradient_accumulation_steps=30、max_train_steps=5000、learning_rate=5e-6。因此笔记中的“论文训练配置”按 appendix table 记录;“released code 配置”按上述具体文件锚定,不能把 ft_semantic.yml 的默认数值误当成论文最终表格。
3.5 Released code grounding:真实代码怎样构造 SGT 样本
发布仓库 song2yu/SGT 同时包含 project page、BAGEL 适配代码和 OmniGen2 适配代码。BAGEL 侧的 Sam190KDataset 最能体现 SGT 的数据构造:读取 SAM 190k 图像路径,把 sam_selection/...jpg 替换为 sam_mask/...png 得到 segmentation mask,随机抽取一条 segmentation prompt,把原图分别变换成 ViT 输入和 VAE/image 输入,把 mask 作为需要计算 image loss 的 VAE target。sequence_plan 中 vit_image 和 text 的 loss=0,最后的 vae_image 的 loss=1,这与论文的 对应:监督只落在生成的视觉目标上。
def build_bagel_sgt_sample(image_file, transforms, vit_transform, tokenizer, prompts):
image = pil_img2rgb(Image.open(image_file))
mask_file = image_file.replace("sam_selection", "sam_mask").replace("jpg", "png")
target_mask = pil_img2rgb(Image.open(mask_file)).resize(image.size)
prompt = random.choice(prompts) # e.g. "Segment instances with different colors."
image_tensor = transforms(image)
vit_tensor = vit_transform(image)
target_tensor = transforms(target_mask)
text_ids = tokenizer.encode(prompt)
sequence_plan = [
{"type": "vit_image", "enable_cfg": 0, "loss": 0},
{"type": "text", "enable_cfg": 1, "loss": 0},
{"type": "vae_image", "enable_cfg": 0, "loss": 1},
]
return {
"image_tensor_list": [vit_tensor, image_tensor, target_tensor],
"text_ids_list": [text_ids],
"sequence_plan": sequence_plan,
}OmniGen2 侧更突出 batch recipe。sft_panoptic.yml 的数据配置把 LLaVA-OneVision SFT 写成 type: sft, ratio: 1.0,把 SAM-190k 写成 type: sam, ratio: 2.0;训练配置又加入 interleave_pattern: [gen, gen, sft]。代码注释说明每个梯度累积周期包含两个 generative micro-batches 和一个 SFT micro-batch,保持 2:1 SAM-vs-SFT ratio,同时每个 micro-batch 仍是 single-task,避免训练循环处理混合 batch。
def make_omnigen2_interleaved_batches(gen_loader, sft_loader):
# released config: data.interleave_pattern = ["gen", "gen", "sft"]
pattern = ["gen", "gen", "sft"]
streams = {"gen": iter(gen_loader), "sft": iter(sft_loader)}
while True:
for task_type in pattern:
batch = next(streams[task_type])
batch["task_type"] = task_type
yield batch训练 loop 的核心在两个代码库中形式不同但语义一致:BAGEL 在 pretrain_unified_navit.py 中根据 batch 的 sequence_plan 组织 multimodal tokens,必要时用 VAE encode 图像,调用 fsdp_model(**data) 得到 loss_dict,再对 loss 做 backward/step;OmniGen2 在 train.py 中构建 dataset/sampler/DataLoader、选择 AdamW 或 AdamW8bit、准备 accelerator,并对 total_loss 调用 accelerator.backward(total_loss)。
def train_sgt_step(model, batch, optimizer, vae=None, accelerator=None):
if vae is not None and batch.get("needs_vae_encode", False):
with torch.no_grad():
batch["padded_latent"] = vae.encode(batch.pop("padded_images"))
loss_dict = model(**batch)
total_loss = loss_dict["loss"] if "loss" in loss_dict else sum(loss_dict.values())
optimizer.zero_grad(set_to_none=True)
if accelerator is None:
total_loss.backward()
else:
accelerator.backward(total_loss)
optimizer.step()
return {k: float(v.detach()) for k, v in loss_dict.items()}Code reference:
main@dfb09419(2026-05-19) — pseudocode and mapping based on this commit
| Paper Concept | Source File | Key Class/Function |
|---|---|---|
| SGT repository / public release | README.md | Training/inference instructions, links to BAGEL, OmniGen2, ReCA |
| SAM-190k segmentation proxy | BAGEL/data/sam_190k.py | Sam190KDataset.__iter__ maps sam_selection image to sam_mask target and sets vae_image loss=1 |
| COCO semantic proxy ablation | BAGEL/data/semantic.py | SemanticDataset.__iter__ maps train2017 image to annotations/stuff_train2017_pixelmaps target |
| Prompt templates for mask generation | BAGEL/data/consts.py | get_segment_prompt_list() returns segmentation instructions such as “Segment instances with different colors.” |
| BAGEL mixed SGT+SFT recipe | BAGEL/data/configs/high_mixed_sam.yaml | sam190k=190000, vlm_sft=500000, weights 1 and 5.0 |
| BAGEL launch script | BAGEL/shells/train_sgt.sh | torchrun --nproc_per_node=8, --dataset_config_file, --lr 0.0001, freeze flags |
| BAGEL training loop | BAGEL/train/pretrain_unified_navit.py | fsdp_model(**data), loss.backward(), optimizer step/checkpoint |
| OmniGen2 pure proxy config | OmniGen2/options/ft_semantic.yml | data_path=.../semantic.yml, max_train_steps=9000, learning_rate=8e-7 |
| OmniGen2 final 2:1 mixed config | OmniGen2/options/sft_panoptic.yml | interleave_pattern=[gen, gen, sft], global_batch_size=60, learning_rate=5e-6 |
| OmniGen2 data mixture | OmniGen2/data_configs/train/example/edit/sft_panoptic.yml | SFT ratio 1.0, SAM ratio 2.0 |
| OmniGen2 training loop | OmniGen2/train.py | TaskTypeDistributedSampler, DataLoader, torch.optim.AdamW, accelerator.backward(total_loss) |
3.6 Mechanism analysis:为什么 segmentation proxy 会解锁协同
论文不只报告分数,还试图解释 SGT 为什么有效。第一条机制是 feature linear separability:用 segmentation 训练后,视觉 encoder 的 embedding 对相似但结构不同的类别更可分。作者选取 Grand Piano 和 Upright Piano 这类视觉上相近、语义上容易混淆的类别,用 PCA 降到 50 维,再 t-SNE 到 2D。BAGEL baseline 的簇较混杂,而 BAGEL+Segmentation 的类内更紧、类间更分离。
Figure 7 解读:图 7 左侧显示 Grand Piano 与 Upright Piano 的视觉样例,右侧是 t-SNE 可视化。SGT 后的 embedding 更容易按类别分开,说明 segmentation supervision 并非只训练输出 mask,而是改变了视觉语义特征空间,使模型更能捕捉可区分的结构信息。
第二条机制是 mitigating linguistic over-reliance。作者分析 understanding module 中 transformer layers 对 visual tokens 的 attention。SGT 后,深层 attention 更集中到视觉 token,尤其 segmentation 的 attention shift 比低层 proxy 更明显。这意味着模型回答时更依赖图像证据,而不是只靠语言 prior;这也解释了 POPE/Hallusion 等幻觉相关 benchmark 的提升。
第三条机制是 generation 过程中的关键词关注。对含有 position、color、object 的 GenEval-style prompts,作者统计 noisy latent tokens 对文本 token 的 cross-attention。BAGEL 的 flow-based generation 中,noisy latent tokens 作为 queries,text prompt 作为 keys/values;对 object、position、color、others 四类 token 分组后,计算每类 token 占总 attention mass 的比例。补充材料给出的公式流程可写为:
再对 latent-to-token attention 做平均,并按关键词位置集合求和:
Figure 8 解读:图 8a 展示不同 proxy 相对 baseline 在深层对视觉 token 的 attention 增量,segmentation 让模型更重视视觉证据;图 8b 展示 generation 中对 object/color/relation 等关键词的 attention 分配,SGT 提高了关键语义词的权重。两者合起来说明 SGT 同时改变理解侧和生成侧的注意力分配。

Figure A3 解读:Appendix Figure A3 用 prompt “A photo of a tie right of a baseball bat” 展示 token-level attention。SGT 后,模型对 tie 的 attention 从 4.70% 提到 7.45%,对 right 的 attention 从 9.59% 提到 12.64%,这与生成样例中的空间关系改善相呼应。这个例子很好地说明,segmentation proxy 不是简单提升美观度,而是让模型在早期 denoising/flow 阶段更关注决定布局正确性的词。
def keyword_attention_ratio(attn_map, latent_indices, keyword_token_indices):
latent_to_text = attn_map[:, latent_indices, :] # heads x latent x kv
mean_attention = latent_to_text.mean(dim=(0, 1)) # kv
total = mean_attention.sum().clamp_min(1e-8)
ratios = {}
for group, indices in keyword_token_indices.items():
ratios[group] = mean_attention[indices].sum() / total * 100.0
return ratios4. Experimental Setup (实验设置)
Datasets. 方法探索阶段以 MS COCO train set 为主要基础,每类视觉代理任务构造 20k sample pairs;segmentation/detection 使用 COCO 原始标注生成目标,其余任务从 RGB 图像合成或估计监督信号。最终 SGT 后训练使用 SAM dataset 筛出的 190k segmentation samples,并与 LLaVA-OneVision 风格的 500k supervised fine-tuning samples 结合。Table 1 的整体数据构成为:SGT 190k、General 180k、Doc/Chart/Screen 103k、Math/Reasoning 101k、General OCR 45k、Language 72k。OmniGen2 release 的 sft_panoptic.yml 数据配置还明确把 <DATA_ROOT>/LLaVA-OneVision-SGT/.../all_data.jsonl 标为 sft ratio=1.0,把 <DATA_ROOT>/sam-qa/file_names/sam_190k_new.txt 标为 sam ratio=2.0。
Base models. 论文选取两类主流 UMM 架构以验证泛化性。BAGEL 是 7B understanding + 7B generation 的 Mixture-of-Transformers 风格架构,强调层级特征共享和 interleaved training;OmniGen2 是 3B understanding + 4B generation,使用 Qwen2.5-VL-3B-Instruct 作为理解模块,并用其 hidden states 引导 diffusion generation module。两者参数规模、交互方式、训练范式都不同,因此如果 SGT 在两者上都有效,说明它更像 post-training paradigm,而不是某个模型的 trick。
Baselines. SOTA 对比包括 Show-o、Harmon、ReCA-Harmon、UniLIP、UniMRG、OpenUni、OmniGen2、Chameleon、Janus-Pro、Emu3、UniWorld-v1、BAGEL 等。Ablation 对比包括 base model、SFT、SFT+Edge、SFT+Reconstruction、SFT+SGT,并在早期探索中还比较 panoptic、instance、semantic、depth、inpainting、detection、derain/dehaze、denoise/deblur/enhance、ISR、mixed three-task training 等 proxy。
Evaluation metrics. 视觉理解使用 VLMEvalKit,覆盖 CV-Bench、MMVP、VSR、SIBench-mini、POPE、HallusionBench、MMBench-TEST-EN 1.1、MMMU-val、RWQA、MathVista、BLINK、MME、MMStar 等。论文还把理解能力归为六类:vision-centric(CV-Bench、MMVP)、spatial reasoning(VSR、SIBench)、hallucination resistance(POPE、HallusionBench)、general VQA(MMMU、MMStar)、chart/OCR(OCRBench、DocVQA)、knowledge/math(MathVista、ScienceQA)。生成能力用 GenEval 衡量 text-to-image compositional fidelity,用 GEdit-Bench-En 衡量 image editing。
Training config. 论文 appendix 表格报告:OmniGen2:3B+4B、AdamW、learning rate 、、weight decay 0.01、warmup 300、2500 steps、global batch size 60、training time 4 hours;BAGEL:7B+7B、AdamW、learning rate 、、weight decay 0.01、warmup 1000、10000 steps、global batch size 60、training time 18 hours。Released code 中 BAGEL launcher 使用 8 GPUs;OmniGen2 mixed config 使用 global_batch_size=60、batch_size=2、gradient_accumulation_steps=30,但 learning rate/steps 与论文表不同,已在 §3.4 单独标注。
5. Experimental Results (实验结果)
5.1 SOTA comparison:SGT-BAGEL 与 SGT-Gen2 的主结果
在 state-of-the-art UMM 对比中,SGT 在两个基座上都带来稳定提升。小模型组里,OmniGen2 的 MMVP/VSR/Hallu./MMStar/RWQA/MathV./GenEval/GEdit-Bench-En 分别是 65.00/77.52/62.35/55.07/64.41/63.50/76.6/6.63;SGT-Gen2 提升到 68.33/78.85/64.25/57.07/65.10/64.00/78.9/6.83。大模型组里,BAGEL 是 83.00/80.45/68.34/67.46/71.26/73.10/88.0/6.64;SGT-BAGEL 是 83.33/81.54/70.24/68.33/72.42/73.90/90.0/6.94。论文特别强调 SGT-BAGEL 在 CV-Bench 上相对 BAGEL 提升 6.02%,并在 GenEval 达到 90.0%。
| Model | Params | MMVP | VSR | Hallu. | MMStar | RWQA | MathV. | GenEval | GEdit-Bench-En |
|---|---|---|---|---|---|---|---|---|---|
| OmniGen2 | 3B+4B | 65.00 | 77.52 | 62.35 | 55.07 | 64.41 | 63.50 | 76.6 | 6.63 |
| SGT-Gen2 | 3B+4B | 68.33 | 78.85 | 64.25 | 57.07 | 65.10 | 64.00 | 78.9 | 6.83 |
| BAGEL | 7B+7B | 83.00 | 80.45 | 68.34 | 67.46 | 71.26 | 73.10 | 88.0 | 6.64 |
| SGT-BAGEL | 7B+7B | 83.33 | 81.54 | 70.24 | 68.33 | 72.42 | 73.90 | 90.0 | 6.94 |
Figure 4 解读:图 4 是 compositional text-to-image generation 的定性比较。SGT 在复杂文本提示里的空间位置、颜色属性、对象组合上更贴合 prompt。结合 Table 2 的 GenEval 提升,可以看出 SGT 的生成收益集中在 layout fidelity 和 compositional adherence,而不是单纯让图片更锐利。
5.2 Main ablation:为什么 SFT+SGT 强于 SFT+Edge/Reconstruction
Table 3 的 ablation 是最直接的因果证据。OmniGen2 base 在 CV-Bench/MMVP/VSR/SIBench/POPE/Hallusion/MMBench/MMMU/MMStar/GenEval/GEdit 上是 65.94/65.00/77.52/43.29/85.97/62.35/77.04/42.11/55.07/76.58/6.63;SFT+SGT 达到 66.91/68.33/78.85/45.37/87.29/64.25/77.09/45.89/57.07/78.86/6.83。BAGEL base 是 73.21/83.00/80.45/48.95/85.69/68.34/81.25/46.77/67.46/78.21/6.52;SFT+SGT 达到 79.23/83.33/81.54/50.18/88.32/70.24/83.84/48.56/68.33/80.95/6.94。
与 SFT+Edge 和 SFT+Reconstruction 相比,SGT 的优势主要体现在 vision-centric、hallucination 和 general VQA 相关指标上。以 BAGEL 为例,SFT+Reconstruction 的 CV-Bench 是 75.23,SFT+Edge 是 74.56,而 SFT+SGT 是 79.23;Hallusion 上 SFT+Edge 68.66、SFT+Reconstruction 68.03、SFT+SGT 70.24;MMBench 上 SFT+Edge 81.89、SFT+Reconstruction 82.18、SFT+SGT 83.84。这说明 segmentation proxy 比低层视觉 proxy 更能改善需要对象结构和视觉证据的能力。
5.3 Data recipe, scaling, and supplementary checks
数据配比实验显示,Seg:VQA = 2:1 是作者采用的最终策略。这个比例并不是简单地让 segmentation 越多越好:理解任务仍需要 VQA/SFT 保持知识、语言和 OCR/Chart 能力;但 segmentation 样本需要足够多,才能在每个优化周期中提供稳定的语义视觉约束。补充 Table 5 也说明联合训练不会破坏知识密集和 OCR 任务:BAGEL/SFT/SFT+SGT 在 ScienceQA 上都是 95.9,OCRBench 是 81.0/80.8/81.0,DocVQA 是 94.0/94.0/94.0,SEED 从 77.3/78.0 提到 79.5,DPGBench 是 84.0/82.7/84.0。
不过,作者也指出 DPGBench 没有显著提升,因为它包含更长、更复杂的文本指令;这支持一个边界判断:SGT 擅长提升语义结构和空间布局,但不自动带来复杂 instruction parsing 能力。若要在高复杂度编辑上进一步提升,可能仍需要专门的 image editing data 或更强的生成指令跟随训练。
Figure A2 解读:Appendix Figure A2 展示 SGT 生成图像的多样化样例,主要用于说明 SGT 后的模型仍能保持较高质量的图像合成。它不等同于严格 benchmark,但与 GenEval/GEdit-Bench 的数值结果一起表明,segmentation proxy 没有让模型变成只会输出 mask 的模型,而是能保留和增强自然图像生成能力。
5.4 Limitations and takeaways
论文明确承认,SGT 对 natural scenes 的 understanding-generation alignment 有效,但如果只依赖 segmentation data,会限制 symbolically dense 和 knowledge-intensive tasks 的表现。这个限制从早期 proxy-only 实验和后续 DPGBench/OCR/Math 观察都能看出:SGT 是 foundational alignment strategy,不是完整后训练配方。最佳实践是把 SGT 与 VQA/SFT、生成数据、甚至未来的 reinforcement learning 框架结合。
总体结论可以概括为三点。第一,UMM 的协同瓶颈不只在架构,而在 post-training target 的语义层级;第二,segmentation 这样的 high-level generative proxy 是比 RGB reconstruction 更合理的桥接信号;第三,SGT 的效果来自两端同时改善:视觉 embedding 更线性可分,理解深层更关注 visual tokens,生成早期更关注 object/color/relation 等关键文本 token。因此,这篇论文对后续 UMM 训练的启发是:不要只问“是否联合理解和生成”,还要问“用什么视觉目标让两者在同一个语义空间里对齐”。