论文解读 · 序列建模 × 持续学习

把状态更新写成一条学习规则:
Falcon 家族重新对齐 fast-weight 记忆

Fast Weight Attention for Continual Learning · arXiv 2608.27763
ByteDance Seed × Princeton × 清华 · 姚期智 / 王梦迪 / Quanquan Gu 在列
arxiv.org/abs/2608.27763
一句话:RNN / SSM 的固定大小状态矩阵,本质是在线学习器的权重。几乎所有现有实现(DeltaNet、Mamba-2 系、Gated DeltaNet)都在用"错位一步"的样本更新这块记忆;把样本对齐修正 + 归一化之后得到 Falcon-1/2/3 一族规则——语言建模打平最强基线,长度外推显著更稳。

本质:状态更新即学习规则,但你喂错了样本

先回到第一性原理。Transformer 把"快记忆"外化成不断增长的 KV cache——上下文多长,记忆多大;SSM 和 fast-weight 模型则把记忆压缩进固定大小的状态矩阵 S。压缩靠什么?靠状态转移方程。而这个转移方程在数学上就是一条在线学习规则:每来一个 token,就对新证据做一次梯度式的写入。

既然是学习规则,就有"训练样本是什么"的问题。自回归模型的语义是 read-after-write:在位置 t 读状态、预测 token t+1。论文的核心观察是——与"新预测的目标 vt"真正配对的特征,是前一步的 key 特征 ϕ(kt−1),也就是"做预测时手里有的信息"。样本对应该是 (ϕ(kt−1), vt),prefix-aligned;而不是 DeltaNet、Mamba 系普遍采用的 same-step 配对 (ϕ(kt), vt)。

same-step 配对并不违反因果性,它只是优化了一个不同的内部目标——把"当前 key 与当前 value"绑定,而预测读出发生在写入之前。这个错位在弱信号、长程依赖场景下就是系统性偏差:你总是把"事后才知道的答案"和"事后的线索"绑在一起,而不是练习"用事前线索预测答案"。这正是 continual learning 的经典问题——在线绑定新证据且不发生灾难性干扰——而序列建模社区之前把它当成纯架构问题处理了。

概念总览
图1 · 概念总览:共同的写入规则之上,same-step 关联与 Falcon 的 prefix 对齐写入、滑窗有界排练的差别

Falcon 家族:把 plasticity、forgetting、rehearsal 拆开

对齐之后,论文推导出一族归一化一阶更新。核心形态是一条残差驱动的写入:

St = (1 − ηtλt) St−1 + ηt xt rt,其中残差 rt = vt − St−1xt

回归族(最小化 squared error)三兄弟:

Falcon-1:标量 NLMS 更新。一个全局步长 ηt 作用在所有 value 通道上——归一化 LMS,1980 年代自适应滤波的老朋友,进了序列建模。Falcon-2:把标量步长升级为 per-channel 向量 ηt,每个 value 通道有自己的可塑性,哪个通道预测得差、哪个通道学得多。Falcon-3:滑动窗口 mini-batch 更新,对最近 B 对 (xj, vj) 的残差做平均后写入——有界排练(bounded rehearsal),窗口就是容量受限的 replay buffer。

三个旋钮干净地分离:η/β 管可塑性,λt 管收缩遗忘,窗口大小 B 管排练范围。每族还有内积目标变体 Falcon-1A/2A/3A(目标函数从平方误差换成负内积,对应 DeltaNet 风格的 delta rule)。

Falcon 三个变体
图2 · Falcon-1(标量可塑性)vs Falcon-2(逐通道可塑性)vs Falcon-3(滑窗 mini-batch)的单步更新对比

三种等价形式:SSD chunk-parallel 直接兼容

工程上最关键的一点:所有变体都有三种等价形式——递归形式(推理用,每步 O(1) 状态)、掩码并行形式(等价于 denominator-free 线性注意力,ϕ(Q)ϕ(K)⊙M 后乘 V)、分块并行形式(SSD 风格 chunk-wise,cross-chunk 递推 + chunk 内并行)。也就是说,这套更新规则能直接挂进 Mamba-2 的 chunk-parallel 训练框架,不用为它重写训练系统。

数值稳定性也处理了:正衰减重归一化(positive-decay renormalization),避免长序列下状态范数爆炸——fast-weight 系常见的坑提前填了。

线性注意力三种等价视角
图3 · Denominator-free 线性注意力的三种等价视角:A 递归扫描 / B 掩码并行 / C SSD 风格分块并行(O(N) 时间、O(1) 推理状态)
Falcon-1 核的三种视图
图4 · Falcon-1 rank-one 核的三种等价视图:A 递归形式 / B 并行形式(WY 表示 + TriSolve)/ C 分块形式(per-chunk WY/Gram)

实验:打平语言建模,赢在长度外推

FineWeb-Edu 上 50B token、124–130M 参数规模的对比:

表1 · FineWeb-Edu 困惑度(50B token 训练预算,越低越好)
模型Wiki. ↓LMB. ↓FineEdu. ↓
124M–130M 参数基线
Transformer (w. RoPE, 124M)33.2547.4317.38
RetNet/LightningAttn36.8665.1618.79
Mamba-234.5348.7417.70
DeltaNet34.1952.8417.84
Gated DeltaNet(最强基线)30.9946.7017.32
Falcon(本文)
Falcon-1A.3(QK-RMSNorm, ctxη-ctxλ)34.0249.8417.40
Falcon-1.3(QK-RMSNorm, ctxη-ctxλ)33.0048.7017.10

下游 8 任务 zero-shot 平均,Falcon-1A.2 拿到 49.30,是列表里最好的;one-shot 平均 49.54 同样居首。诚实地说:语言建模上这不是碾压式胜利,是"对齐修正不伤性能、略有盈余"。

真正拉开差距的是变长多位数加法(训练 1–32 位,外推 33–48 位,teacher-forced):

表2 · 变长加法长度外推(teacher-forced,越高越好)
模型Val. acc.外推平均 acc(33–48 位)acc@d33 / d48
Transformer (w. RoPE)100.065.897.0 / 49.0
Mamba-2100.075.2100.0 / 51.0
RetNet/LightningAttn99.782.999.0 / 63.0
Falcon-1.3(回归目标)100.068.8100.0 / 48.0
Falcon-1A.399.885.9100.0 / 69.0
Falcon-3A.3(滑窗)99.987.2100.0 / 69.0

这个任务是纯记忆压力测试:存储数字、传递进位、外推更长序列,没有任何世界知识可以借力。Falcon-3 的滑窗排练在这里优势最大——窗口里的近期残差反复消化,carry 传播链条更稳。有趣的是回归版 Falcon-1.3 在这项只有 68.8,内积目标(delta rule 风格)的外推明显更好——目标函数的选择在外推行为上差异巨大。

为什么值得你关注

对 continual learning / agent memory 的人:这篇论文把"记忆写入规则 = 在线学习规则"这个视角做实了,而且指出样本对齐(什么算一条正确的训练样本)比更新公式本身更根本。这和 agent memory 系统的问题同构:写入记忆的时机与读出时机错配,是记忆系统隐性退化的常见根源。prefix-aligned 这个概念可以直接迁移——记忆条目应该在"当时可用的线索"和"事后验证的答案"之间绑定。

对序列建模工程:SSD chunk-parallel 兼容意味着落地成本极低——改的是状态写入的目标函数,不是训练基础设施。

一个方法论提醒:DeltaNet 系这几年的进步(DeltaNet → Gated DeltaNet)一直在调 gate 和更新公式,这篇论文说明还有一层更基础的自由度——训练对的时序对齐——之前没人系统动过。有时候优化方向错了,调参是在错误的局部盆地里精装修。