STARFlow2:通过 Pretzel 架构将语言模型与自回归归一化流统一用于多模态生成 STARFlow2: Bridging Language Models and Normalizing Flows for Unified Multimodal Generation
用 Pretzel 架构把冻结 VLM 与自回归流在统一因果掩码下交织,实现真正统一的多模态生成。
前置知识
自回归 Transformer(Autoregressive Transformer)
使用因果掩码(causal mask)从左到右逐位置生成序列的 Transformer,配备 KV-cache 机制以避免重复计算先前的键值对,是现代大语言模型的架构基础。
STARFlow2 的核心论点是自回归归一化流和 LLM 共享同一因果掩码与 KV-cache 结构,要理解其「统一性」必须先清楚 LLM 的因果解码机制。
归一化流(Normalizing Flow)
通过可逆映射 $f_\theta: \mathbb{R}^D \to \mathbb{R}^D$ 把数据分布转换为简单先验(如标准高斯)的生成模型,可用 $\log p(x) = \log p_0(f_\theta(x)) + \log|\det J_{f_\theta}|$ 进行精确最大似然训练。
TARFlow 是用因果 Transformer 参数化的流,理解流的可逆性、雅可比行列式与单步采样是与扩散模型区分的关键,也是 D2/D3 同时成立的技术前提。
扩散模型(Diffusion Model)
通过多步迭代去噪从高斯噪声生成数据的模型,每步需要完整前向传播,结构上是迭代式而非单步因果解码,与 LLM 的串行生成机制本质不同。
现有统一多模态模型(Transfusion、Show-o、BAGEL 等)都把 LLM 与扩散拼接,存在结构不对称;本文主张流才能解决该问题,需要读者熟悉扩散的迭代特性。
特征自编码器 FAE(Feature Auto-Encoder)
训练在 DINOv2-g/14 特征空间上的自编码器,把图像压缩为连续潜在 $x \in \mathbb{R}^{N \times D}$,提供一个既能服务理解又能服务生成的统一表征空间。
STARFlow2 的视觉生成与多模态理解都依赖同一 FAE 潜空间,理解 FAE 才能明白论文如何用「一个潜空间」同时满足 D1 和 D2。
视觉语言模型 VLM(Vision-Language Model)
在图文对上预训练的大模型(如 Qwen2.5-VL-7B),具备强大的多模态感知与推理能力;其文本头在统一模型中通常被复用作语言建模组件。
Pretzel 架构的关键是「冻结 VLM」,理解 VLM 已经具备的能力以及「冻结」对保留能力的意义,才能明白 D1 与 MoT 的根本差异。
研究动机
现有「统一多模态模型」并未真正在生成机制上统一。离散 token 路线(Emu3、Janus-Pro、BLIP3-o)把图像量化后丢进单一 LLM,但 VQ 量化必然损失视觉信息、限制保真度;扩散混合路线(Transfusion、Show-o、BAGEL、Mogao)用因果 LLM 生成文本、用迭代去噪生成图像,两种机制结构异构——文本 token 可直接进入 KV-cache 作为后续生成上下文,图像则需要额外重新编码才能复用为条件,破坏「交错生成」的 cache-friendliness。Mixture-of-Transformers(MoT)虽在 BAGEL 中通过共享 attention 看似统一,但本质仍是「同一 Transformer 骨架里两个模态专属子网络」的横向分离;论文实验表明 MoT 冻结 VLM 时生成差、解冻 VLM 时 MME 暴跌到约 800,说明该方法面临 D1 与 D2 不可兼得的内在困境。
本文的目标是作者提出要同时满足三个设计准则(D1)保留预训练 VLM 的多模态理解与推理能力,(D2)在连续潜空间生成高保真图像避免量化损失,(D3)让文本和图像在同一因果掩码、同一 KV-cache、单遍解码下生成,消除扩散的迭代去噪与重编码开销。STARFlow2 旨在用自回归归一化流(TARFlow)替换扩散头,将其与冻结的预训练 VLM 在「同一因果机制」下统一为单一可端到端训练的模型,支持多模态理解、文生图、图像编辑和图文交错生成。
与已有工作不同的是,本文的独特切入角度是观察到「自回归归一化流」与 LLM 在结构上完全同构:因果掩码相同、KV-cache 机制相同、从左到右自回归结构相同,唯一的区别仅是输出头——流预测连续潜空间的仿射参数 $(\mu_\theta, \sigma_\theta)$,LLM 预测离散词表 logits。这一观察使得「流」成为天然能同时满足 D2 和 D3 的范式。为此作者提出 Pretzel 架构,把冻结 VLM 流与可训练 TARFlow 流通过残差跳跃连接「垂直交织」,在每个位置交换信息、避免 MoT 的横向分离,并配合「深-浅」流设计和统一 FAE 潜空间,实现 cache-friendly 的多模态生成。
核心方法
STARFlow2 的整体思路是把自回归归一化流(STARFlow/TARFlow)作为「视觉头」直接嫁接到一个冻结的预训练 VLM(Qwen2.5-VL-7B)上,二者共享同一段多模态序列 $C=(c_1,\dots,c_T)$ 和同一因果掩码,因此可以共用 KV-cache 实现单遍串行生成。视觉信息先经过 FAE 编码器得到连续潜变量 $x\in\mathbb{R}^{N\times D}$,再由「视觉专用的浅层流块」$f_S$ 局部精炼为中间表征 $u=f_S(x)$ 以吸收空间局部相关,最后由一个深度 TARFlow 流块 $f_D$ 在完整多模态上下文的条件下以「下一高斯预测(NGP)」的方式自回归生成。Pretzel 架构的关键创新是在每个位置同时维护 VLM 流与 TARFlow 流,并通过零初始化的跳跃连接 $W_{\text{vlm}}$ 和 $W_D$ 双向交换信息,使得模型可以从预训练好的 VLM 和 Stage 1 学到的流行为出发,逐步学习跨模态修正。
核心创新是 Pretzel 架构及其与 MoT 的本质区别。MoT(BAGEL)把不同模态「横向路由」到不同的 FFN 参数,注意力虽共享但仍然是「两个子网络共住一个壳」,且对自回归流而言冻结/解冻 VLM 各有不可调和的缺陷。Pretzel 反其道而行,把 VLM 流与 TARFlow 流「垂直堆叠」并在每个位置通过零初始化残差跳跃连接互通:TARFlow 的输入是 $u_t + W_{\text{vlm}} y_{\text{vlm},t}$(视觉位)或 $y_{\text{vlm},t}$(文本位),输出头在视觉位采样高斯、在文本位输出 LM 头 logits,并通过 $W_D y_{D,t}$ 修正文本表征。这样 VLM 完全冻结(D1 满足),流保持连续潜空间(D2 满足),二者又在同一因果掩码下顺序解码(D3 满足)。另一个关键洞察是「深-浅流分解」:浅层流块处理空间局部细节,深层 TARFlow 在融合多模态上下文后建模全局结构,使得单次自回归扫描可以承担原本需要更深的网络才能处理的任务。
方法步骤详情
训练分三阶段。Stage 1(文生图)冻结 VLM,训练 TARFlow 流 $f_D$ 与浅层流 $f_S$;用 800M 图文对以 $\mathcal{L}_{\text{NF}}=\mathbb{E}_x\sum_n[-\log\mathcal{N}(u_n;\mu_D,\sigma_D^2)-\log|\det J_{f_S}(x)|]$ 训练,得到「下一高斯预测」生成器。Stage 2(理解)冻结浅层流与 VLM,训练 FiLM 适配器把 $u$ 映射到 VLM 空间,200M 样本下做 $\mathcal{L}_{\text{NTP}}$。Stage 3(交错)激活零初始化跳跃 $W_{\text{vlm}}$ 与 $W_D$,80M 混合数据上联合优化 $\mathcal{L}=\mathcal{L}_{\text{NF}}+\lambda\mathcal{L}_{\text{NTP}}$。推理时文本 token 直接进 KV-cache;视觉位 TARFlow 采样 $u_n=\mu_D+\sigma_D z_n$,浅层流还原为潜变量后由 FAE 解码出图。
技术新颖性
技术新颖性体现在三点。第一,将自回归归一化流首次从纯视觉生成(STARFlow)推广到统一多模态建模,并以理论形式化阐述「流 = 因果 Transformer + 连续仿射输出头」与 LLM 的等价性,从而把 D3 从口号变成可证明的结构性质。第二,Pretzel 架构的「垂直交织 + 零初始化跳跃」是与 MoT 横向路由的本质区别:流在每个位置都能「看见」完整 VLM 表征,避免 MoT 必须解冻 VLM 才能获得足够条件的困境,也避免解冻带来的灾难性遗忘。第三,深-浅流设计与 FAE 共享潜空间共同支持 cache-friendly 交错生成:文本和图像输出都直接进入同一个 KV-cache,无需额外重编码步骤;分析显示视觉跳跃对融合表征幅值贡献占比平均为 0.472,文本跳跃贡献较小(与「保留 VLM 语言建模能力」的设计目标一致),从经验上验证了 Pretzel 既不被忽视也不喧宾夺主。
实验结果
多模态理解(Table 1):STARFlow2(10.6B / 3.6B 可训练)取得 MME-P 1528.8、GQA 55.8、SEED 71.1、MMB 71.5、MMMU 44.7、AI2D 67.7,优于 SEED-X(17B,MME-P 1457.0),保留 VLM 推理(D1)。文生图(Table 2、3):GenEval 0.82、DPG-Bench 84.94,超过 SD3-Medium(84.08)、FLUX.1(84.00)、Janus-Pro(84.19),仅次 TUNA(86.76)、Show-o2(86.14);Position 0.86、Counting 0.84 强,Color Attri 0.56 偏弱。Stage 3(Table 4):GenEval 0.51→0.82(+60.8%),DPG-Bench 82.02→84.94(+3.6%)。Pretzel vs MoT:MoT 冻结 VLM 生成差、解冻 MME 暴跌;Pretzel 保留理解与提升生成。跳跃分析(Figure 7):视觉贡献比 0.472,文本贡献小但互补。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 多模态理解(GenEval 总体 / DPG-Bench 总体) | 理解能力 vs 生成能力同时达成 | GenEval 0.82,DPG-Bench 84.94,MME-P 1528.8 | BAGEL 14B:GenEval 0.82/0.88†,DPG-Bench 85.07;Janus-Pro 7B:GenEval 0.80,DPG-Bench 84.19;TUNA 7B:GenEval 0.90,DPG-Bench 86.76 | 在更小可训练参数(3.6B)下达到与 BAGEL 同档的 GenEval 0.82 并超过 Janus-Pro 整体;DPG-Bench 84.94 超过 FLUX.1 与 SD3-Medium 等专精生成模型 |
| GenEval 子任务(颜色属性 / 位置 / 计数) | 细粒度指令遵循 | Color Attri 0.56 / Position 0.86 / Counting 0.84 | TUNA 7B:Color Attri 0.83、Position 0.88、Counting 0.81;BAGEL† 14B:0.77 / 0.78 / 0.84;Mogao 7B:0.80 / 0.84 / 0.83 | 位置与计数接近最优(TUNA / BAGEL†),但颜色属性显著落后(0.56 vs 0.83),是该任务的最大短板 |
| Stage 3 联合训练增益 | GenEval 总体 / DPG-Bench 总体 | GenEval 0.82(+0.31),DPG-Bench 84.94(+2.92) | Stage 1 文生图单独训练:GenEval 0.51,DPG-Bench 82.02 | GenEval 相对 +60.8%,DPG-Bench 相对 +3.6%,证明联合多任务与 Pretzel 垂直融合对生成的提升 |
| Pretzel vs MoT(BAGEL 风格) | 生成质量 + 理解保留 | Pretzel 保留 MME-P 1528.8 同时 GenEval 0.82 | MoT 冻结 VLM:生成显著退化(Figure 6);MoT 解冻 VLM:MME 暴跌至约 800 | Pretzel 在不解冻 VLM 的前提下获得良好生成,避免 MoT 的 D1/D2 不可兼得困境 |
局限与改进
作者在 §A 明确指出三点局限:(i)当前仅在 $256\times 256$ 分辨率下评估,FAE 编码器约束了高分辨率扩展;(ii)训练分多阶段,并非严格端到端,端到端联合训练是重要方向;(iii)细粒度视觉保真度(如 GenEval 颜色属性仅 0.56)相比 TUNA/Mogao 等专精统一模型仍有差距。从独立观察看,第一,参数量与训练数据不匹配:BAGEL 用 14B 参 + 更大数据,STARFlow2 用 3.6B 可训练 + 较小数据集即可达到同档 GenEval 0.82,但 Counting 偏弱说明在涉及颜色等细粒度感知上仍依赖更大容量与数据。第二,论文对「编辑」任务的定量评估不够充分,主要展示定性结果(Figure 5),缺少 OmniEdit / GEdit-Bench 等系统指标。第三,跳跃连接贡献比分析基于 50 个随机 prompt 采样的均值,未必能反映所有任务模式,且对失败的 prompt 缺乏诊断。
独立分析的弱点
独立分析的弱点主要有四处。其一,颜色属性生成弱(GenEval Color Attri 0.56 vs TUNA 0.83),原因可能在于 FAE 的 DINOv2-g/14 特征对颜色判别性不强,或 Stage 3 数据中颜色指令占比不足;改进方向是引入颜色增强数据或在适配器中显式注入颜色条件。其二,分辨率受限于 FAE(256×256),无法与 FLUX、Qwen-Image(20B)这类高分辨率专精模型直接比较;改进方向是级联式 FAE 升级或与超分模型级联。其三,跳跃连接的文本修正贡献比很小,论文也承认「小的修正比是为了保留 VLM 能力」,但这同时意味着 TARFlow 对文本侧的帮助有限,长上下文图文推理是否能稳定利用图像信息仍存疑;改进方向是引入局部适配或门控机制让文本侧有选择地吸收视觉信息。其四,缺少对长序列交错生成的效率与质量评测,论文强调 cache-friendly 但未给出与 BAGEL 重新编码方案的 latency 对比;改进方向是补充 wall-clock 与显存基准并报告交错多轮场景。
未来方向
作者在 §A 与 §7 提出三个未来方向:扩展到更高分辨率、实现真正端到端联合训练、提升细粒度视觉保真度。基于这些方向可以进一步延伸。第一,把 Pretzel 思路推广到视频或音频等其他模态,因为它们同样可以用「自回归流」表示并在同一因果掩码下交错生成。第二,FAE 潜空间可考虑更现代的视觉基础模型(如 SigLIP-2、SAM-2 特征)以增强颜色与高频细节的保持。第三,跳跃连接 $W_{\text{vlm}}$、$W_D$ 当前是零初始化线性层,可以替换为更灵活的 cross-attention 或 FiLM 调制,让跨模态信息在更深层发生更丰富的融合。第四,可以探索在更多模态(文档、表格、3D)上的「Pretzel 通用化」框架,把「流 + 冻结预训练模型」做成统一多模态生成的可复用模板。
复现评估
论文开源了代码(https://github.com/apple/ml-starflow),并给出较详细的训练设置:使用 Qwen2.5-VL-7B-Instruct 作为预训练 VLM,FAE 训练于 DINOv2-g/14 特征,TARFlow 深流块 + 两个浅流块沿用 STARFlow 设计,可训练参数共 3.6B,$256\times 256$ 分辨率,全局 batch size 1024。数据集在论文中有概述但未完全公开清单(如「in-house」数据未公开),且 800M + 200M + 80M 的训练数据规模对算力要求极高(需要数百到上千 GPU·天的量级),普通研究机构难以复现完整流程。算法层面因架构清晰、有公开代码,方法本身的复现难度中等;但完全对齐论文中 MME-P 1528.8、GenEval 0.82、DPG-Bench 84.94 等具体数字,受训练数据、超参与硬件影响显著,建议至少在 Stage 1 的子集数据上做小规模验证再决定是否复现全流程。
论文图表
展示 STARFlow2 在同一模型下完成多轮图像编辑(「把场景改成日落光」)、图像理解(「图中有几只狗」)、图像推理(「哪个玻璃杯装有软糖」)、图像生成(「宇航员探索发光的蘑菇花园」)以及交错图文生成的多样能力示意图。
这张图直观传达「单一模型即可完成四类任务」,是论文 motivation 与 method overview 的总图,适合放在 motivation 章节作为切入点。