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 Memory | SWA、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 Design | 127 个有效槽、网络组件、时钟梯度 | p. 7,Figs. 2–3,Eq. (28) |
| 4.1 Language Modeling | 困惑度、常识、真实召回任务 | pp. 8–9,Table 2 |
| 4.2 Long-Context Ability | 8K 续训后的 LongBench 与 RULER | p. 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 Coordinates | Fourier 构造、插值、几何、等价性、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 Results | 8K 续训前的结果 | 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}$,普通线性注意力把历史写进同一矩阵:
每次查询都会叠加与 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]

图源: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$ 对正余弦分量。作者定义
它满足 $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]
插值系数为
分母为零处取连续极限。它是周期性的 Fourier–Dirichlet 核,系数和为 1、向量范数为 1,但可能有负旁瓣,不是概率分配。概率归一化只发生在后续 softmax。[Eq. (39),PDF p. 16]
2.3 时钟、遗忘和写入分别控制什么
这是论文的核心物理坐标递推,见 Eqs. (14)–(15),PDF p. 5。$\delta_t$ 决定新旧写入的间隔;$\alpha_t$ 衰减旧信息;$\beta_t$ 决定本次写入大小。同一个位移和遗忘作用于 K、V,以保持对应关系。
展开后:
第 $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$,则
进一步,去掉写入及遗忘幅度后,两个 key 写入贡献的 Frobenius 内积为
因此干扰的几何因素可以拆成“内容相似度 × 时间形状重叠”。同一圈内的非零整数间隔对应正交时间地址;分数间隔一般仍有重叠;相差整数圈又会完全重合。共同的后续位移保持旧写入之间的几何关系,并不会在事后自动把原本重叠的两条旧记忆拆开。[Proposition 4 / Corollary 1,Eqs. (54)、(60),PDF pp. 17–18]
这是状态表示的恒等式,不是所有数据上召回必然改善的定理。实际读取还受内容投影、衰减、softmax 和训练影响。
2.5 读取:softmax 的对象是槽
先用 $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 坐标,再让坐标系跟随累积时钟:
决定性恒等式是
将它代入物理递推,得到
这里 $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)$ 缩写读取坐标变换:
对应的算子接口为
第一遍把“内容 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)。一般标量衰减算子的块输出为
前一项读取跨块状态,后一项处理块内因果交互。实践中用块内 $\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 输出门和输出投影。

图源:Fig. 2,PDF p. 7。左侧是骨干残差块,右侧展开 CyFA mixer。三个标量分支控制时钟、遗忘和写入;内容分支与控制分支最终在注意力模块汇合。
遗忘参数化为 $\alpha_t=\exp[-A\operatorname{softplus}(W_\alpha x_t+b_\alpha)]$。时钟则使用
停止梯度只切断“时钟预测分支 → 层输入”的梯度,并不冻结时钟投影参数,也不关闭时钟的输入依赖。[Eq. (28),PDF p. 7]
原因是 $\lambda_t=\sum_{s\le t}\delta_s$,从而
一个增量会接收所有后续位置通过时钟路径回传的梯度。作者观察到,允许这条累积路径直接回流到残差流会造成梯度放大和不稳定。在本文设置中,停止这一路梯度是支撑稳定训练的关键设计,因而不能把 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 实际参数 | 每层主状态标量数 |
|---|---|---|---|---|---|
| 400M | 24 / 1024 | 15B | 2,048 | 389M | 262,144 |
| 800M | 24 / 1536 | 30B | 2,048 | 800M | 393,216 |
| 1.4B | 24 / 2048 | 100B | 2,048 | 1,394M | 524,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 下:
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 ↓ | 常识均值 ↑ | 召回均值 ↑ |
|---|---|---|---|---|---|
| 400M | Transformer | 27.30 | 74.28 | 41.07 | 33.98 |
| 400M | Mamba-3 | 26.75 | 49.99 | 41.79 | 26.46 |
| 400M | KDA | 25.76 | 51.17 | 41.90 | 26.31 |
| 400M | CyFA | 25.85 | 48.17 | 42.47 | 33.25 |
| 800M | Transformer | 20.41 | 23.32 | 45.61 | 38.23 |
| 800M | KDA | 19.83 | 22.20 | 46.81 | 31.18 |
| 800M | CyFA | 19.51 | 18.93 | 48.16 | 37.13 |
| 1.4B | Transformer† | 17.65 | 18.61 | 49.85 | 41.41 |
| 1.4B | KDA | 15.97 | 11.88 | 52.89 | 37.73 |
| 1.4B | CyFA | 15.47 | 12.77 | 53.19 | 43.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 的召回分项为:
| 模型 | FDA | SWDE | SQD | NQ | TQA | DROP |
|---|---|---|---|---|---|---|
| Transformer | 53.04 | 38.89 | 30.70 | 16.41 | 45.68 | 19.17 |
| Mamba-3 | 24.89 | 27.84 | 29.53 | 14.92 | 43.84 | 17.73 |
| KDA | 26.07 | 25.02 | 29.49 | 14.82 | 45.38 | 17.06 |
| CyFA | 42.60 | 35.61 | 34.63 | 17.33 | 48.70 | 20.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 Transformer | 2.57 | 11.86 | 42.46 | 37.20 |
| 800M GDN | 14.13 | 14.57 | 43.65 | 35.64 |
| 800M KDA | 14.80 | 15.47 | 41.47 | 39.06 |
| 800M CyFA | 15.75 | 17.19 | 47.84 | 43.59 |
| 1.4B KDA | 19.05 | 20.02 | 46.34 | 42.56 |
| 1.4B CyFA | 20.47 | 21.64 | 53.60 | 46.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。

图源: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)

图源: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 仍更快;它只使用一遍标量递推。

图源:Fig. 6,PDF p. 10。左为 forward,右为 backward,单位 ms,均越低越好;固定 2K 长度、batch 32、同一 GPU。
| 核心算子 | KDA | CyFA | CyFA / KDA |
|---|---|---|---|
| Forward | 4.37 ms | 2.04 ms | 46.7% |
| Backward | 11.18 ms | 5.40 ms | 48.3% |
这是核心算子执行时间,约相当于 2.14× / 2.07× 的算子加速,不能用来宣称整个训练或推理服务都快两倍。正文没有给出完整的自回归解码延迟、首 token 延迟、服务并发基准或峰值显存对照;“常量解码状态”来自架构形式,不能代替这些工程指标。
4.4 消融(Table 4)
| 400M 变体 | Wiki PPL ↓ | Lamb. PPL ↓ | 常识均值 ↑ | 召回均值 ↑ | 相对默认召回差 |
|---|---|---|---|---|---|
| 默认 $m=127$ | 25.85 | 48.17 | 42.47 | 33.25 | — |
| 无遗忘,$\alpha=1$ | 30.93 | 115.89 | 39.61 | 28.05 | −5.20 |
| 每 head 固定时钟增量 | 26.40 | 51.98 | 42.15 | 30.32 | −2.93 |
| 固定 $R=I$ | 26.26 | 58.75 | 41.89 | 31.79 | −1.46 |
| 去 ShortConv | 26.34 | 52.05 | 42.04 | 31.70 | −1.55 |
| 去 QK Norm | 26.29 | 51.37 | 42.61 | 30.12 | −3.13 |
| 加 SiLU | 25.77 | 45.11 | 42.50 | 32.26 | −0.99 |
| $m=63$ | 26.38 | 51.34 | 42.18 | 26.68 | −6.57 |
| $m=255$ | 25.31 | 46.79 | 42.82 | 34.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 token | 2.7344 | +0.1238 |
| 被干预 heads 设为 $\delta=1$ | 2.7486 | +0.1381 |
来源:Table 8 与 App. D.2,PDF p. 24。各干预在 16 段上均使 NLL 上升。错位保留边际分布而破坏输入对应关系,损害大于均值替换,支持模型确实利用时钟与上下文的对齐。它仍是单模型、单语料的小规模干预,不证明所有 head 都自适应,也不建立通用的重要性度量。

图源: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 已被论文支持的贡献
- 表示设计:将 K/V 同步放在相对时间轴上,学习写入间距,让内容相似度之外再有一项可控的时间地址重叠。
- 计算设计:通过 Fourier 基及随时钟变换的坐标,精确取消状态转移中的旋转,保持两次标量衰减递推和逐 token 非线性读取。
- 实证设计:在匹配主状态预算的三档预训练中,给出一致的召回收益、具有竞争力的语言建模表现以及实际训练吞吐结果;消融和干预表明时钟、遗忘、读取与归一化都重要。
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 实际任务数。对曲线仅做有图可查的定性解释,未虚构精确点值。