通过不动点流的自条件化流映射语言模型
摘要
介绍了不动点流,一种自条件化流语言模型,将自条件化视为不动点迭代,从而能够蒸馏出几步流映射语言模型 (FMLM⋆),在OpenWebText上优于先前工作。
查看缓存全文
缓存时间: 2026/07/02 05:38
# 自条件流地图语言模型:基于不动点流
来源:https://arxiv.org/html/2607.00714
Jaehoon Yoo¹,Wonjung Kim¹∗,Floor Eijkelboom²,Chanhyuk Lee¹,Nicholas M. Boffi³,Seunghoon Hong¹†,Jinwoo Kim¹†
¹KAIST,²阿姆斯特丹大学,³卡内基梅隆大学
###### 摘要
自条件化(self-conditioning)是一种增强连续流语言模型的核心技术,模型通过以自身的去噪估计为条件来学习对生成文本进行去噪。虽然自条件化在实证上取得了成功,但其性能提升的内在机理仍不明确。此外,基于流地图的少步生成器日益受到关注,但如何利用自条件化尚不清楚。在本文中,我们展示了带有自条件化的流语言模型实际上求解了一个不动点迭代,该迭代提升了学习到的去噪器的性能。基于这一视角,我们提出了**不动点流(fixed-point flows)**,这是一类二维的自条件流,其中第一维代表流过程,第二维代表不动点迭代。我们证明了不动点流定义了有效的流地图,并且可以通过压缩不动点迭代和流过程来从自条件流模型中蒸馏得到——前者通过不动点蒸馏,后者通过流地图蒸馏。由此得到的流地图语言模型 FMLM⋆ 在 OpenWebText 数据集上,在一步和少步生成中均优于最先进的自条件模型和少步模型。
¹代码可在 https://github.com/Ugness/self-conditioned-fmlm 获取。
## 1 引言
基于连续流的语言模型(LMs)已成为非自回归文本生成的一种有前景的范式(Lee 等人,2026;Chemseddine 等人,2026;Deschenaux 和 Gulcehre,2026)。通过在一个连续空间中对词元进行去噪学习,这些模型通过由速度场驱动的确定性演化实现并行迭代生成。重要的是,这类过程定义了一个独特的**流地图(flow map)**,即解算子,它可以在至多一次函数求值的情况下直接将噪声传输到数据。这一优势引发了近期对将流语言模型蒸馏为流地图语言模型的研究突破,使模型能够在 1 到数步推理步骤内生成文本(Lee 等人,2026;Roos 等人,2026;Potaptchik 等人,2026)。
最近,通过引入**自条件化(self-conditioning)**机制,流语言模型的性能得到了提升(Chen 等人,2022)。与通常的流训练不同,自条件流模型通过以自身的去噪预测为条件来学习对输入进行去噪。在生成过程中,模型在每个流时间步上通过以先前去噪的结果为条件来进行去噪。自条件化在实证上非常有效(Dieleman 等人,2022;Strudel 等人,2022),并已被广泛应用于最新的最先进流语言模型中(Chen 等人,2026;Hu 等人,2026;Batzolis 等人,2026;Meshchaninov 等人,2026;Yang 等人,2026)。然而,尽管取得了成功,自条件化为何能带来改进仍不清楚。此外,在自条件化下如何将流蒸馏为流地图也不明确,因为自条件化引入了跨越生成时间步的额外依赖关系。
在本文中,我们提出了**不动点流(fixed-point flows)**,一个用于自条件流及其相关流地图的数学框架(图 1)。我们的关键观察是,自条件流语言模型求解了一个不动点迭代,该迭代提升了学习到的去噪性能。基于这一见解,我们描述了一类二维的自条件流,其中第一维表示原始的流,第二维表示不动点迭代。我们利用这一视角,通过压缩不动点迭代和流过程来将自条件流语言模型蒸馏为流地图,获得了最先进的一步和少步语言建模。我们的主要贡献如下:
- •**自条件化的不动点视角**。我们展示了带有自条件化的流语言模型隐式地学习了一个不动点迭代,该迭代不断精炼去噪估计。我们理论上证明,在压缩性假设下,这种行为可以从自条件训练中涌现。
- •**不动点流及其流地图**。我们提出了不动点流,作为自条件流的形式化描述。我们证明了不动点流定义了一个有效的流地图,该流地图可以通过压缩不动点迭代和流过程并辅以相应的少步蒸馏目标来学习。
- •**实证结果**。我们将自条件流语言模型蒸馏为流地图语言模型,在 OpenWebText 上实现了最先进的一步和少步生成。我们还表明,可以将自条件模型蒸馏为无自条件模型而不会导致性能下降。
## 2 预备知识
流 自条件流 蒸馏
流训练
t=0 t=1
不动点动力学
流采样
流状态 去噪估计 不动点迭代
热启动 流地图跳跃 不动点跳跃
SC训练 热启动SC采样 冷启动SC采样
流地图蒸馏
+
不动点蒸馏
=
SC流地图蒸馏
**图 1:概述。** 我们展示了带有自条件化的流语言模型求解了一个不动点迭代,该迭代不断精炼去噪估计。我们利用这一见解来形式化**不动点流**,这是一类在每一流时间步上运行不动点迭代的自条件流。不动点流产生有效的流地图,我们通过压缩流和不动点迭代来学习该流地图。
#### 流语言模型。
令 \( V \) 表示词表,长度为 \( L \) 的文本数据记为 \( \mathbf{y} = (\mathbf{y}^l)_{l=1}^L \in V^L \)。语言建模的目标是学习数据分布 \( p(\mathbf{y}) \),从而高效地生成新的文本样本。流语言模型选择一种连续嵌入 \( \mathbf{y} \mapsto \mathbf{x} \in \mathbb{R}^{L \times d} \) 和一个解码器 \( \mathbf{x} \mapsto \mathbf{y} \),对嵌入空间上的诱导分布 \( p(\mathbf{x}) \) 进行建模,生成 \( \hat{\mathbf{x}} \sim p(\mathbf{x}) \) 然后通过 \( \hat{\mathbf{x}} \mapsto \hat{\mathbf{y}} \) 取整为离散语言。为了建模此时连续的嵌入数据分布 \( p(\mathbf{x}) \),流语言模型采用基于随机插值的流匹配(Lipman 等人,2022;Albergo 等人,2025)。它们指定 \( t \in [0,1] \) 上的概率路径 \( p_t(\mathbf{x}_t) \) 为插值 \( I_t \coloneqq (1-t)\mathbf{x}_0 + t\mathbf{x}_1 \) 的密度,其中噪声 \( \mathbf{x}_0 \sim p_0 \) 与数据 \( \mathbf{x}_1 \sim p_1 \) 之间。路径 \( p_t \) 允许一个确定性演化方程,可用于在推理时抽取样本 \( \mathbf{x}_t \sim p_t \):
\[
\dot{\mathbf{x}}_t = b_t(\mathbf{x}_t), \quad b_t(\mathbf{x}) = \mathbb{E}[\mathbf{x}_1 - \mathbf{x}_0 \mid I_t = \mathbf{x}], \quad \mathbf{x}_0 \sim p_0, \quad t \in [0,1],
\tag{1}
\]
其中 \( b_t \) 是流的速度场。如果有一个速度的模型 \( \hat{b} \) 可用,那么可以通过在时间网格 \( 0 = t_0 < \dots < t_N = 1 \) 上数值积分 (1) 来近似抽取样本 \( \hat{\mathbf{x}}_1 \sim p_1 \)。最简单的方案是欧拉方法:
\[
\hat{\mathbf{x}}_{t_{i+1}} = \hat{\mathbf{x}}_{t_i} + (t_{i+1} - t_i) \hat{b}_{t_i}(\hat{\mathbf{x}}_{t_i}), \quad \hat{\mathbf{x}}_{t_0} \sim p_0.
\tag{2}
\]
#### 去噪器。
所有现代流语言模型都使用**去噪器(denoiser)**参数化(Karras 等人,2022;Kingma 和 Gao,2024)。去噪器 \( D_t \) 定义为
\[
D_t(\mathbf{x}) = \mathbf{x} + (1-t) b_t(\mathbf{x}),
\tag{3}
\]
它生成“清除”的输出,即 \( D_t(I_t) \approx \mathbf{x}_1 \)。欧拉方法 (2) 可以用去噪器重新表达为
\[
\hat{\mathbf{x}}_{t_{i+1}} = (1-t_{i+1}) \hat{\mathbf{x}}_{t_i} + t_{i+1} D_{t_i}(\hat{\mathbf{x}}_{t_i}),
\tag{4}
\]
或等效地,通过去噪器自身的迭代:\( \hat{\mathbf{x}}_{t_{i+1}} = D_{t_i}(\hat{\mathbf{x}}_{t_i}) \)。
#### 自条件流语言模型。
自条件流语言模型将去噪器扩展为关于**去噪估计** \( \mathbf{z} \) 的条件化,\( D_t(\mathbf{x}, \mathbf{z}) \)。去噪估计可以认为是模型对 \( \mathbf{x}_1 \) 的当前预测。在实践中,去噪估计被定义为去噪器输出本身:\( \mathbf{z} = D_t(\mathbf{x}, \mathbf{z}) \)。在训练时,这需要将 \( \mathbf{z} \) 固定为去噪器对噪声样本 \( \mathbf{x}_t \) 的预测:
\[
\mathcal{L}(\hat{D}) = \int_0^1 \mathbb{E}[ \| \hat{D}_t(\mathbf{x}_t, \mathbf{z}_t) - \mathbf{x}_1 \|^2 ] \, dt, \quad \mathbf{z}_t = \text{stopgrad}[\hat{D}_t(\mathbf{x}_t, \mathbf{z}_t)].
\tag{5}
\]
在实践中,使用 stopgrad 来避免平凡解(Chen 等人,2022;Hu 等人,2026)。在推理时,生成过程使用热启动程序(Dieleman 等人,2022)。在每个时间步 \( t_i \) 上,模型首先通过评估 \( \hat{D}_{t_i}(\hat{\mathbf{x}}_{t_i}, \hat{\mathbf{z}}_{t_{i-1}}) \) 来更新去噪估计,其中 \( \hat{\mathbf{z}}_{t_{i-1}} \) 是 \( t_{i-1} \) 时的先前去噪估计。然后它像 (4) 那样更新流状态,但使用条件化的去噪器:
\[
\hat{\mathbf{z}}_{t_i} = \hat{D}_{t_i}(\hat{\mathbf{x}}_{t_i}, \hat{\mathbf{z}}_{t_{i-1}}), \quad \hat{\mathbf{x}}_{t_{i+1}} = (1-t_{i+1}) \hat{\mathbf{x}}_{t_i} + t_{i+1} \hat{\mathbf{z}}_{t_i}.
\tag{6}
\]
在 \( t_0=0 \) 时,\( \hat{\mathbf{z}}_{t_0} \) 初始化为 \( \mathbf{0} \)。我们发现这种方案在非自回归语言生成中表现出色。
## 3 不动点流
#### 3.1 自条件化的不动点动态
我们的出发点是将自条件流语言模型视为在每个时间步 \( t \) 上求解一个不动点方程。在训练 (5) 中,去噪器 \( \hat{D}_t(\cdot, \cdot) \) 被优化,使得对于固定的 \( \mathbf{x}_t \),不动点问题
\[
\mathbf{z} = \hat{D}_t(\mathbf{x}_t, \mathbf{z})
\tag{7}
\]
的解 \( \mathbf{z}^\star_t \) 近似于真实干净数据 \( \mathbf{x}_1 \)。实际上,在自条件训练中,我们通过一个梯度步骤来部分求解 (7):\( \mathbf{z}_t = \text{stopgrad}[\hat{D}_t(\mathbf{x}_t, \mathbf{z}^\text{old}_t)] \),其中 \( \mathbf{z}^\text{old}_t \) 是先前迭代的解。这种部分求解使得梯度可以流过 \( \mathbf{z}^\text{old}_t \)。从这个角度来看,自条件训练的目标是使不动点解 \( \mathbf{z}^\star_t \) 逼近干净数据 \( \mathbf{x}_1 \)。
**引理 3.1**。对任意固定的 \( t \in [0,1) \) 和 \( \mathbf{x}_t \in \mathbb{R}^{L \times d} \),令 \( \hat{D}_t \) 是一个连续的参数化去噪器,满足 \( \hat{D}_t(\mathbf{x}_t, \cdot) \) 是从某个开集 \( O \subset \mathbb{R}^{L \times d} \) 到自身的映射。令 \( \mu \) 是 \( \mathbf{x}_t \) 的分布,并假设 \( \mu \) 在收敛区域上有质量。进一步,假设存在一个不动点 \( \mathbf{z}^\star_t \in O \) 使得:
- (i) **局部压缩性**:存在一个开邻域 \( U \ni \mathbf{z}^\star_t \) 和一个常数 \( \eta \in [0,1) \),使得对任意 \( \mathbf{z}, \mathbf{z}' \in U \) 有 \( \|\hat{D}_t(\mathbf{x}_t, \mathbf{z}) - \hat{D}_t(\mathbf{x}_t, \mathbf{z}')\| \leq \eta \|\mathbf{z} - \mathbf{z}'\| \)。
- (ii) **自条件训练目标**:对每个 \( \mathbf{x}_t \sim \mu \),对 \( \mathbf{z}^\text{old}_t \) 的分布做的期望中,\( \mathbb{E}_{\mathbf{x}_t}[ \|\hat{D}_t(\mathbf{x}_t, \hat{D}_t(\mathbf{x}_t, \mathbf{z}^\text{old}_t)) - \mathbf{x}_1\|^2 ] \) 被最小化。
则当自条件训练收敛时,不动点 \( \mathbf{z}^\star_t \) 满足 \( \mathbb{E}_{\mathbf{x}_t} [\|\mathbf{z}^\star_t - \mathbf{x}_1\|^2] \) 最小化,并且 \( \hat{D}_t \) 在 \( U \) 上是压缩的。
**证明概要**。设 \( \mathbf{z}^{\star,t}_t(\mathbf{x}_t) \) 为每个 \( \mathbf{x}_t \) 的不动点。自条件目标 (5) 推动 \( \hat{D}_t \) 将 \( \mathbf{z} \) 映射到 \( \mathbf{x}_1 \) 的近似,同时压缩性 (i) 确保了不动点迭代收敛。目标的循环结构鼓励 \( \mathbf{z}^{\star,t}_t \approx \mathbf{x}_1 \)。有关更详尽的论证,请参见附录 A.3。
因此,自条件化隐式地学习了压缩映射,其不动点靠近数据。这解释了去噪估计如何逐步精炼。
**推论 3.2**(通过不动点迭代进行改进)。设 \( \hat{D}_t(\mathbf{x}_t, \cdot) \) 满足标准压缩性质:\( \|\hat{D}_t(\mathbf{x}_t, \mathbf{z}) - \hat{D}_t(\mathbf{x}_t, \mathbf{z}')\| \leq \eta \|\mathbf{z} - \mathbf{z}'\| \),对所有 \( \mathbf{z}, \mathbf{z}' \) 成立,其中 \( \eta < 1 \)。令 \( \mathbf{z}^\star_t \) 为不动点。则对任意初始猜测 \( \mathbf{z}^{(0)} \),迭代 \( \mathbf{z}^{(k+1)} = \hat{D}_t(\mathbf{x}_t, \mathbf{z}^{(k)}) \) 满足
\[
\|\mathbf{z}^{(k)} - \mathbf{z}^\star_t\| \leq \frac{\eta^k}{1-\eta} \|\hat{D}_t(\mathbf{x}_t, \mathbf{z}^{(0)}) - \mathbf{z}^{(0)}\|.
\tag{8}
\]
这证明了与标准不动点迭代中类似的线性收敛(更详细的版本见附录 A.5)。
#### 3.2 作为固定点迭代的自条件采样
自条件模型的标准生成程序 (6) 在每个时间步只进行一次不动点迭代。然而,我们表明,由于相邻时间步之间的相关性,这一程序仍然有效。我们可以将标准生成 (6) 重写为:
\[
\hat{\mathbf{z}}_{t_i} = D_{t_i}(\hat{\mathbf{x}}_{t_i}, \hat{\mathbf{z}}_{t_{i-1}}), \quad \hat{\mathbf{x}}_{t_{i+1}} = (1-t_{i+1})\hat{\mathbf{x}}_{t_i} + t_{i+1} \hat{\mathbf{z}}_{t_i}.
\tag{9}
\]
这里,\( \hat{\mathbf{z}}_{t_{i-1}} \) 作为不动点迭代的初始猜测。我们称这种方案为**热启动采样**,因为猜测 \( \hat{\mathbf{z}}_{t_{i-1}} \) 接近不动点 \( \mathbf{z}^\star_{t_i} \):相邻时间步的干净数据分布 \( p(\mathbf{x}_1) \) 相同,因此当时间步长足够小时,不动点会发生变化,但不会发生剧烈变化。
我们也可以考虑**冷启动采样**,即使用许多不动点迭代,但从 \( \mathbf{z} = \mathbf{0} \) 开始:
\[
\hat{\mathbf{z}}^{(0)} = \mathbf{0}, \quad \hat{\mathbf{z}}^{(k+1)} = D_{t_i}(\hat{\mathbf{x}}_{t_i}, \hat{\mathbf{z}}^{(k)}), \quad \hat{\mathbf{z}}_{t_i} = \hat{\mathbf{z}}^{(K)},
\tag{10}
\]
并证明如果 \( \eta < 1 \),则收敛到不动点(命题 3.3)。我们将在 4.2 节展示,冷启动采样在足够的步数下可以匹配热启动采样,从而解耦流动态与不动点迭代。
#### 3.3 不动点流 ODE
我们将自条件流形式化为一个两阶段过程。设 \( \mathbf{z}^\star_t(\mathbf{x}_t) \) 为 (7) 的不动点。然后我们将在流动态更新过程中重构 ODE。首先,在时间步 \( t \) 上,我们通过不动点迭代求解 \( \mathbf{z}^\star_t = D_t(\mathbf{x}_t, \mathbf{z}^\star_t) \)。然后,流动通过 \( \dot{\mathbf{x}}_t = b_t(\mathbf{x}_t, \mathbf{z}^\star_t) \) 进行,其中 \( b_t(\mathbf{x}_t, \mathbf{z}^\star_t) = (\mathbf{z}^\star_t - \mathbf{x}_t)/(1-t) \)。由于 \( \mathbf{z}^\star_t \) 是 \( \mathbf{x}_t \) 的函数,我们可以用 \( \mathbf{x}_t \) 来表示派生过程。由此得到
**定义 3.4**(不动点流)。不动点流定义为以下常微分方程(ODE):
\[
\dot{\mathbf{x}}_t = b^\star_t(\mathbf{x}_t), \quad b^\star_t(\mathbf{x}_t) = \frac{\mathbf{z}^\star_t(\mathbf{x}_t) - \mathbf{x}_t}{1-t}, \quad t \in [0,1),
\tag{11}
\]
其中 \( \mathbf{z}^\star_t(\mathbf{x}_t) \) 是满足 \( \mathbf{z}^\star_t = D_t(\mathbf{x}_t, \mathbf{z}^\star_t) \) 的不动点。我们还需要定义在 \( t=1 \) 时的行为。为简单起见,假设可以连续延拓。
**命题 3.5**(与自条件流的等价性)。设 \( \hat{\mathbf{x}}_t \) 遵循欧拉 (2) 与自条件速度 \( b_t(\mathbf{x}_t, \mathbf{z}^\star_t) \),其中每个时间步都用不动点迭代来确定 \( \mathbf{z}^\star_t \)。则 \( \{ \hat{\mathbf{x}}_t \} \) 与不动点流 ODE (11) 的解一致。
**证明**。根据巴拿赫不动点定理,对于每个 \( (\mathbf{x}_t, t) \),不动点唯一存在。因此,\( \mathbf{z}^\star_t \) 是 \( \mathbf{x}_t \) 的确定性函数。此外,由于 \( D_t \) 是连续的,\( \mathbf{z}^\star_t(\mathbf{x}_t) \) 在 \( \mathbf{x}_t \) 上是连续的。因此 (11) 定义了一个自治 ODE。标准欧拉离散化 (2) 用该速度重构了自条件采样 (6)。因此两者等价。
实际上,这建立了自条件流是连续时间流的一种形式(见附录 A.4 详细推导)。
#### 3.4 不动点流地图
在 3.3 节中,我们形式化了不动点流,通过普通速度场表达了自条件流。我们利用这一见解来定义其相关的流地图,从而可以为自条件流语言模型设计少步蒸馏方法。
**命题 3.6**。在不动点流 ODE (11) 具有唯一解的任何区间上,**不动点流地图** \( X^\star_{s,t}(\mathbf{x}_s) = \mathbf{x}_t \) 是解算子,满足
\[
X^\star_{s,t}(\mathbf{x}) = \mathbf{x} + \int_s^t b^\star_\tau(\mathbf{x}_\tau) d\tau.
\tag{20}
\]
此外,对于 \( 0 \leq s \leq u \leq t < 1 \),有
\[
X^\star_{s,t} = X^\star_{u,t} \circ X^\star_{s,u}.
\tag{21}
\]
**证明**见附录 A.6。结果表明 \( X^\star \) 是一个有效的流地图,并满足诸如 (21) 的条件,这些条件可用来通过从速度 \( b^\star_t \) 进行蒸馏来学习它。
为了学习流地图,我们用**双时间去噪器** \( \delta_{s,t} \) 来参数化它,定义如下(Lee 等人,2026;Lu 等人,2026):
\[
\delta_{s,t}(\mathbf{x}) \coloneqq \mathbf{x} + (1-s) v_{s,t}(\mathbf{x}),
\tag{22}
\]
其中 \( v_{s,t} \) 是从 \( s \) 到 \( t \) 的平均速度,定义如下(Boffi 等人,2026):
\[
v_{s,t}(\mathbf{x}) \coloneqq \frac{X^\star_{s,t}(\mathbf{x}) - \mathbf{x}}{t-s}, \quad v_{t,t}(\mathbf{x}) \coloneqq b^\star_t(\mathbf{x}).
\tag{23}
]
类比于单时间去噪器与速度的关系 \( D^\star_t(\mathbf{x}) = \mathbf{x} + (1-t) b^\star_t(\mathbf{x}) \),双时间去噪器可以看作是将单次去噪步骤直接映射到干净数据域。已知其输出位于低维流形(Lee 等人,2026;Lu 等人,2026),使得学习更容易。
我们现在证明:
**命题 3.7**。双时间去噪器 \( \delta_{s,t} \) 满足以下性质:
- (i) 对于 \( 0 \leq s < t < 1 \),\( \delta_{s,t} \) 是一个单步预测器:如果 \( \mathbf{x}_s \sim p_s \),则 \( \delta_{s,t}(\mathbf{x}_s) \) 的分布逼近 \( p_1 \)(在 \( t \to 1 \) 的极限下精确等于 \( p_1 \))。(具体见附录 A.7)相似文章
FlowLM: 基于扩散-流适配的少步语言建模
FlowLM 提出了一种流匹配语言模型,通过高效微调从预训练扩散模型衍生而来,能够实现高质量少步文本生成,其效果可与2000步扩散采样相媲美,而训练轮次更少。
掩码语言流模型
本文介绍了掩码语言流模型(MLFMs),该模型将掩码机制引入基于流的语言模型,从而实现连续流进行条件生成,并允许转换预训练的掩码扩散模型。作者提出了一种新型采样器,交替进行连续去噪和离散去掩码,首次证明了基于流的语言模型可以扩展至下游推理和指令遵循任务。
基于超球面流的语言建模
本文介绍了 S-FLM,一种新颖的基于流的语言模型。该模型在超球面潜在空间中运行,旨在解决现有离散扩散模型和连续流模型的计算成本高昂及语义表达受限等问题。
Flow-Map GRPO:基于锚定随机组合的少步流图生成器强化学习
提出了Flow-Map GRPO,一种用于确定性少步流图生成器的在线RL后训练框架,引入了锚定随机流图组合(ASFMC)以在不改变原始模型参数化的情况下实现随机优化。在基于FLUX的MeanFlow和sCM上的实验表明,在基于奖励的、感知的和任务级别的指标上均有改进。
Modeling Unknown Nonlocal PDE Systems via Flow Map Learning
This paper presents a flow-map learning framework for modeling unknown nonlocal PDEs directly from solution data, avoiding explicit nonlocal operator evaluation. The method learns finite-time evolution operators in modal or nodal space and demonstrates accurate long-time prediction for fractional diffusion and wave equations.