← 全部论文2609.36259v1 / r1
版本与下载

CyFA:用相对时间组织固定容量记忆

论文:CyFA: Linear Sequence Modeling with Relative-Time-Partitioned Memory
作者:Yixiao Chen、Shuojin Yang、Shi-Min Hu(清华大学)
版本:arXiv:2609.36259v1,提交于 2026-09-28;获取与研读日期:2026-10-02。
原文:arXiv 版本页 · 本地 PDF · 作者 TeX 主文件 · 作者提供的代码链接。
配套:英文汇报 PDF · 可编辑 Beamer 源码。

阅读范围:同版本 PDF 共 25 页,已阅读正文 Sec. 1–6、附录 A–E,以及主 TeX 实际引用的章节、表格与图件。以下页码均指从 1 开始的 PDF 页码,本版本与正文印刷页码一致。图件来自作者源码,数值来自论文;未复现预训练,也未审查作者代码实现。另对核心坐标恒等式做了独立的小规模数值核对,见文末。

论文总览

CyFA(Cyclic Flow Attention,循环流动注意力)研究的是:在递归状态容量不增加的情况下,怎样让多个历史键值关联更容易同时被检索?

它保留两块固定大小的 key/value 状态,把行解释成“相对时间槽”。每个 token 到来时,旧记忆按可学习时钟前进一小段,新记忆写入年龄为零的槽;转满一圈后复用原来的槽,遗忘门负责衰减旧信息。读取时对槽做 softmax。数学上的关键是:循环移动可以通过精确坐标变换移出状态转移,最终由两次标量衰减线性注意力完成计算。

最有支撑的经验结论是:在作者匹配的主递归状态预算下,400M、800M、1.4B 模型的召回任务平均分分别比 KDA 高 6.94、5.95、5.74 个百分点。400M 的 FDA 为 42.60 vs. 26.07;8K 下训练吞吐为 KDA 的 1.37 倍。这支持“记忆组织与简单递推可以兼得”,但不意味着固定记忆能无损保存任意长度历史,也不意味着所有语言建模指标均领先。[Sec. 3–4,PDF pp. 4–10,Table 2,Figs. 5–6]

结构地图

原文章节解决的问题PDF 定位
1 Introduction固定状态中的关联干扰;组织记忆的动机pp. 1–2,Fig. 1
2.1 Linear Attention加法、遗忘门、Delta Rule 与分块计算pp. 2–3,Table 1,Eqs. (1)–(4)
2.2 Slot-Based MemorySWA、ABC、GSA 与两遍读取pp. 3–4,Eqs. (5)–(9)
3.1 Relative-Time-Partitioned Memory分数循环位移、时钟、写入和读取pp. 4–5,Eqs. (10)–(18)
3.2 Scalar-Decay Recurrence in Absolute-Clock Coordinates从旋转递推变为标量衰减pp. 5–6,Eqs. (19)–(26)
3.3 Two-Pass Chunk-Wise Computation两次线性注意力与 BLA 的联系pp. 6–7,Eq. (27)
3.4 Network Design127 个有效槽、网络组件、时钟梯度p. 7,Figs. 2–3,Eq. (28)
4.1 Language Modeling困惑度、常识、真实召回任务pp. 8–9,Table 2
4.2 Long-Context Ability8K 续训后的 LongBench 与 RULERp. 9,Table 3,Fig. 4
4.3 Efficiency端到端吞吐与核心算子耗时pp. 9–10,Figs. 5–6
4.4 Ablations / 4.5 Clock Increment Analysis各组件贡献和时钟的输入依赖p. 10,Tables 4–5
5 Related Work / 6 Conclusion与选择性遗忘、槽记忆及旋转方法的区别p. 11
A Cyclic Transport and Relative-Time CoordinatesFourier 构造、插值、几何、等价性、BLA、补齐行pp. 15–20,Propositions 1–6
B Hardware-Efficient Chunk-Wise Parallelism两个算子的具体分块式pp. 20–21,Eqs. (81)–(89)
C Experimental Details架构、状态匹配、训练与续训参数pp. 22–23,Tables 6–7
D Additional Analysis时钟的梯度传播及干预实验pp. 23–24,Table 8
E Additional Experimental Results8K 续训前的结果pp. 24–25,Fig. 7,Table 9

参考文献位于 pp. 11–14。本笔记依据这些引用理解比较角色,没有逐篇通读被引论文。

一:动机——固定状态除了“怎么忘”,还需要“怎么摆”

1.1 普通线性注意力为何会干扰

对于 $q_t,k_t\in\mathbb R^{d_k}$、$v_t\in\mathbb R^{d_v}$,普通线性注意力把历史写进同一矩阵:

$$ S_t=S_{t-1}+k_tv_t^\top,\qquad o_t=S_t^\top q_t=\sum_{i\le t}v_i(k_i^\top q_t). $$

每次查询都会叠加与 query 有匹配的历史项。状态大小固定,历史不断增加时,非目标项容易污染读取。标量遗忘统一衰减旧状态;Delta Rule 用新 key 找到已有预测,再写入预测残差;GDN、KDA 将这种定向修正与标量或向量遗忘结合。[Sec. 2.1,PDF pp. 2–3]

CyFA 的出发点是让不同时间的写入获得不同的状态方向。它仍然需要遗忘,但希望在信息被遗忘之前,先降低不同关联之间的混淆。

1.2 为什么从滑动窗口出发

滑动窗口注意力(SWA)每步把旧 KV 向后移动一格,新 KV 放第零格。优点是最近 $m$ 对 KV 保持明确分离;缺点是每 token 占一槽,移出边界即删除。

CyFA 做两项改变:把单向移动接成环;把每次移动的距离改成输入相关的 $\delta_t\in(0,1)$。因此一槽不必对应一个 token,记忆也不在固定 token 边界被硬删除。但不同圈最终会在同一个有限空间中叠加,这一点是方法的容量边界。[Sec. 3.1,PDF pp. 4–5]

原图 1:CyFA 的循环记忆示意

图源:Fig. 1,PDF p. 2。左右两组分别是 $t$ 和 $t+1$;每组左侧螺旋把多圈历史展开,右侧圆环展示实际复用的同一套槽。较浅颜色代表衰减。图省略了 $R$ 和 $\beta_t$。螺旋上的多圈不是额外存储空间,而是帮助理解历史如何在同一环上叠加。

二:方法——从可解释的循环记忆到可高效计算的递推

2.1 符号、状态与数据流

下式先写单个 head;多头时所有时钟与门控按 head 分别产生。

符号维度/范围含义
$q_t,k_t,v_t$$d_k,d_k,d_v$ 维当前内容查询、键和值
$K_t,V_t$$m\times d_k,m\times d_v$相对时间坐标中的两块状态
$m,m^\ast$默认 127、128有效槽数和实际分配行数
$\delta_t,\lambda_t$标量;$0<\delta_t<1$时钟增量及累积时钟
$\alpha_t,\beta_t$$(0,1)$ 内标量遗忘强度与新写入强度
$P(\tau)$$m\times m$在槽轴上的分数循环位移
$\Phi,\mathcal U(\tau)$$m\times m$正交实 Fourier 基与频率旋转块
$R$$m\times m$每个 head 的可学习读取矩阵,初始化为单位阵
$\overline K_t,\overline V_t$与 $K_t,V_t$ 相同高效实现实际维护的绝对时钟坐标状态

计算路线是:层输入生成 Q/K/V 和三个门控 → 更新累积时钟 → 更新固定大小状态 → 查询生成槽 logits → softmax → 从对齐的 value 状态读出 → 输出归一化、门控和投影。

2.2 分数循环位移究竟是什么

设 $P$ 将第 $r$ 行移到 $r+1\bmod m$。当 $m$ 为奇数,实 Fourier 基有一个 DC 分量和 $(m-1)/2$ 对正余弦分量。作者定义

$$ \mathcal U(\tau)=1\oplus\bigoplus_{j=1}^{(m-1)/2} \operatorname{Rot}\!\left(\frac{2\pi j\tau}{m}\right), \qquad P(\tau)=\Phi\mathcal U(\tau)\Phi^\top. $$

它满足 $P(1)=P$、$P(m)=I$ 和 $P(a)P(b)=P(a+b)$,且正交。整数位移是精确换槽;小数位移通过 Fourier 插值把一条贡献分布到多个槽。[Eqs. (12)–(13),PDF p. 4;App. A.1–A.2,pp. 15–16]

插值系数为

$$ e_r^\top P(\tau)e_s= \frac{\sin\!\big(\pi(\tau+s-r)\big)} {m\sin\!\big(\pi(\tau+s-r)/m\big)}, $$

分母为零处取连续极限。它是周期性的 Fourier–Dirichlet 核,系数和为 1、向量范数为 1,但可能有负旁瓣,不是概率分配。概率归一化只发生在后续 softmax。[Eq. (39),PDF p. 16]

2.3 时钟、遗忘和写入分别控制什么

$$ \lambda_t=\lambda_{t-1}+\delta_t, $$
$$ \begin{aligned} K_t&=\alpha_tP(\delta_t)K_{t-1}+\beta_te_0k_t^\top,\\ V_t&=\alpha_tP(\delta_t)V_{t-1}+\beta_te_0v_t^\top. \end{aligned} $$

这是论文的核心物理坐标递推,见 Eqs. (14)–(15),PDF p. 5。$\delta_t$ 决定新旧写入的间隔;$\alpha_t$ 衰减旧信息;$\beta_t$ 决定本次写入大小。同一个位移和遗忘作用于 K、V,以保持对应关系。

展开后:

$$ K_t=\sum_{i\le t}\underbrace{\beta_i\prod_{j=i+1}^{t}\alpha_j}_{\text{剩余幅度}} \underbrace{P(\lambda_t-\lambda_i)e_0}_{\text{相对时间形状}} k_i^\top. $$

第 $i$ 个 token 的“模型年龄”是 $\lambda_t-\lambda_i$,其单位是槽位移,不是 token 数或物理时间。$\delta_t>0$ 保证未取模的年龄保持时间顺序;环上的位置仍然会周期重合。[Eq. (16),p. 5;Proposition 5,pp. 17–18]

教学例子(不是论文实验):取 $m=5$、恒定 $\delta=0.5$。一条新写入两步后年龄为 1,恰好来到下一整数槽;十步后年龄为 5,回到零槽,与当时的新写入叠加。如果每步 $\alpha=0.9$,原贡献幅度还剩写入时的 $0.9^{10}\approx0.349$。小步长延缓绕圈,却让相邻写入的时间形状更接近。

2.4 “减少干扰”的数学依据与边界

记 $p_i(t)=P(\lambda_t-\lambda_i)e_0$,则

$$ p_i(t)^\top p_j(t)= D_m(\lambda_i-\lambda_j),\qquad D_m(x)=\frac{\sin(\pi x)}{m\sin(\pi x/m)}. $$

进一步,去掉写入及遗忘幅度后,两个 key 写入贡献的 Frobenius 内积为

$$ \langle p_i(t)k_i^\top,p_j(t)k_j^\top\rangle_F =(k_i^\top k_j)D_m(\lambda_i-\lambda_j). $$

因此干扰的几何因素可以拆成“内容相似度 × 时间形状重叠”。同一圈内的非零整数间隔对应正交时间地址;分数间隔一般仍有重叠;相差整数圈又会完全重合。共同的后续位移保持旧写入之间的几何关系,并不会在事后自动把原本重叠的两条旧记忆拆开。[Proposition 4 / Corollary 1,Eqs. (54)、(60),PDF pp. 17–18]

这是状态表示的恒等式,不是所有数据上召回必然改善的定理。实际读取还受内容投影、衰减、softmax 和训练影响。

2.5 读取:softmax 的对象是槽

$$ o_t=(RV_t)^\top\operatorname{softmax}(RK_tq_t). $$

先用 $q_t$ 在 key 状态中形成 $m$ 个 logits,$R$ 学习如何线性组合相对时间槽;softmax 得到读取权重,再读取同样经过 $R$ 组合的 value 状态。$R$ 只改变读取,不参与状态递推。[Eq. (18),PDF p. 5]

这里的 $m$ 个读取对象通常已经混合了多条历史贡献,所以它并不等于对所有历史 token 做标准 softmax attention。论文为简化书写省略了常规点积缩放因子,本笔记和幻灯片沿用这一约定。

2.6 精确坐标变换:让状态不必每步旋转

直接实现 $P(\delta_t)K_{t-1}$ 需要稠密槽混合。首先变到 Fourier 坐标,再让坐标系跟随累积时钟:

$$ b=\Phi^\top e_0,\qquad \overline K_t=\mathcal U(-\lambda_t)\Phi^\top K_t, \qquad \overline V_t=\mathcal U(-\lambda_t)\Phi^\top V_t. $$

决定性恒等式是

$$ \mathcal U(-\lambda_t)\mathcal U(\delta_t) =\mathcal U(-\lambda_{t-1}). $$

将它代入物理递推,得到

$$ a_t=\beta_t\mathcal U(-\lambda_t)b, $$
$$ \overline K_t=\alpha_t\overline K_{t-1}+a_tk_t^\top, \qquad \overline V_t=\alpha_t\overline V_{t-1}+a_tv_t^\top. $$

这里 $a_t$ 是为解释方便引入的缩写,与论文 Eq. (23) 完全一致。存量状态只做标量衰减,时钟依赖转移到新写入向量和读取向量上。[Eqs. (19)–(23),PDF pp. 5–6]

重建式 $K_t=\Phi\mathcal U(\lambda_t)\overline K_t$、$V_t=\Phi\mathcal U(\lambda_t)\overline V_t$ 说明这不是近似。将所有时钟整体平移一个常数,也不改变最终输出;重要的是相对年龄,而不是时钟零点。[Eq. (25),p. 6;App. A.4,pp. 18–19]

2.7 为什么正好是两次标量衰减线性注意力

用 $F_t=R\Phi\mathcal U(\lambda_t)$ 缩写读取坐标变换:

$$ \begin{aligned} o'_t&=\overline K_tq_t,\\ w_t&=\operatorname{softmax}(F_to'_t),\\ o''_t&=F_t^\top w_t,\\ o_t&=\overline V_t^\top o''_t. \end{aligned} $$

对应的算子接口为

$$ o' = \operatorname{ScalarGatedLA}(q,k,a,\alpha),\qquad o = \operatorname{ScalarGatedLA}(o'',a,v,\alpha). $$

第一遍把“内容 query 匹配 key 的证据”映射到时间地址;中间逐 token 做坐标变换和 softmax;第二遍沿时间地址读取 value。第一遍内部状态是 $\overline K_t^\top\in\mathbb R^{d_k\times m}$,第二遍是 $\overline V_t\in\mathbb R^{m\times d_v}$。同一个 $a_t$ 在第一遍扮演 value,在第二遍扮演 key,不能把两个接口的维度互换。[Eq. (27),p. 6;Eqs. (81)–(82),pp. 20–21]

训练时先通过前缀和得到所有 $\lambda_t$,两次递推都可以分块并行。解码时只携带两个状态、各 head 的时钟及网络所需缓存,不保留随序列增长的完整 KV cache。

对于一个长度为 $C$ 的块,定义 $\gamma_r=\prod_{j=1}^r\alpha_j$,以及 $\Gamma_{rs}=\gamma_r/\gamma_s$($r\ge s$;否则为 0)。一般标量衰减算子的块输出为

$$ O=\operatorname{Diag}(\gamma)QS_{\mathrm{in}} +(QK^\top\odot\Gamma)V, $$
$$ S_{\mathrm{out}}=\gamma_CS_{\mathrm{in}} +K^\top\operatorname{Diag}(\gamma_C/\gamma_r)V. $$

前一项读取跨块状态,后一项处理块内因果交互。实践中用块内 $\log\alpha$ 的累积和计算衰减。CyFA 两遍共用这些衰减因素。[App. B,Eq. (85),PDF p. 21]

计算复杂度的解释:固定 head 数、槽数和内容维度后,总时间随序列长度线性,解码状态随长度为常数;这不等于单 token 只需几个标量运算。内容—槽收缩和写入约含 $O(m(d_k+d_v))$ 工作,稠密读取变换仍有 $O(m^2)$ 级工作。优势是去除了“对整块状态做稠密旋转”的串行依赖,并可复用高效算子。此处是根据公式的复杂度分析,非作者提供的完整 FLOPs 计量。

2.8 网络实现与梯度稳定

默认每 head 用 127 个有效槽,实际分配 128 行以配合硬件。第 128 行不属于 Fourier 基,写入、读取都屏蔽且保持零。不能把周期误写成 128。[Sec. 3.4,p. 7;App. A.7,p. 20]

模型采用 24 层 pre-norm LLaMA 风格骨干,CyFA mixer 与 SwiGLU 交替。Q/K/V 先经 ShortConv,Q/K 再做 RMSNorm;多头输出经 head-wise RMSNorm、低秩 sigmoid 输出门和输出投影。

原图 2:CyFA 网络结构

图源:Fig. 2,PDF p. 7。左侧是骨干残差块,右侧展开 CyFA mixer。三个标量分支控制时钟、遗忘和写入;内容分支与控制分支最终在注意力模块汇合。

遗忘参数化为 $\alpha_t=\exp[-A\operatorname{softplus}(W_\alpha x_t+b_\alpha)]$。时钟则使用

$$ \delta_t^h=\sigma\!\left((W_\delta\operatorname{sg}(x_t)+b_\delta)_h\right). $$

停止梯度只切断“时钟预测分支 → 层输入”的梯度,并不冻结时钟投影参数,也不关闭时钟的输入依赖。[Eq. (28),PDF p. 7]

原因是 $\lambda_t=\sum_{s\le t}\delta_s$,从而

$$ \frac{\partial\mathcal L}{\partial\delta_s} =\sum_{t\ge s}\frac{\partial\mathcal L}{\partial\lambda_t}. $$

一个增量会接收所有后续位置通过时钟路径回传的梯度。作者观察到,允许这条累积路径直接回流到残差流会造成梯度放大和不稳定。在本文设置中,停止这一路梯度是支撑稳定训练的关键设计,因而不能把 CyFA 理解成“仅替换一个递推式即可训练”。[App. D.1,Eq. (95),pp. 23–24]

2.9 与 BLA、RoPE 和 GSA 的关系

方法与 CyFA 的联系必须保留的区别
SWA显式按时间组织 KV 槽固定整数位移,越界删除;CyFA 使用分数循环位移与独立遗忘
ABC / GSA分离 K/V 槽,softmax 读取,可分两遍计算GSA 用逐槽门控;CyFA 在变换后使用标量遗忘
BLA固定 $\delta=1/\rho$ 时共享 Fourier–Dirichlet 时间形状共享的是时间形状;遗忘、读取与完整递推并不相同
KDA / GDN同样压缩历史,可匹配主状态大小它们使用 Delta Rule 修正;CyFA 使用时间地址组织 K/V 状态
RetNet / Selective RoPE / Mamba-3使用固定或输入相关旋转按本文讨论,CyFA 旋转的是共同的槽轴,不是内容 Q/K 通道

固定时钟时模型年龄为 $(t-i)/\rho$,一圈跨 $\rho m$ 个 token。作者在 BLA 对照中复用 CyFA 的外层 mixer,自行实现 BLA 的 GSA 等价递推;当时未使用官方 BLA 实现。这应视为本文指定实现下的对照。[Sec. 5,p. 11;App. A.6 / C.1,pp. 20、22]

三:实验——比较什么、如何匹配、指标意味着什么

3.1 预训练和长上下文续训

标称规模层数 / 隐藏维度训练 token初始长度CyFA 实际参数每层主状态标量数
400M24 / 102415B2,048389M262,144
800M24 / 153630B2,048800M393,216
1.4B24 / 2048100B2,0481,394M524,288

来源:Sec. 4、App. C,PDF pp. 7–8、22–23,Tables 6–7。

作者训练的模型使用 SlimPajama-627B、Mistral tokenizer、AdamW;峰值学习率 $3\times10^{-4}$,warmup 1,024 步后余弦降至 $3\times10^{-5}$,weight decay 0.01,梯度裁剪 1.0。全局 batch 在前两档约 0.5M token,在 1.4B 约 1M token;使用 8 张 NVIDIA RTX Pro 6000。表 7 的规模级耗时约 10 小时、1 天、1 周,没有逐架构完整耗时明细。

800M / 1.4B 的主长上下文结果来自额外 1,024 步、8,192 长度续训;恢复优化器状态,保持每步 token 数不变,学习率固定为 $3\times10^{-5}$。这些结果不应称作“完全不训练的 2K→8K 外推”。附录 E 单独给出续训前评测。

3.2 “状态匹配”严格包含什么

400M 下:

$$ \text{CyFA: }H m^\ast(d_k+d_v)=4\times128\times(256+256)=262{,}144; $$
$$ \text{GDN/KDA: }Hd_kd_v=4\times256\times256=262{,}144. $$

Mamba-2/3 用 $32\times64\times128$ 得到相同主状态数。更大规模提高 head 数,保持此主状态匹配。[App. C.1,PDF p. 22]

这里计的是每层主递归状态的标量条目数,排除了 ShortConv cache,不是所有运行时显存、精度、激活和模型权重的完全匹配。参数也只是相近,例如 400M 档 KDA 为 400M、CyFA 为 389M。1.4B 的公共 Transformer、RetNet、GLA、GSA checkpoint 保留其原架构、tokenizer 和上下文设置,是参考组,不能当作同协议受控对照。[Table 6,PDF p. 23]

3.3 实验问题与指标

400M 的比较覆盖完整 Transformer,以及 SWA、GSA、Raven、BLA(两个固定速率)、Mamba-2、Mamba-3、GDN、KDA。SWA 检验固定窗口保存,GSA/Raven 检验槽分配(Raven 稀疏更新选中槽),BLA 检验固定速率的时间组织,Mamba-2/3 提供状态空间模型对照,GDN/KDA 提供 Delta Rule 对照。800M 保留 Transformer、GDN、KDA 与 CyFA;1.4B 的受控训练比较为 KDA 与 CyFA,另外列公共参考组。[Sec. 4,PDF pp. 7–8;Sec. 5,p. 11]

原文实验主要比较角色指标及解释
4.1 困惑度一般语言预测能力Wiki./Lamb. PPL,越低越好
4.1 常识确认记忆改造未损害短输入能力ARC-e、ARC-c、HellaSwag、LAMBADA、PIQA、WinoGrande;六项平均;ARC-c/HellaSwag 用归一化准确率,其余按表头的 accuracy
4.1 召回多个关联能否从固定状态中读出FDA、SWDE、SQD、NQ、TQA、DROP;沿用 prefix-linear-attention 协议,截断至 2K;表中以 acc 表示、越高越好
4.2 LongBench代码、摘要、问答、few-shot 综合表现任务原生分数及平均分,越高越好;输入截断至 8K,不应把混合平均值叫统一准确率
4.2 RULER单目标与多 key 检索的差别1K–8K 上 S-NIAH-1/2/3、MK-NIAH-1 的 accuracy
4.3 效率吞吐收益是否落到实际计算tokens/s 越高越好;forward/backward 核心算子 ms 越低越好
4.4 / 4.5 与 D组件是否有用,时钟是否利用上下文消融后的 PPL、常识和召回均值;干预后的 NLL,越低越好

FDA/SWDE 强调从多条字段—值关联中提取目标;SQD/NQ/TQA/DROP 是不同类型的问答与阅读任务。本文没有重新详列所有基准的提示模板、样本数、答案规范化实现或 LongBench 各列评分函数;此处保留其报告口径,不把领域惯例补写成论文事实。

四:结果——收益、代价与证据边界

4.1 语言建模、常识与召回(Table 2)

规模模型Wiki PPL ↓Lamb. PPL ↓常识均值 ↑召回均值 ↑
400MTransformer27.3074.2841.0733.98
400MMamba-326.7549.9941.7926.46
400MKDA25.7651.1741.9026.31
400MCyFA25.8548.1742.4733.25
800MTransformer20.4123.3245.6138.23
800MKDA19.8322.2046.8131.18
800MCyFA19.5118.9348.1637.13
1.4BTransformer†17.6518.6149.8541.41
1.4BKDA15.9711.8852.8937.73
1.4BCyFA15.4712.7753.1943.47

来源:Table 2,PDF p. 8。† 为公共参考 checkpoint。加粗仅标明 CyFA 行,不表示每列最优。

最强结果是召回,而不是所有困惑度都下降。 相对 KDA,召回均值分别增加 6.94、5.95、5.74 个百分点;常识均值增加 0.57、1.35、0.30。400M 的 Wiki PPL 略差,1.4B 的 LAMBADA PPL 从 11.88 变为 12.77。论文未报告多随机种子的均值、方差或显著性检验,小差异应按单组结果解读。

400M 的召回分项为:

模型FDASWDESQDNQTQADROP
Transformer53.0438.8930.7016.4145.6819.17
Mamba-324.8927.8429.5314.9243.8417.73
KDA26.0725.0229.4914.8245.3817.06
CyFA42.6035.6134.6317.3348.7020.65

CyFA 的六项均为该规模递归模型中的最高值。FDA 对次优递归模型 KDA 高 16.53 个百分点;SWDE 的次优递归模型是 Mamba-3,差 7.77 个百分点,不是对 KDA 的差(对 KDA 是 10.59)。此外,400M 的最佳非 CyFA 递归召回均值是 Mamba-3 的 26.46,不能把 KDA 26.31 误称为这组的最高基线。

800M 的 CyFA 六项召回为 43.69 / 40.58 / 39.03 / 24.17 / 55.21 / 20.12;1.4B 为 57.77 / 46.58 / 42.83 / 29.87 / 61.49 / 22.28,均高于相同规模表中的递归对照。但在 400M 和 800M,完整 Transformer 的召回平均分仍分别比 CyFA 高 0.73、1.10;1.4B 超过公共 Transformer 的 2.06 分则受到参考组协议差异限制。

4.2 长上下文(Table 3、Fig. 4;附录 Fig. 7、Table 9)

规模 / 模型LongBench 续训前均值8K 续训后均值续训后 LCC续训后 RBP
800M Transformer2.5711.8642.4637.20
800M GDN14.1314.5743.6535.64
800M KDA14.8015.4741.4739.06
800M CyFA15.7517.1947.8443.59
1.4B KDA19.0520.0246.3442.56
1.4B CyFA20.4721.6453.6046.40

来源:Table 3,PDF p. 9;Table 9,p. 25。前后都用 8K 输入截断,区别在是否进行 8K 长度续训。LCC、RBP 是两个代码任务。

续训后 CyFA 平均分分别高于 KDA 1.72、1.62 分,1.4B 的 LCC 提升 7.26 分。这支持实际长输入任务上的优势;但它没有在所有任务获胜:1.4B 在 HQA、TRE、SAM 上低于 KDA,例如 TRE 为 43.50 vs. 57.50。续训也未让每项单调变好,例如 1.4B CyFA 的 GvR 从 12.58 降至 5.98。

原文计数不一致:Sec. 4.2 写 15 个任务,但 Tables 3、9 实际只有 14 个任务列(2 个代码 + 3 个摘要 + 3 个 SingleQA + 3 个 MultiQA + 3 个 Few-Shot),另有 Avg.。按这些列重算,800M CyFA 均值为 17.1871,四舍五入为表中的 17.19。因此本文按表中 14 项解释;领先项数为 800M 的 10/14、1.4B 的 11/14。

原图 4:8K 续训后的 RULER

图源:Fig. 4,PDF p. 9。横轴为输入长度 1K、2K、4K、8K;纵轴为准确率。橙/绿/蓝/红分别是 Transformer/GDN/KDA/CyFA。前三个面板是单针,第四个是多 key;第四个面板的纵轴刻度与前三个不同。

S-NIAH-1 较容易,三种递归模型都接近满分;更有诊断价值的是 MK-NIAH-1,多条关联必须同时共存,CyFA 在 1K–4K 明显高于 GDN/KDA。这与作者的记忆干扰假说相符。曲线也显示更长输入仍明显退化:MK-NIAH-1 到 8K 都较低,S-NIAH-2/3 也下降,且 CyFA 并非在所有长度、所有单针任务领先。原图没有逐点数表,本笔记不把目测值写成精确统计。

附录 Fig. 7(p. 25)给出未续训结果:CyFA 在多 key 任务上同样有优势,但 8K 检索仍很弱。续训前后证据共同表明改善了有限状态下的召回,并未证明稳定的超长上下文记忆。

4.3 效率(Figs. 5–6)

原图 5:400M 端到端训练吞吐

图源:Fig. 5,PDF p. 10。横轴是“长度 × batch”,从 2K×32 到 32K×2,保持每批 token 数相同;纵轴为千 tokens/s;单张 NVIDIA RTX Pro 6000。CyFA 在 2K–32K 约为 80–86K tokens/s,8K 开始超过图中的 Transformer,8K 时为 KDA 的 1.37 倍。递归对照中 Mamba-2 仍更快;它只使用一遍标量递推。

原图 6:400M 形状下的核心算子耗时

图源:Fig. 6,PDF p. 10。左为 forward,右为 backward,单位 ms,均越低越好;固定 2K 长度、batch 32、同一 GPU。

核心算子KDACyFACyFA / KDA
Forward4.37 ms2.04 ms46.7%
Backward11.18 ms5.40 ms48.3%

这是核心算子执行时间,约相当于 2.14× / 2.07× 的算子加速,不能用来宣称整个训练或推理服务都快两倍。正文没有给出完整的自回归解码延迟、首 token 延迟、服务并发基准或峰值显存对照;“常量解码状态”来自架构形式,不能代替这些工程指标。

4.4 消融(Table 4)

400M 变体Wiki PPL ↓Lamb. PPL ↓常识均值 ↑召回均值 ↑相对默认召回差
默认 $m=127$25.8548.1742.4733.25—
无遗忘,$\alpha=1$30.93115.8939.6128.05−5.20
每 head 固定时钟增量26.4051.9842.1530.32−2.93
固定 $R=I$26.2658.7541.8931.79−1.46
去 ShortConv26.3452.0542.0431.70−1.55
去 QK Norm26.2951.3742.6130.12−3.13
加 SiLU25.7745.1142.5032.26−0.99
$m=63$26.3851.3442.1826.68−6.57
$m=255$25.3146.7942.8234.83+1.58

来源:Table 4,PDF p. 10。各行为相对默认配置的独立变体,不是依次移除组件。

三个结论较清楚。第一,循环运输没有消除遗忘需求;取消遗忘使 LAMBADA 困惑度超过两倍。第二,输入相关时钟和可学习读取都对召回有贡献,但 QK 归一化等外围组件同样有明显影响,不能将全部收益归因于时钟一项。第三,增加槽数有用,但 $m=255$ 同时增加了存储和计算预算,不能当成同预算纯算法改进;$m=63$ 的大幅退化也说明容量仍是硬约束。加入 SiLU 改善困惑度却降低召回,体现目标之间的取舍。

4.5 时钟究竟学到了什么(Sec. 4.5、App. D)

作者在 400M 模型的 24 层 × 4 heads 上统计时钟。64 段连续 WikiText-2 序列,每段 2,048 token,共 131,072 token、12,582,912 个 head-token 观测。用第 5、95 百分位数定义两类 head:[PDF pp. 10、24]

  • 56/96 个 head 的 $p_{05}(\delta)>0.95$,接近每 token 前进一槽;均值 0.9961、标准差 0.0065。
  • 40/96 个 head 的 $p_{95}(\delta)-p_{05}(\delta)\ge0.1$,明显依赖输入;均值 0.5118、标准差 0.1627。

去掉只接收 token embedding 的第一层后,作者将输入相关 heads 的变化分解为 token 身份解释的 49.4% 与同 token 的上下文变化 50.6%。同一个 about 在两个上下文中的时钟增量为 0.355 和 0.057;这说明时钟并非单纯词表查表,但不能据此把大增量直接解释成“语义更重要”。

更强的证据来自保留 16 段、共 32,768 token 的干预,修改上述 40 个输入相关 heads,其他部分不变:

时钟设置Held-out NLL ↓相对原始的增加
原始时钟2.6105—
替换成各 head 的均值2.6555+0.0450
将原增量序列循环错位 257 token2.7344+0.1238
被干预 heads 设为 $\delta=1$2.7486+0.1381

来源:Table 8 与 App. D.2,PDF p. 24。各干预在 16 段上均使 NLL 上升。错位保留边际分布而破坏输入对应关系,损害大于均值替换,支持模型确实利用时钟与上下文的对齐。它仍是单模型、单语料的小规模干预,不证明所有 head 都自适应,也不建立通用的重要性度量。

原图 3:停止时钟输入梯度的影响

图源:Fig. 3,PDF p. 7。横轴为前 5,000 训练步;上图为训练 loss,下图为梯度范数;蓝线保留 stop-gradient,橙线移除。移除后可见持续的较高 loss 与重复梯度尖峰。

附录 D.1 的 4 段、2K 序列配对反向探针只恢复 $\delta\to x$ 的导数,前向值与 loss 不变。CyFA 默认全局梯度范数为 5.653,其中时钟投影范数 5.052,占平方全局范数的 78.3%;排除时钟投影后为 2.447,接近 KDA 的 2.309。恢复输入梯度后,全局范数变为 12.006,排除时钟投影仍有 8.682。作者还报告未停止梯度时,非时钟梯度相对 KDA 随长度从 256 到 2,048 增长,而停止梯度后保持接近。[PDF pp. 23–24]

这些探针支持“累计时钟路径放大并传播梯度”的解释;它们不是训练稳定性的普遍数学证明,也不等同于多次独立训练的统计结果。

五:结论——应带走什么,哪些问题仍未解决

5.1 已被论文支持的贡献

  1. 表示设计:将 K/V 同步放在相对时间轴上,学习写入间距,让内容相似度之外再有一项可控的时间地址重叠。
  2. 计算设计:通过 Fourier 基及随时钟变换的坐标,精确取消状态转移中的旋转,保持两次标量衰减递推和逐 token 非线性读取。
  3. 实证设计:在匹配主状态预算的三档预训练中,给出一致的召回收益、具有竞争力的语言建模表现以及实际训练吞吐结果;消融和干预表明时钟、遗忘、读取与归一化都重要。

5.2 适用边界

  • 时间地址有限且周期性:循环不会产生新存储,旧周期仍会混叠;遗忘和槽容量消融都证实这一约束。
  • 长上下文结果有限:主长输入实验到 8K,且经过续训;NIAH 的困难任务在 8K 仍有明显失败。
  • 质量收益不均匀:400M/800M 的召回均值仍低于完整 Transformer;个别 PPL、常识及 LongBench 子项也有退步。
  • 比较条件有范围:主状态条目数匹配不等于参数、总显存和全部缓存匹配;公共 checkpoint 与 BLA 自行实现需单独解释。
  • 统计与复现材料有缺口:没有多种子误差条;论文未详列部分提示、评分和算子基准实现设置。本次亦未重新训练验证。
  • 稳定性设计有代价:stop-gradient 保留前向模型,却有意修改优化时回流到骨干的梯度;长上下文、更大模型和不同精度下是否还需要其他稳定处理尚未在本文验证。

5.3 本次分析提出的后续问题

值得继续验证的是:在总显存和算力也匹配时收益是否仍成立;不同 heads 是否需要不同周期或槽数;8K 以上长输入的周期混叠如何变化;时钟 stop-gradient 的效果能否由更合适的梯度参数化取代。以上是根据论文机制提出的研究问题,不是本文已完成的结果。

对于组会,最值得讨论的一句话是:CyFA 把“哪些内容可以同时被记住”部分转化为“这些内容在时间地址空间里相隔多远”,再用精确坐标变换把这种组织方式变成可高效训练的模型。

核验记录与材料说明

  • 作者源码获取状态为 available;已读取 main.tex、sections/0_abstract.tex 至 6_conclusion.tex、appendix.tex、appendix_temporal_addressing.tex、appendix_chunkwise.tex 和 Fig. 1 的 caption 文件,并与 PDF 核对身份、公式编号、表格及关键图件。
  • 正文方法及附录 A 的六个命题均已覆盖:正交循环群、插值核、历史展开、几何保持、单调年龄、时钟原点不变性;附录 B 的两遍分块式和 C–E 的实验材料也已阅读。
  • 本地图为作者原始矢量 PDF 的副本及 PNG 渲染;图件来源清单记录图号与页码。没有以生成图替换实验结果。
  • 独立数值核对使用 $m=7,d_k=3,d_v=2$、41 步、随机标量门和一般读取矩阵,跨越多个周期。物理状态与绝对坐标重建最大误差约 $3.55\times10^{-15}$;两种读取输出误差约 $7.22\times10^{-16}$。这是恒等式的小规模 FP64 检查,不是作者 Triton 内核、梯度或训练结果的复现。脚本:verify_math.py(本地核验附件);结果:math-verification.json(本地核验附件)。
  • 交叉核对了召回百分点差、核心算子时间比例和 LongBench 实际任务数。对曲线仅做有图可查的定性解释,未虚构精确点值。