# 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 版本页](https://arxiv.org/abs/2609.36259v1) · [本地 PDF](../source/paper.pdf) · [作者 TeX 主文件](../source/tex/files/main.tex) · [作者提供的代码链接](https://github.com/Chyxx/CyclicFlowAttention)。  
**配套**：[英文汇报 PDF](slides.en.pdf) · [可编辑 Beamer 源码](slides.en.tex)。

阅读范围：同版本 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}$，普通线性注意力把历史写进同一矩阵：

$$
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 的循环记忆示意](figures/fig-01-cyclic-memory.png)

图源：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 网络结构](figures/fig-02-architecture.png)

图源：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 实际参数 | 每层主状态标量数 |
| --- | --- | --- | --- | --- | --- |
| 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 下：

$$
\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 ↓ | 常识均值 ↑ | 召回均值 ↑ |
| --- | --- | --- | --- | --- | --- |
| 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。

![原图 4：8K 续训后的 RULER](figures/fig-04-ruler-after.png)

图源：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 端到端训练吞吐](figures/fig-05-throughput.png)

图源：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 形状下的核心算子耗时](figures/fig-06-kernels.png)

图源：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 都自适应，也不建立通用的重要性度量。

![原图 3：停止时钟输入梯度的影响](figures/fig-03-clock-gradient.png)

图源：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 渲染；[图件来源清单](figures/manifest.json)记录图号与页码。没有以生成图替换实验结果。
- 独立数值核对使用 $m=7,d_k=3,d_v=2$、41 步、随机标量门和一般读取矩阵，跨越多个周期。物理状态与绝对坐标重建最大误差约 $3.55\times10^{-15}$；两种读取输出误差约 $7.22\times10^{-16}$。这是恒等式的小规模 FP64 检查，不是作者 Triton 内核、梯度或训练结果的复现。脚本：[verify_math.py](build/verify_math.py)；结果：[math-verification.json](build/math-verification.json)。
- 交叉核对了召回百分点差、核心算子时间比例和 LongBench 实际任务数。对曲线仅做有图可查的定性解释，未虚构精确点值。
