Skip to content

FLUX 图像生成模型

FLUX 是 Black Forest Labs 推出的新一代图像生成模型,采用 Flow Matching 训练范式和创新的 DiT(Diffusion Transformer)架构,在图像质量、文本对齐和多样性方面实现了显著突破。

FLUX模型架构

Flow Matching 范式

FLUX 采用了 Flow Matching 替代传统扩散模型的 DDPM 训练:

  • 连续归一化流:通过学习向量场将简单分布(高斯噪声)变换为数据分布
  • 最优传输路径:使用条件最优传输(Conditional Optimal Transport)构建更直的去噪轨迹
  • 更少推理步数:相比 DDPM 的 50+ 步,Flow Matching 可在 4-8 步内生成高质量图像
python
import torch

class FlowMatchingScheduler:
    """Flow Matching 采样调度器"""
    def __init__(self, num_steps=4, sigma_min=1e-5):
        self.num_steps = num_steps
        self.sigma_min = sigma_min

    def step(self, model_output, timestep, sample):
        # Flow Matching ODE 步进
        dt = 1.0 / self.num_steps
        # 从 t=0(噪声)到 t=1(数据)的积分
        prev_sample = sample + dt * model_output
        return prev_sample

    def add_noise(self, sample, noise, timestep):
        # 线性插值路径:x_t = (1-t) * noise + t * sample
        return (1 - timestep) * noise + timestep * sample

DiT 架构创新

FLUX 的核心架构基于改进的 Diffusion Transformer:

  1. 双流设计:文本和图像 Token 在独立的流中处理,通过交叉注意力交互
  2. 旋转位置编码(RoPE):替代传统位置编码,支持变长序列
  3. 并行注意力与 FFN:将自注意力、交叉注意力和 FFN 并行计算,提升效率
  4. 分组查询注意力(GQA):减少 KV Cache 开销

FLUX 模型系列

  • FLUX.1-schnell:快速版本,4 步生成,适合实时应用
  • FLUX.1-dev:开发版本,质量更高,需要更多步数
  • FLUX.1-pro:商业版本,最高质量,API 访问

与 SDXL 的对比

特性SDXLFLUX.1
训练范式DDPM/EDMFlow Matching
架构U-NetDiT
文本编码器CLIP + OpenCLIPT5 + CLIP
参数量3.5B12B
推理步数20-504-8 (schnell)
文字渲染优秀

文字渲染能力

FLUX 在文字渲染方面的突破是其最显著的特性之一:

  • 使用 T5-XXL 作为文本编码器,提供更强的文本理解
  • 训练数据中包含大量带文字的图像
  • 字符级别的文本条件注入,而非仅依赖 CLIP 的句子级编码

相关资源

最近更新