Flux 2:并不惊艳,但可能是开源图像模型的重要转折点

Black Forest Labs 发布了他们最新的图像模型 Flux 2,这篇文章主要回答三个问题:Flux 2 背后到底是一项什么样的技术?它在当前图像生成模型体系中处在什么位置?它对未来的产品与研究,可能意味着什么?总体判断:Flux 2 不是好用的产品,但是一项扎实的研究。

Flux2-release

大概在两周之前,Black Forest Labs 发布了他们最新的图像模型 Flux 2。 和之前的 Flux 1、Flux Context 相比,这一次的发布在互联网上的声量并不算高。

原因其实也不复杂——在 Flux 2 发布之前,Nano Banana 2 已经抢走了几乎所有注意力。作为一个图像生成与编辑模型,Nano Banana 2 的效果确实非常惊艳,相比之下,Flux 2 在使用层面并没有给人同样强烈的第一印象。

但即便如此,我依然觉得 Flux 2 值得被认真讨论一次。 原因在于,Black Forest Labs 这家公司,在我看来一直有点像这个行业里的“标准制定者”。他们做出的很多架构选择,往往会在之后被研究人员和开发者不断复用、演化。

这篇文章想做的事情,就是尝试回答三个问题:

  • Flux 2 背后到底是一项什么样的技术?
  • 它在当前图像生成模型体系中处在什么位置?
  • 它对未来的产品与研究,可能意味着什么?

如果有想尝试 Flux 2 的同学,可以直接租用晨涧云算力平台Flux-ComfyUI 云容器,记得选 2-xxx 的版本是 Flux 2。


总体的判断:Flux 2 不是好用的产品,但是一项扎实的研究

如果用一句话来总结我对 Flux 2 的感受,那就是:

它并不是一个成熟、好用的图像生成或图像编辑产品,但它的确是一项非常扎实的研究工作。

现在再回头看图像生成模型,我们对它的期待早就变了。 一年前的标准是:

“只要能通过文本生成一张还不错的图像,就已经很厉害了。”

而今天,我们的要求是:

  • 你是否能真正理解人的意图
  • 你是否能进行精准、可控的编辑
  • 你是否能在生成之外,完成复杂的修改任务

生成和编辑,本质上就是两类完全不同的需求,而编辑的难度远远高于生成

在这些方面,Flux 2 的表现并不理想:

  • 某些场景下,生成的图像“塑料感”偏重,存在不自然的高光
  • 图像编辑能力,甚至不如上一代 Flux Context
  • Flux Context 能做到的精准编辑,在 Flux 2 中反而退步了

再加上 Nano Banana 2 抢先发布,很容易给人一种错觉:

曾经走在行业前面的角色,这次被别人超过了。

这些问题都是客观存在的。


那为什么还说 Flux 2 是一项重要的研究?

原因主要有两个。

第一,它是完全开源的

Flux 2 并不是一个只给结果、不讲过程的模型。 从代码到架构,从训练方式到模块设计,所有东西都是透明的

你可以:

  • 自己跑模型
  • 自己看代码
  • 清楚地理解它的设计取舍

在今天这个阶段,单这一点就已经非常难得。


第二,它解决了一个长期存在的核心问题:Scaling Law 的断点

在图像生成领域,一个长期困扰研究者的问题是:

大语言模型 + Diffusion 模型,为什么很难一起稳定地“变大”?

如果你观察当前表现较好的模型,比如 Qwen Image、Qwen Image Edit,会发现一个共同点:

  • 它们使用的大语言模型,基本都停留在 7B 规模
  • 很少有人成功把这个规模继续往上拉

不是不想,而是拉不上去

当人们尝试用更大的语言模型(比如 13B、24B)去和 Diffusion 模型联合训练时,往往会遇到:

  • 训练不稳定
  • loss 发散
  • 模型无法继续有效学习

Flux 2 把这个规模,从 7B 推到了 24B,并且成功训练了出来。 这是一个实实在在的突破。


Flux 2 相比 Flux 1 的主要变化

1. DiT 骨架的调整,但不是决定性因素

在 Diffusion Transformer(DiT)结构上,Flux 2 做了一些调整:

  • Single-streaming block 数量显著增加
  • 对应地,原先的 double-streaming block 数量减少

如果你去看代码,会发现 single transformer block 有四十多个。

但从我自己做过的一些 DiT 实验来看,这类调整更多是工程经验驱动的结果,而不是明确的理论结论。

DiT 本身依然是一个高度黑盒的系统:

  • 很难精确说清楚某一层负责学习什么
  • 模块配比往往只能通过实验不断试错

因此,这部分变化并不是 Flux 2 的核心创新。


2. 用 VLM 完全替换 T5 Encoder

真正重要的变化在于两点。

第一点,是 用 VLM(视觉语言模型)完全替换了原本的 T5 Encoder

这件事本身并不新鲜。 当前几乎所有主流图像生成或编辑模型,都已经引入了视觉模块,例如 Qwen Image 使用的就是 Qwen 自家的 VLM。

Flux 2 的关键不在“用了 VLM”,而在于:

它成功训练了一个 24B 规模的 VLM,并把它稳定接入了 Diffusion 体系。

3. Flux 2 VAE:真正的关键突破

我认为,Flux 2 最有价值的创新,其实在于它新的 VAE 设计

要理解这一点,我们需要先回到一个基础问题。


为什么 VAE 会限制大模型的规模?

在图像生成训练中,我们并不是直接用原始图片,而是:

  1. 通过 VAE 对图片进行压缩
  2. 在 latent space 中进行 Diffusion 训练
  3. 再通过 decoder 还原成最终图像

VAE 的目标只有两个:

  • 压缩得足够小
  • 重建得尽可能像原图

它并不关心压缩后的表示是否“适合学习”。

这就会导致一个问题:

  • 小模型对 latent 中的噪声不敏感
  • 模型变大后,反而开始“看见”这些噪声
  • 噪声被当成信号,训练随之变得不稳定

于是,人们逐渐意识到:

VAE 产生的中间表示,本身可能存在“可学习性上限”。

什么样的信号是大语言模型喜欢的?

从经验来看,大语言模型更擅长处理:

  • 结构化
  • 有逻辑关系
  • 可归纳的表征

例如:

  • 文本 token
  • 明确的空间关系
  • 对象层级与位置关系

像 DINOv2 这类模型,本质上就在做一件事: 把图像转化为一种包含结构与关系的表征


Flux 2 的思路:让 VAE 同时学会“重建”和“表征”

Flux 2 的核心思路并不复杂:

在训练 VAE 的时候,引入额外的表征约束(类似 DINOv2 的信号)。

这样一来,VAE 的 latent space 就不只是“能还原”,而是:

  • 更有结构
  • 更有顺序
  • 更适合被大语言模型理解

这和一些近期论文中的做法高度一致—— 在 DiT 训练中加入额外的 representation loss,显著提升训练效率。

Flux 2 正是沿着这条路径,对 VAE 的训练方式进行了系统优化,最终让:

  • 大语言模型规模从 7B 提升到 24B
  • 联合训练依然保持稳定

为什么 Flux 2 看起来“像个玩具”?

原因其实很现实。

Flux 2 并没有花大量算力,去做大规模的微调和对齐:

  • 图像一致性
  • 编辑精度
  • 产品级体验

这些都不是它的重点。

它更像是在说:

“这条工程路线是可行的,你们可以继续往前走。”

一点个人的延伸理解

这也让我重新理解了,为什么 OpenAI 和 Google 能够做出当前最强的图像生成模型。

他们做的事情很简单,也很残酷:

  • 把 VAE
  • 把大语言模型
  • 把 Diffusion 骨架
  • 一起联合训练
  • 用海量算力不断迭代

算力本身,就是一种研究工具。

Flux 2 则是在用论文和开源代码告诉社区: 如果你没有那么多算力,工程上可以怎么做。


结语:黎明前的哨声

所以,不要只因为 Flux 2 在产品层面不够亮眼,就低估它的意义。

在我看来,它更像是:

开源图像生成社区,黎明前的一声哨响。

随着 VAE 表征能力的持续提升(比如 DINOv3 之后的工作), 图像生成模型的上限,显然还远没有到头。

我相信,用不了太久,开源社区的模型,会再次追上那些当前看起来“不可战胜”的闭源产品。

阅读更多