澄清一个很容易混淆的点:

  1. 初代Qwen‑Image(20B,2025‑08)本身训练阶段就包含T2I / I2I重建 / TI2I文本引导编辑多任务损失,理论上零样本可以做图生图、编辑,但实际效果很差,人物身份漂移、原图细节大量丢失、编辑指令跟随弱。
  2. Qwen‑Image‑Edit(‑2509 /‑2511)是在20B基础底座上做二次专项微调的独立权重,不是从零搭建全新架构,主干MMDiT/VAE/Qwen2.5‑VL组件不变,但输入范式、训练数据、损失函数做重大修改
  3. Qwen‑Image‑2.0(闭源7B)又回到「单模型一体化」,把Edit能力合并进主模型,不再分开发布独立Edit权重

一、Edit家族版本谱系(开源)

版本时间底座关键改进
Qwen‑Image‑Edit2025‑08初代20B底座首个编辑专项权重,基础TI2I
Qwen‑Image‑Edit‑25092025‑09同上修复身份漂移,支持多图输入编辑(1‑3张参考图),pipeline重构
Qwen‑Image‑Edit‑25112025‑11同上进一步降低图像偏移;原生支持LoRA;几何/工业编辑增强;人像一致性提升;FP8量化权重发布

注意:Qwen‑Image‑2512主生成模型的增量checkpoint,不是Edit权重,不要混用;Edit必须用Qwen‑Image‑Edit‑25xx系列。

二、Edit相比基础版:哪些没改?哪些是重大修改?

不变的组件(硬件层架构没有重写)

  • MMDiT主干网络:60层、20B参数量、MS‑RoPE、双流整体结构完全不变
  • VAE完全复用
  • Qwen2.5‑VL‑7B条件编码器依然冻结,不做finetune

不是新网络,是同一个网络,改变的是输入格式、训练数据、损失目标、pipeline逻辑

四大核心修改(这才是Edit版本的本质改动)

1. 双路条件输入机制(最重要改动:双编码机制 Dual‑Path Conditioning)

基础版T2I:只有文本送入Qwen2.5‑VL;潜空间只有噪声潜图。

Edit版本:输入一张参考原图,分两条并行通路喂入模型

  1. 语义通路:原图送入冻结Qwen2.5‑VL VL把参考图做视觉理解,输出原图的物体身份、人物面部特征、场景布局语义token;保证“我要改什么,但是记住原来是谁”。
  2. 外观通路:原图送入VAE Encoder 直接编码得到原图干净latent(无噪声),把这一组原图latent token序列,直接拼接进MMDiT图像流token序列,和带噪待去噪latent一起过Transformer。

通俗理解:

  • 文本指令告诉模型:要改成什么样
  • VL通路告诉模型:原图里面是谁、是什么物体
  • VAE‑latent通路告诉模型:原图纹理、光照、细节长啥样,不要随便乱改

基础版虽然训练有I2I,但没有把原图latent作为固定token序列拼入图像流;基础版图生图只是简单给原图加噪声,没有显式把原图信息作为condition,这就是为什么基础版做编辑很容易“面目全非”。

2. 训练数据集完全切换为大规模编辑配对数据

基础主模型训练集以文‑图对(T2I)为主,少量I2I重建; Edit微调阶段:大幅提升TI2I编辑配对数据占比

  • {原图 + 编辑指令 + 编辑后结果}三元组;包含局部修改、换装、改文字、改背景、多图融合;
  • 大量身份保持样本:同一个人,改衣服/场景,人脸尽量不变;
  • 大量图像内文字修改样本(改海报文字)。

代价:T2I纯文生图能力会轻微退化。Edit权重不适合拿来从零画图,适合拿来做编辑。

3. 损失函数权重重新分配

基础主模型:T2I损失 >> I2I重建损失 > TI2I编辑损失,优先保证从零生成的画质。 Edit微调:拉高I2I重建损失 + TI2I编辑损失权重,降低纯T2I损失权重。 训练目标优先:

  1. 尽量保留原图身份、纹理、构图;
  2. 同时满足编辑文本指令;
  3. 牺牲一部分从零生成的多样性。

4. Pipeline推理逻辑专门重构

基础版pipeline:QwenImagePipeline; Edit使用独立QwenImageEditPipeline

  • 支持多参考图latent拼接;
  • 特殊的CFG归一化、zero‑cond空条件处理;
  • 对原图latent做scale约束,防止完全覆盖;

权重和主干相同,但推理代码不能混用,混用效果直接崩坏。

三、核心问题:为什么初代要把编辑分开做独立模型?为什么不直接一个大模型搞定?

这是扩散多任务训练一个经典的**任务冲突(task conflict / objective conflict)**问题。

矛盾点1:T2I(从零画) vs TI2I(在原图基础改)的优化目标天然打架

  1. T2I(文生图)目标:多样性、创造力、自由构图 模型需要敢于重排物体、改变姿态、自由生成全新细节;鼓励大胆变化。
  2. TI2I图像编辑目标:约束、保真、尽量保留原图身份/纹理,只修改指定部分 模型要克制,不能乱改人脸、背景、光照;要忠于原图,只改动指令指定区域。

两个目标梯度方向冲突。

  • 如果训练集中编辑数据占太高:T2I会变呆,生成缺少多样性,画面容易糊,不敢创造新构图
  • 如果T2I数据占太高:编辑时模型会“放飞自我”,把人物脸改掉,背景全部重绘,发生严重漂移

初代20B训练时做过消融:

  • 如果把TI2I损失权重调很高,T2I画质、多样性明显下降;
  • 如果权重压低,编辑就会漂移。

工程权衡:发布两套权重

  • 主权重Qwen‑Image‑2512:偏向T2I,从零画图强,编辑弱;
  • Edit权重‑2511:偏向编辑保真,T2I能力略有下降,专门做修图、改图、多图融合。

矛盾点2:输入表征差异

  • T2I:输入只有文本;
  • TI2I:输入=文本+1~N张参考图像,需要同时喂「原图语义特征 + 原图latent外观特征」。 虽然MMDiT架构可以兼容,但在预训练主阶段,如果大量混入这种多输入样本,会稀释普通T2I学习信号。

矛盾点3:数据规模不对等

高质量人工校验的**{原图‑指令‑编辑后}三元组数据的总量远小于普通文‑图对**。 编辑配对数据更稀缺、更贵;直接混合进预训练主训练集,占比不能太高,否则会拉垮整体通用生成能力。

因此工程选择:预训练主模型以T2I为主打下通用底子,再做一次专项微调产出Edit分支

四、那为什么Qwen‑Image‑2.0又合并回“单模型一体化”?

Qwen‑Image‑2.0是闭源7B MMDiT,不再分独立Edit权重,一套权重同时做T2I和TI2I编辑,背后解决了上面的冲突,靠三点:

  1. 更精细的动态多任务混合采样策略:训练时动态调节T2I / I2I / TI2I的batch比例,不是固定权重;不同训练阶段配比自动变化,缓解梯度冲突。
  2. 更大规模、更高质量的编辑合成数据飞轮,自动生成海量高质量TI2I三元组,不再依赖少量人工标注。
  3. 架构层面原生内置双路条件通路,推理时模型自动判别当前是T2I输入(无参考图)还是TI2I输入(带参考图),内部自动路由条件通路,不需要两套独立权重、两套pipeline。

但代价:2.0不开放开源,只提供API;开源生态只能停留在初代20B+Edit分支的模式。

五、现实工程上怎么理解两套权重怎么选

  1. Qwen‑Image‑2512(主权重) ✅适合:从零文生图、海报、文字渲染、创作; ❌不适合:拿来做编辑,会严重改崩原图人物、细节漂移。

  2. Qwen‑Image‑Edit‑2511(Edit权重) ✅适合:基于已有图片做修改、换装、改图中文字、多图参考融合; ❌不适合:纯文生图,多样性、画面表现力会弱于主权重。

注意:Edit权重依然没有掩码inpaint原生支持,是自然语言全局引导编辑;不是掩码局部重绘模型。

补充:和SD/Flux生态对比理解

  • Stable Diffusion:基础模型(T2I) + Inpaint分支(掩码修复) + I2I,很早就分开;
  • Flux:基础T2I,然后推出Flux‑Kontext(专项编辑微调版本),和Qwen‑Image‑Edit思路几乎完全一样:底座不变,专项微调做参考图编辑分支,同样存在T2I能力轻微损耗。

这是当前MMDiT架构下非常主流的工程选择,不是Qwen独有的设计。

如果你需要,我可以继续展开: 1)双编码机制数学上,latent拼接在MMDiT token序列哪个位置; 2)为什么MMDiT相比UNet做编辑更容易发生身份漂移; 3)复现Edit微调时的训练配置要点。