# JanusFlow:以整流流调和自回归,统一多模态理解与生成 > **原文标题**:JanusFlow: Harmonizing Autoregression and Rectified Flow for Unified Multimodal Understanding and Generation > **arXiv**:[2411.07975](https://arxiv.org/abs/2411.07975) | **发布**:12 Nov 2024(最后修订 24 Mar 2025) > **作者/机构**:Yiyang Ma、Xingchao Liu、Xiaokang Chen、Wen Liu、Chengyue Wu 等;DeepSeek-AI(深度求索),并联合北京大学、香港大学、清华大学 > **原文 PDF**:[07-JanusFlow-2411.07975.pdf](./07-JanusFlow-2411.07975.pdf) ## 一、摘要(全文翻译) 我们提出 JanusFlow,一个强大的框架,它在单一模型中统一了图像理解与图像生成。JanusFlow 引入了一种极简的架构,将自回归语言模型与整流流(rectified flow)——生成建模领域的最先进方法——集成在一起。我们的关键发现是:整流流可以直接在大型语言模型框架内训练,无需任何复杂的架构改动。为了进一步提升统一模型的性能,我们采用了两项关键策略:(i)解耦理解编码器与生成编码器;(ii)在统一训练过程中对齐二者的表示。大量实验表明,JanusFlow 在各自领域内达到了与专用模型相当甚至更优的性能,同时在标准基准上显著优于现有的统一方法。这项工作朝着更高效、更通用的视觉-语言模型迈出了一步。 ## 二、核心贡献 1. **极简的「LLM + 整流流」架构**:仅用轻量生成编解码器把 SDXL-VAE 隐空间接入 LLM,LLM 本身即速度场网络;由此证明整流流无需架构改造即可在 LLM 内训练,也避免了「LLM 只出条件、扩散模型画图」的能力割裂。 2. **解耦理解与生成编码器**:理解侧用预训练 SigLIP-Large-Patch/16,生成侧用随机初始化的 ConvNeXt 编解码器以消除任务干扰;改用共享编码器后,POPE 由 84.73 降至 78.13、VQAv2 由 69.20 降至 53.94。 3. **表示对齐正则化(REPA)**:把理解编码器对真实图像的特征与 LLM 中间层特征做余弦相似度对齐,同时提升图像质量与语义一致性(FID 19.84→17.61,CLIP 24.94→26.40)。 4. **三阶段训练与数据配比**:先适配新模块,再统一预训练(前期偏理解、后期加重生成),最后 SFT 并解冻 SigLIP。 5. **1.3B 规模上的强结果**:GenEval 0.63、DPG-Bench 80.09%、MJHQ FID-30k 9.51 超过 SDXL、DALL-E 2;MMBench 74.9、SEED 70.5、GQA 60.3 超过 LLaVA-v1.5。 ## 三、方法与技术要点 ### 3.1 背景 **多模态 LLM**:对离散 token 序列 $x=(x_1,\cdots,x_\ell)$ 按最大似然自回归建模 $$\log P_{\theta_{LLM}}(x)=\sum_{i=0}^{\ell-1}\log P_{\theta_{LLM}}(x_{i+1}\mid x_1,\dots,x_i)$$ 处理视觉输入时外接视觉编码器与投影层,把图像特征映射进词嵌入空间(如 LLaVA 用 CLIP 编码器)。 **整流流**:对来自未知分布 $\pi_1$ 的连续数据点,学习定义在 $t\in[0,1]$ 上的常微分方程 $\frac{{\rm d}z_t}{{\rm d}t}=v_{\theta_{NN}}(z_t,t),\ z_0\sim\pi_0$($\pi_0$ 为标准高斯噪声),训练时让速度场拟合两分布采样点间的线性路径方向: $$\min_\theta \mathbb{E}_{t\sim P(t),z_0\sim\pi_0,x\sim\pi_1}\left[\left\|v_{\theta_{NN}}(z_t,t)-(x-z_0)\right\|^2\right],\quad z_t=tx+(1-t)z_0$$ 容量足够且目标最优时,速度场把基分布输运到 $\pi_1$;相比扩散,它概念更简洁、采样更快、经验性能更好。 ### 3.2 统一框架:同一 LLM 内的两条路径 **理解路径**:图像经编码器 $f_{enc}$ 得特征图,展平后由线性层投为嵌入序列,与文本 token 嵌入拼接后送入 LLM 做下一 token 预测;图像前后加 `|BOI|`/`|EOI|` 以便定位。 **生成路径**:以文本为条件在 SDXL-VAE 隐空间生成:噪声 $z_0$ 经生成编码器 $g_{enc}$ 变为嵌入序列并拼接时间嵌入 $t$,LLM 输出的速度经生成解码器 $g_{dec}$ 还原为隐空间速度,用标准欧拉求解器迭代 $$z_{t+{\rm d}t}=z_t+v(z_t,t)\,{\rm d}t$$ 把输入中的 $z_0$ 换成 $z_{{\rm d}t}$ 迭代至 $z_1$,再由 VAE 解码出图像;质量由无分类器引导(CFG)提升:$v(z_t,t)=w\,v(z_t,t\mid x^{con})+(1-w)\,v(z_t,t\mid\varnothing)$。与采用各种注意力掩码策略的前作不同,作者发现**因果注意力已经足够**,替代掩码在初步实验中并无收益。 ### 3.3 解耦视觉编码器 此前统一工作让两任务共用编码器(Transfusion 共享 U-Net/线性编码器,Show-o 用 MAGVIT-v2 离散 token),但共享设计已被证明次优。JanusFlow 因此解耦:理解侧 $f_{enc}$ 用预训练 SigLIP-Large-Patch/16 取语义特征;生成侧 $g_{enc}$(2×2 patchify + 两个 ConvNeXt 块 + 线性层)与 $g_{dec}$(两个 ConvNeXt 块 + pixel-shuffle 上采样 + 线性层)从零初始化,其间加长跳跃连接,新增模块共约 70M 参数。 ### 3.4 三阶段训练 1. **阶段一·适配新模块**:只训线性层与生成编解码器,使其与预训练 LLM、SigLIP 对齐,为新模块做初始化。 2. **阶段二·统一预训练**:除视觉编码器外全网训练,混合理解、生成与纯文本数据;先给理解更高比例,再提高生成占比以满足扩散式模型的收敛需求。 3. **阶段三·SFT**:用对话、任务型问答与高质量文生图样本做指令微调,并解冻 SigLIP。 超参数:学习率 $1.0\times10^{-4}$/$1\times10^{-4}$/$2.0\times10^{-5}$,常数调度与 AdamW($\beta_1=0.9,\beta_2=0.95$),梯度裁剪 1.0;步数 10,000/390,000/26,000,批大小 512/512/256;数据配比(理解:生成:纯文本)50:50:0、14:80:6、21:70:9,阶段二前 10,000 步先用 30:50:20。 ### 3.5 训练目标 数据统一写成 $x=(x^{con},x^{res})$(条件与响应)。理解任务只用响应 token 算自回归损失: $$\mathcal{L}_{AR}(\theta)=-\mathbb{E}_{x\sim\mathcal{D}_{und}}\left[\sum_{i=\ell_{con}}^{\ell-1}\log P_\theta(x_{i+1}\mid x_1,\dots,x_i)\right]$$ 生成任务用整流流损失,时间分布沿用 Stable Diffusion 3 的 logit-normal,并随机丢弃 10% 文本提示以支持 CFG: $$\mathcal{L}_{RF}(\theta)=\mathbb{E}_{x\sim\mathcal{D}_{gen},t\sim P(t),z_0\sim\mathcal{N}(0,I)}\left[\left\|v_\theta(z_t,t\mid x^{con})-(x^{res}-z_0)\right\|^2\right],\quad z_t=tx^{res}+(1-t)z_0$$ **表示对齐正则项**把理解编码器对真实图像的特征与 LLM 中间表示对齐: $$\mathcal{L}_{REPA}(\theta,\varphi)=-\mathbb{E}_{x\sim\mathcal{D}_{gen}}\left[\mathrm{sim}\left(\mathrm{stop\_grad}(f_{enc}(x^{res})),\;h_\varphi(q_\theta(z_t))\right)\right]$$ 其中 $q_\theta(z_t)$ 取 LLM 第 6 个 block 之后、输入为带噪 $z_t$ 时的特征,$h_\varphi$ 为三层 MLP,相似度取逐元素余弦相似度均值,梯度不回传理解编码器;作者令 $H_{gen}=H_{im}$、$W_{gen}=W_{im}$ 以便与特征图对齐。其动机是让 LLM 面对噪声输入时的内部特征空间贴近语义特征空间,使推理时从新噪声也能生成语义正确的图像。汇总:理解用 $\mathcal{L}_{AR}$,生成用 $\mathcal{L}_{RF}+\mathcal{L}_{REPA}$,贯穿各训练阶段。 ### 3.6 实现与数据 骨干为增强版 DeepSeek-LLM(1.3B、24 层、序列长 4096),理解与生成均为 384 分辨率;训练时把多条序列打包到 4096。理解数据缩放长边后补边成正方形以保留信息,生成数据缩放短边后随机方形裁剪以规避补边伪影;对齐正则用 EMA(0.99)保稳定。基于 HAI-LLM 与 PyTorch,用 NVIDIA A100 训练,每个模型约需 1,600 A100 GPU 天。数据见附录 B:理解侧用 DetailedCaption、SAM、arXivQA、DenseFusion-1M、MMSci、PixelProse、重标注 LAION-Aesthetics 与 Open Images V4、ShareGPT4V、WikiHow、WIT 等;生成侧用重标注 LAION-Aesthetics、DALL-E 3 1M、SAM、Open Images V4、Megalith-10M、YFCC-15M、PixelProse、JourneyDB 及 200 万自有数据(25% 为单句描述)。 ## 四、主要实验结果 | 基准 / 任务 | JanusFlow(1.3B) | 对比对象 | 说明 | |---|---|---|---| | GenEval 总体 ↑ | 0.63 | SDXL 0.55、Janus 0.61、Show-o 0.53、Transfusion 0.63、DALL-E 3 0.67 | 超过 DALL-E 2(0.52)与既往统一模型;Pos. 0.53、Color Attri. 0.42 突出 | | DPG-Bench 总体 ↑ | 80.09 | PixArt-Σ 80.54、Emu3-Gen 80.60、SDXL 74.65 | 表中唯一统一模型;Global 87.03、Other 88.10 领先 | | MJHQ FID-30k ↓ | 9.51 | Janus 10.10、Show-o 15.18、VILA-U 384 7.69 | 1.3B 规模内最佳,优于自回归式的 Janus | | MMBench dev ↑ | 74.9 | Janus 69.4、LLaVA-v1.5 64.3、Qwen-VL-Chat 60.6 | 同规模及更大规模理解专用模型中领先 | | SEED ↑ | 70.5 | Janus 63.7、Emu3-Chat 68.2 | 同上 | | GQA ↑ | 60.3 | Janus 59.1、LLaVA-v1.5 62.0 | 略低于 7B 的 LLaVA-v1.5 | | POPE ↑ | 88.0 | Janus 87.0、MobileVLM-V2 84.7 | 最高 | | VQAv2 test ↑ | 79.8 | Janus 77.3、LLaVA-v1.5 78.5 | 超过 7B 的 LLaVA-v1.5 | | MME-P ↑ | 1333.1 | Janus 1338.0、LLaVA-v1.5 1510.7 | 略低于 Janus 与 7B 模型 | | MMMU ↑ / MM-Vet ↑ | 29.3 / 30.9 | Janus 30.5 / 34.3、Qwen2-VL 54.1 / 62.0 | 均未超 Janus,复杂推理与开放对话是短板 | | ChartQA ↑ / TextVQA ↑ | 64.6 / 55.5 | Qwen-VL-Chat 66.3 / 61.5、Emu3-Chat 68.6 / 64.7 | 图表与文字识别落后于更大模型 | 消融实验(256×256、统一预训练 50,000 步;FID 为 MJHQ FID-10k,CFG $w=7.5$、30 步;† 表示冻结): | Exp. | 设置 | POPE ↑ | VQAv2 ↑ | GQA ↑ | FID ↓ | CLIP ↑ | |---|---|---|---|---|---|---| | A | 无 REPA,SigLIP 理解 + VAE†+ConvNeXt 生成 | 82.40 | 69.62 | 54.43 | 19.84 | 24.94 | | B | 有 REPA,两任务共享 VAE†+ConvNeXt | 78.13 | 53.94 | 44.04 | 18.05 | 26.38 | | C | 有 REPA,独立 VAE+ConvNeXt 理解 + VAE†+ConvNeXt 生成 | 75.30 | 55.41 | 44.44 | 17.53 | 26.32 | | D | 仅理解(SigLIP) | 85.03 | 69.10 | 54.23 | — | — | | E | 仅生成(VAE†+ConvNeXt) | — | — | — | 16.69 | 26.89 | | F | **最终配置**:有 REPA,SigLIP + VAE†+ConvNeXt | 84.73 | 69.20 | 54.83 | 17.61 | 26.40 | 生成侧几乎全面领先:GenEval 0.63 与 7.3B 的 Transfusion 持平并超过 SDXL,MJHQ FID-30k 9.51 为 1.3B 规模最优;理解侧 MMBench、SEED、GQA、POPE、VQAv2 均为同规模最优,并超过若干 7B 级专用模型。差距集中在复杂推理与开放对话(MMMU、MM-Vet)及高分辨率细节任务(MME-P、ChartQA、TextVQA)。消融显示 REPA 同时提升 FID 与 CLIP,共享编码器明显变差,而最终配置与任务专用模型(Exp. D/E)差距很小。附录补充:256 分辨率模型理解指标略低,但 GenEval(0.70 对 0.63)与 DPG-Bench(81.23 对 80.09)反而更好,作者归因于低分辨率下语义操控更精确。 ## 五、结论、局限与影响 - **结论**:JanusFlow 在统一框架内调和了自回归与整流流,用于多模态理解与生成,性能与任务专用模型相当;作者认为两种异构架构的成功整合为统一模型研究开辟了新可能。 - **局限性**:论文未明确说明(正文与结论均无专门的局限讨论)。可观察到:复杂推理基准(MMMU 29.3、MM-Vet 30.9)未超过前代 Janus;训练成本约 1,600 A100 GPU 天;256 与 384 分辨率在理解与指令遵循之间存在权衡。 - **影响**:给出「整流流可在 LLM 框架内直接训练、无需架构改动」的结论,把实现门槛降到「轻量编解码器 + LLM」,解耦编码器与表示对齐成为可复用的设计配方。 ## 六、关键术语对照表 | English | 中文 | |---|---| | Rectified Flow | 整流流 | | Autoregressive (AR) | 自回归 | | Unified Multimodal Understanding and Generation | 统一多模态理解与生成 | | Multimodal Large Language Model (MLLM) | 多模态大语言模型 | | Decoupled Encoders | 解耦编码器 | | Representation Alignment Regularization (REPA) | 表示对齐正则化 | | Classifier-Free Guidance (CFG) | 无分类器引导 | | Velocity Field / Velocity Vector | 速度场 / 速度向量 | | Latent Space | 隐空间 | | VAE (Variational Autoencoder) | 变分自编码器 | | Long Skip Connection | 长跳跃连接 | | Causal Attention | 因果注意力 | | Exponential Moving Average (EMA) | 指数滑动平均 | | Supervised Fine-Tuning (SFT) | 有监督微调 | | Fréchet Inception Distance (FID) | 弗雷歇初始距离 |