FLUX.1 Kontext 论文
1024×1024分辨率图像的文本/图像生成仅需3-5秒。
在 FLUX.1 中,图像的 Input latents 采用 3D RoPE 编码和文本采用双流网络处理,拼接后采用交叉注意力融合。然后丢弃文本 token,仅保留图像 token,采用 38 层单流 Transformer 建模。为优化单流网络下的 GPU 利用率,采用了:将前馈块的参数减少 50%;将注意力机制的输入/输出线性层与 MLP 层融合,形成更大的矩阵-向量乘法(显著提升训练和推理速率)。
训练目标,能够同时基于文本提示和参考图像生成目标图像:
p
(
x
∣
y
,
c
)
p(x|y,c)
p(x∣y,c)
与传统的文生图不同,这一目标要求模型学习图像与图像之间的关联,通过文本指令 c 来调节。模型能在
y
≠
∅
y ≠ ∅
y=∅ 时进行图像编辑,在
y
=
∅
y=∅
y=∅ 时生成新图像。从 FLUX.1 的 checkpoint 开始。
图像通过冻结的 FLUX autoencoder,文本 token 被拼接到图像 token 之前一起送入视觉流。采用 3D RoPE 编码,上下文图像的 token 会被加上一个常量偏移,表示为虚拟的时间步。保持图像内部空间结构不同时,把上下文图像和目标图像在时序上区分开。具体而言,目标图像为
(
0
,
h
,
w
)
(0,h,w)
(0,h,w),上下文图像为
(
i
,
h
,
w
)
(i,h,w)
(i,h,w)。
目标函数采用 Rectified Flow Loss:
L
θ
=
E
t
∼
p
(
t
)
,
x
,
y
,
c
[
∥
v
θ
(
z
t
,
t
,
y
,
c
)
−
(
ε
−
x
)
∥
2
2
]
\mathcal{L}_\theta=\mathbb{E}_{t\thicksim p(t),x,y,c}\left[\|v_\theta(z_t,t,y,c)-(\varepsilon-x)\|_2^2\right]
Lθ=Et∼p(t),x,y,c[∥vθ(zt,t,y,c)−(ε−x)∥22]
同时采用 LADD 替代 ODE/SDE 的 50-250 步采样,提高采样速度。
KontexBench
Benchmark | 问题 |
---|---|
InstructPix2Pix | 依赖 Stable Diffusion 合成样本+ GPT 生成指令,存在系统性偏差 |
MagicBrush | 虽然采用真实 MS-COCO 图像,但数据收集受限于 DALLE-2 |
Emu-Edit | 低分辨率图像+非真实分布,仅覆盖编辑任务 |
DreamBench | 样本覆盖狭窄 |
GEdit-bench | 未覆盖现代多模态模型全部能力 |
IntelligentBench | 未公开,只有300例任务 |
KontexBench:1026 个图文样本对,108 张基础图像。覆盖五个任务类别:局部指令编辑(416)、全局指令编辑(262)、文本编辑(92)、风格参考(63)、角色参考(193)。 | |
文生图评估的评价维度:指令遵循度、审美质量、真实感、字体准确性、推理速度。 | |
图像编辑评估:图像质量、局部编辑、角色保持(C-Ref)、风格迁移(S-Ref)、文本编辑、推理效率。 |