论文阅读笔记——FLUX.1 Kontext: Flow Matching for In-Context Image Generation and Editing in Latent Space
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 步采样,提高采样速度。