← 全部论文2506.09316v3 / r1
版本与下载

DSLA / DSLA-Serve:双状态线性注意力与动态逐层转换

论文:On-the-Fly Adaptive Distillation of Transformer to Dual-State Linear Attention。PDF 题名另含副标题 for Long-Context LLM Serving。
作者:Yeonju Ro、Zhenyu Zhang、Souvik Kundu、Zhangyang Wang、Aditya Akella。
版本:arXiv:2506.09316v3,2025-06-17;获取与研读日期:2026-10-08。
材料:arXiv · 本地原文 PDF · 作者代码入口 · 英文汇报 PDF · 可编辑 TeX。下文页码均为原文 PDF 页码。

论文总览

这篇论文把两个问题联系起来:线性注意力怎样减少遗忘较早的 token,以及服务系统怎样在显存吃紧时降低注意力成本。前者由 **双状态线性注意力(Dual-State Linear Attention,DSLA)**解决:两个状态共享当前 key/value 写入,使用不同的遗忘门,并以逐层学习的权重混合;后者由 DSLA-Serve 处理:离线准备替代模块,按敏感度排序和链式微调,在推理时选择替换多少层。

最重要的区分是:训练发生在离线,在线执行的是已训练模块的转换与调度。标题中的 “on-the-fly” 不能理解为每个服务请求都触发反向传播。附录 A 和图 8 对离线蒸馏、在线服务的划分很明确。

实验呈现出一个有用但有代价的折中。Llama2-7B 替换 25% 层后,HotpotQA 从 5.63 到 11.07,2WikiMQA 从 10.24 到 14.20,但代码补全和部分短任务下降;替换 50% 时下降更大。在增强版 Azure 轨迹回放中,按长度设定转换上限,端到端按 token 归一化的平均延迟从 93.64 ms 降至 40.83 ms,即 2.29 倍加速、约 56.4% 延迟降低。这组系统结果与静态 25%/50% 模型的质量评测要分别理解。(Sec. 5.1–5.4,pp. 6–7,Tables 1–4。)

结构地图

原文章节论证作用PDF 页码与关键定位
1. Introduction长上下文成本、静态混合模型的不足、贡献pp. 1–2
2. Background线性注意力、GLA、蒸馏与混合架构p. 2
3. Motivational Analyses近期偏置与服务负载不均pp. 2–3;Figs. 1–2,Eqs. (1)–(3)
4.1 Dual-State Linear Attention (DSLA)双状态递推与输出混合pp. 3–4;Eqs. (4)–(8)
4.2 Specializing the Two Hidden States教师对齐与门控差异化p. 4;Eqs. (9)–(10)
4.3 Adaptive Layer-wise Conversion with DSLA-Serve敏感度排序、资源与质量约束pp. 4–5;Eq. (11)
4.4 Chained Fine-Tuning for Seamless Conversion使训练结构匹配逐步替换结构p. 5;Fig. 3
4.5 Batched Inference Considerations混合请求的分批与合批pp. 5–6
5.1 Long-Context UnderstandingQA、代码、少样本、困惑度和摘要pp. 6–7;Tables 1–2
5.2 Short-Context Benchmarks七项短上下文任务pp. 6–7;Table 3
5.3 Inference Efficiency预填充、解码、KV 成本pp. 6–7;Fig. 4
5.4 End-to-end System Performance动态服务回放p. 7;Table 4
5.5 Further Investigation and Ablation Studies状态分工、状态数、敏感度、跨模型比较和局限pp. 8–9;Figs. 5–7,Tables 5–8
6. Conclusion方法与系统贡献p. 9
A–B. System Overview / Detailed Experimental Setup离线与在线流程、训练和硬件细节p. 14;Fig. 8
C–E. Serving Trace Information / Serving of Mixed Batch / Latency Fluctuation轨迹构造、混合批处理、分配延迟pp. 14–16;Figs. 9–12
F–G. Further Discussion on Sensitivity Metric / Additional Related Work敏感度指标取舍、相关研究位置pp. 16–17;Fig. 13

一:动机——记忆压缩与服务压力同时存在

1.1 单状态为什么容易偏向近期

GLA 将历史压缩进固定大小的矩阵状态。原文 Eqs. (1)–(2) 为:

$$ \mathbf S_t=\mathbf G_t\odot\mathbf S_{t-1}+\mathbf k_t^\top\mathbf v_t, \qquad \mathbf o_t=\mathbf q_t\mathbf S_t. $$

其中 $\odot$ 是逐元素乘法。每来一个 token,先对旧状态施加遗忘门,再写入当前 key/value 外积。若相应门值持续小于 1,越早写入的信息经过的乘法越多,衰减就越明显。这里的“近期偏置”是门控衰减、容量压缩和训练目标共同作用的现象,不能仅从“计算复杂度为线性”推出。

GLA 与 Transformer 的历史 token 权重分布

原文 Fig. 1,p. 3。横轴是过去 token 的位置,纵轴是最后一个 query 对这些位置的注意力分数。上排为 Llama2-7B,下排为以 1B tokens 蒸馏得到的 GLA;数据为 C4 的 16 个长度 4096 的样本,展示选取的层/头。GLA 的分数在最右侧近期 token 处集中,而 Transformer 保留更多中远位置峰值。上下排的数值尺度不同,因此应比较位置分布,不能把峰值高度当成同一归一化概率比较。

1.2 固定混合架构为什么还不够

保留部分 self-attention 能帮助模型读取精确历史,但静态比例无法同时适应短请求、长请求和多轮会话。长会话的 KV cache 随历史增长,绑定同一 GPU 的会话又会导致空间上的负载不均。图 2 的横轴是时间、纵轴是各节点内存需求,某些节点会出现明显热点。(Sec. 3,p. 3。)

DSLA-Serve 把“替换层数”作为运行时可调参数:资源充足时使用更多原始注意力,压力上升时优先转换影响较小的层。其收益必须同时覆盖替代模块的计算、双状态缓存、额外权重,以及混合批处理的调度开销。

二:方法——两条记忆轨道与一条转换顺序

2.1 输入、输出和符号

下面以单头、key/value 维度均为 $d$ 的记法解释原文;多头分别维护相应状态。

符号含义与形状
$t,T$当前位置、最后一个 query 的位置
$\mathbf q_t,\mathbf k_t,\mathbf v_t$行向量,$1\times d$
$\mathbf S_t^1,\mathbf S_t^2$历史/近期两个状态,各为 $d\times d$
$\mathbf G_t^1,\mathbf G_t^2$数据依赖的逐元素遗忘门,各为 $d\times d$
$\gamma$每层学习一个输出混合系数
$\lambda$门控差异化损失的权重
$r,n$被替换层的比例、总层数

Q/K/V/O 投影由教师模型对应权重初始化。当前 token 产生 query、key、value 和两组门,更新两份状态,再读出一个注意力模块输出。DSLA 改变的是注意力计算,不是把整个 Transformer block 的所有组件都删掉。(Sec. 4.1,pp. 3–4;App. B,p. 14。)

2.2 双状态递推:相同写入,不同遗忘

按“两条独立历史”的机制,递推可整理为:

$$ \begin{aligned} \mathbf S_t^1&=\mathbf G_t^1\odot\mathbf S_{t-1}^1+\mathbf k_t^\top\mathbf v_t,\\ \mathbf S_t^2&=\mathbf G_t^2\odot\mathbf S_{t-1}^2+\mathbf k_t^\top\mathbf v_t,\\ \mathbf o_t&=\mathbf q_t\bigl(\gamma\mathbf S_t^1+(1-\gamma)\mathbf S_t^2\bigr). \end{aligned} $$

公式说明:原文 Eq. (4),p. 4,两条递推的旧状态都写成没有分支上标的 $\mathbf S_{t-1}$;上式根据双状态描述和 Eqs. (7)–(8) 的独立门乘积补全上标,是本笔记的解释性修正。输出式对应原文 Eq. (5)。

两份状态都看到所有 token,并没有显式的“前半段/后半段”分区。分工来自不同的遗忘速度、初始化和正则约束。$\gamma$ 是逐层学习的参数,论文没有将其定义为每个 token 重新预测的路由器,也没有给出足以确认其数值约束的完整参数化。

作者把历史门的初始化描述为“接近单位矩阵”,近期门随机初始化。这里要区分门控层的参数矩阵和真正乘到状态上的 Hadamard 门值:若直接把后者设成单位矩阵,会清掉状态的非对角元素;逐元素保留全部旧状态的中性门应是全 1 矩阵。App. B 使用的是“history gating layer”措辞,因此不能直接把原文描述翻译成 $\mathbf G=I$ 的实现。(Sec. 4.1,p. 4;App. B,p. 14。)

2.3 展开递推后,双状态改变了什么

令 $\mathbf P_{t\to T}^{a}$ 为分支 $a\in\{1,2\}$ 从 $t+1$ 到 $T$ 的逐元素门乘积,空乘积为全 1;设初始状态为零,则:

$$ \mathbf S_T^{a}=\sum_{t=1}^{T} \mathbf P_{t\to T}^{a}\odot(\mathbf k_t^\top\mathbf v_t). $$

这是由递推直接得到的教学推导。为了避免原文 Eqs. (6)–(8) 中向量“注意力分数”与 value 的乘法歧义,按输出分量 $j$ 写为:

$$ o_{T,j}=\sum_{t=1}^{T} \left[\sum_{i=1}^{d}q_{T,i}k_{t,i} \left(\gamma P_{t\to T,ij}^{1}+(1-\gamma)P_{t\to T,ij}^{2}\right)\right]v_{t,j}. $$

同一个历史 token 现在有两条保留路径。论文将两个分支贡献混合后的向量范数作为可视化的 attention score;它不是 softmax 注意力那样天然归一化的概率。

一个标量教学例子可以说明其效果:假设两条路径的门恒为 $g_1=0.999$、$g_2=0.9$,且 $\gamma=0.5$。距今 $\Delta$ 个位置的衰减部分为:

$$ w(\Delta)=0.5(0.999)^\Delta+0.5(0.9)^\Delta. $$

两条路径的半衰期分别约为 693 和 6.6 个 token。第一条保留较长历史,第二条快速响应近期变化;这里未计入 query/key 的内容匹配。例子展示的是机制直觉,数值不来自论文训练参数。

2.4 损失函数如何避免两个状态学成一样

原文 Eqs. (9)–(10),p. 4:

$$ \mathcal L_{dist}=\mathcal D_{KL}(\mathbf o_t\Vert\mathbf o_t^{(\mathrm{gt})}), \qquad \mathcal L_{cont}=\operatorname{sim}(\mathbf G_t^1,\mathbf G_t^2), $$
$$ \mathcal L=\mathcal L_{dist}+\lambda\mathcal L_{cont}. $$

教师对齐项使混合后的输出接近原始 self-attention;门之间的余弦相似度惩罚鼓励差异化。这个 “contrastive” 项是直接降低两组门的相似度,正文没有定义正负样本或 InfoNCE 对比批次。

复现所需的具体缺口是:一般注意力输出向量并不是概率分布,而文中没有交代 KL 之前如何归一化、是否使用温度,以及 $\lambda$ 的具体设置。因此可以准确解释训练目标的用途,但不能仅凭该式得到唯一的数值实现。余弦惩罚也只约束门不同,历史/近期的功能分工还要看后面的注意力图与消融证据。

2.5 离线准备与在线转换

DSLA-Serve 的离线蒸馏与在线服务流程

原文 Fig. 8,App. A,p. 14。上半部分离线蒸馏并评估层敏感度;下半部分根据请求负载和质量目标选择已经训练好的替代层。

离线阶段:先形成各层替代模块和敏感度估计,再沿固定顺序逐层微调。在线阶段:监测显存和 prompt 长度,从低敏感度层开始增加转换,达到内存目标或质量上限即停止;长请求优先。论文用困惑度、BLEU 等举例说明质量 SLO,但没有给出一个无需标签即可实时测量所有请求质量的完整控制器。理解端到端实验时,应采用其实际报告的“按长度设转换上限”策略。(Sec. 4.3,pp. 4–5;Sec. 5.4,p. 7。)

2.6 敏感度排序:直觉、度量与符号问题

作者考察单层替换后的验证性能变化,并用注意力熵作为较便宜的代理:注意力较集中、所需记忆位置较少的层可能较容易线性化。Fig. 7 横轴为被替换的层,左轴为 WikiText-2 困惑度,右轴为注意力熵;论文通过曲线与柱状图的一致趋势支持该选择。(Sec. 4.3,p. 5;Sec. 5.5,pp. 8–9。)

原文 Eq. (11) 写成:

$$ E_{paper}(\mathbf A)=\sum_i A_{T,i}\log A_{T,i}. $$

标准 Shannon 熵则是 $H(\mathbf A)=-\sum_i A_{T,i}\log A_{T,i}$。正文“较低熵意味着更集中”的解释与标准 $H$ 相符,与原文少负号的式子方向相反;Fig. 7 也画出正值熵。实际复现排序必须明确负号及排序方向,不能原样抄式后再升序排列。

附录 F 比较了熵、outlier 比例和下游任务性能。直接用下游分数更贴近目标任务,但要先完成蒸馏评测,而且摘要 ROUGE 与 WikiText 困惑度不总一致。图示支持将熵作为实用启发式,文中没有提供其相关系数或排序最优性定理。(pp. 16–17,Fig. 13。)

2.7 链式微调匹配一族嵌套结构

按敏感度顺序逐层微调

原文 Fig. 3,p. 5。每一步只训练新替换层,其余层冻结;已完成的替代层保留在网络中,因此后续训练看到的是更新后的混合结构。

假设敏感度顺序为 $\pi=(\pi_1,\ldots,\pi_n)$,训练得到的结构依次为:

$$ M_0\rightarrow M_1\rightarrow\cdots\rightarrow M_n, \quad M_k:\{\pi_1,\ldots,\pi_k\}\text{ 使用 DSLA}. $$

例如四层的顺序是 $(3,1,4,2)$,直接对应的配置为 $\varnothing$、$\{3\}$、$\{3,1\}$、$\{3,1,4\}$、全替换。原文宣称可以支持 “any partial combination”,但此训练程序直接覆盖的是固定顺序的前缀配置,并未逐一训练全部 $2^n$ 个子集。按同一顺序在线增加替换才与其动机一致。(Sec. 4.4,p. 5;本段集合例子为教学解释。)

2.8 混合批处理和状态切换的成本

同一批请求可能处于不同转换比例:有些在某层走 DSLA,另一些走 self-attention。共享层仍能合批;出现分歧的层需要拆成两个子批次,之后再合并。这里涉及不同权重和计算路径,不能把整个过程视作一个统一 GEMM。作者称显存节省能覆盖重分批成本,但未单列调度开销的数值分解。(Sec. 4.5,pp. 5–6;App. D,pp. 15–16,Fig. 11。)

若要在同一条已经解码的序列中途切换,新的 DSLA 状态还必须包含此前历史。文中没有充分交代这些状态是持续维护、重放历史还是从旧缓存构建,也没有量化相应成本。这是把动态层选择落实到服务系统时需要补齐的关键环节。

2.9 时间和显存:固定状态不等于混合模型全为线性

单个 DSLA 头每步状态更新/读取约为 $O(d^2)$,两份状态只是增加常数,状态空间不随序列长度 $s$ 增长。若保留 $(1-r)n$ 层 self-attention,整网仍含二次预填充项和随历史长度增加的解码成本。Fig. 4 中 25%/50% 模型的解码曲线也仍有斜率,收益主要是降低成本与增长幅度。

原文 p. 7 给出的 KV 公式为:

$$ M_{KV}=2nbshd_hB_{byte}. $$

这里 $b$ 是 batch size,$h$ 是头数,$d_h$ 是每头维度,$B_{byte}$ 是每个元素的字节数。式子含 $n$,所以是这些层的总 KV,而非该段文字所称的“每层”。在两份 $d_h\times d_h$ 状态、同样头数和存储精度的教学假设下:

$$ M_{DSLA}=2rnbhd_h^2B_{byte},\qquad \Delta M=2rnbhd_h(s-d_h)B_{byte}. $$

取 $n=32,h=32,d_h=128,b=1,s=4096$,BF16 为 2 字节:原 KV 为 2 GiB,替换 25% 层去除 0.5 GiB KV,新增双状态约 16 MiB,净减约 0.484 GiB/请求。这是明确假设下的估算,未计额外权重和运行时缓冲。原文 Sec. 5.1 声称 4K/8K 分别节省 1GB/2GB,但没有在那里明确精度和状态扣除口径,不能把它当作所有 BF16 配置的结论。

三:实验——先分清模型、任务与系统设置

3.1 训练配置与比较角色

主模型由 Llama2-7B 蒸馏,使用 SlimPajama 的 1.6B tokens,样本截断到最多 4K;使用 AdamW,weight decay 0.01,前 5% 步数升温至 $10^{-4}$,随后余弦衰减至 $5\times10^{-5}$,复用 GLA 的 Triton kernel。(Sec. 5,p. 6;App. B,p. 14。)

对照/设置在实验中回答的问题
Llama2-7B转换前的教师质量与系统成本
GLA-7B、Mamba-7B、RetNet-6.7B与线性复杂度架构比较;RetNet 只列部分短任务
Zamba-7B与静态混合架构比较
DSLA 25% / 50%同一教师下两个转换比例的质量取舍
Llama3-8B / LoLCATs / DSLA换教师后比较线性化方案,Table 7
Phi-1.5 / Phi-Mamba / DSLA较小模型上的迁移结果,Table 8

表格中的 “Cost” 混合了预训练 token 数和额外蒸馏 token 数。例如教师的 2T 与 DSLA 的 1.6B 不是两个从零训练模型的等预算比较;DSLA 继承了教师训练成果。App. B 报告“单层、1B tokens、4×A100、约 5 小时”,不能直接当成全模型链式蒸馏的总费用。附录的“0.07% 预训练成本”也缺少足够统一的总层数与计算量口径来支持全流程比较。

3.2 各实验协议不要混用

实验配置与指标
长上下文任务LongBench 的多文档 QA、代码补全、少样本任务;原表分数越高越好
语言建模WikiText-2、Lambada 的 perplexity,越低越好;Lambada 列按本论文标注解释为 PPL
摘要CNN/DailyMail、XSum;ROUGE-1 与 ROUGE-L,越高越好
短上下文WG、HS、PIQA、ARC-E、ARC-C、MMLU、LogiQA;任务得分/准确率,越高越好
状态数消融Llama-3.2-1B-Instruct,先在 CoLA 上监督微调,再替换并重训;验证准确率,不是 CoLA 常见的 MCC
单模型延迟A100 80GB;预填充时延与逐 token 解码时延,Fig. 4
服务回放A6000,原文记为 49GB;增强的 Azure 2023 轨迹,Table 4

QA 分数衡量回答与参考答案的匹配;LCC/RepoBench 对应代码补全质量,并非代码通过率;TREC 是分类,SAMSum 是对话摘要,TriviaQA 是问答。ROUGE-1 看 unigram 重叠,ROUGE-L 看最长公共子序列。短任务中 WG 是 Winogrande,HS 是 HellaSwag。不同列不宜直接解释为同一种“准确率”,论文也没有为主表逐项详列所有 shot 数、prompt 模板和解码设置。

四:结果——质量、效率与机制证据

4.1 长上下文:QA 受益,代码和少样本存在损失

原文 Table 1,p. 7;将其拆成窄表以便比较。

模型WikiText-2 PPL ↓Lambada PPL ↓HotpotQA ↑2WikiMQA ↑
Llama2-7B8.794.135.6310.24
GLA-7BNaN4.983.616.89
Mamba-7B10.554.051.230.80
Zamba-7B10.253.747.907.97
DSLA 25%9.264.1411.0714.20
DSLA 50%9.896.1910.6113.64

25% 配置相对教师在两个多文档 QA 列分别提高 5.44 和 3.96 分,与此同时 WikiText-2 PPL 从 8.79 到 9.26,Lambada 基本持平。50% 时 Lambada PPL 升至 6.19,说明质量损失并非只有特别高的转换比例才出现。

模型LCC ↑RepoBench ↑TREC ↑SAMSum ↑TriviaQA ↑
Llama2-7B69.8356.8859.0039.1086.19
GLA-7B41.2644.2428.5016.9457.68
Mamba-7B17.5610.5411.004.5515.23
Zamba-7B40.7043.2064.0037.7482.19
DSLA 25%66.9151.5355.0038.6687.46
DSLA 50%61.6849.8446.0037.2881.99

DSLA 25% 的 LCC、RepoBench 分别低于教师 2.92、5.35 分,50% 时差距进一步扩大。相对其他线性架构的优势不能全部归因于双状态本身,因为教师继承、训练语料和转换比例也不同。更直接检验状态数的实验见 4.5。

原文将 TriviaQA 相对 Mamba 的提升写成“72.23%”。表中实际是 $87.46-15.23=72.23$ 个分数点;若用 Mamba 分数作分母,相对增幅约 474.3%。因此应引用 增加 72.23 分,而不是 72.23% 的相对提升。(Sec. 5.1,p. 6;Table 1,p. 7。)

4.2 摘要和短任务:25% 更接近教师

原文 Table 2,p. 7。下表均为 ROUGE 百分制分数。

模型CNN/DM R-1 ↑CNN/DM R-L ↑XSum R-1 ↑XSum R-L ↑原表平均 ↑
Llama2-7B30.1327.6330.0724.5128.09
GLA-7B18.5517.6224.6520.9220.44
Mamba-7B22.1321.0427.9223.4923.65
Zamba-7B31.3428.6728.4123.0927.88
DSLA 25%30.0127.1030.1024.7027.98
DSLA 50%29.2926.4229.8823.7327.33

25% 配置的四列平均只下降 0.11 分,50% 下降 0.76 分。Zamba 在 CNN/DM 更强、DSLA 25% 在 XSum 略强,摘要结果支持的是相近质量下的效率折中。

原文 Table 3,p. 7,主配置的七项短任务如下;数值为百分制。

任务Llama2-7BDSLA 25%DSLA 50%
Winogrande69.369.968.1
HellaSwag57.156.555.4
PIQA79.678.775.0
ARC-E76.474.971.6
ARC-C43.343.240.4
MMLU45.346.243.2
LogiQA30.624.925.4
原表 Avg.57.256.354.2

25% 在 MMLU、Winogrande 略升,在 LogiQA 下降 5.7 分;不能概括为“短任务完全无损”。原表平均值中,教师 57.2 与所列七项的简单均值约 57.37 有小幅不一致;DSLA 两项简单均值约 56.33、54.16。无论采用哪一种口径,25% 更接近教师、50% 退化较多的结论一致。其他模型的原表平均为 GLA 54.5、Mamba 55.5、Zamba 56.9,RetNet 因有缺失项未给平均。

4.3 单模型效率:长预填充和解码更受益

预填充延迟

原文 Fig. 4 左面板,p. 7。横轴为 prompt 长度,纵轴为预填充延迟(ms)。颜色分别表示 Transformer、25% 和 50% 转换。原文报告 2K 以下 Transformer 更快,超过 2K 后转换配置开始有利,说明双状态和门计算具有短序列下不能忽略的固定成本。

逐 token 解码延迟

原文 Fig. 4 右面板,p. 7。横轴为已生成 token 数,纵轴为单 token 延迟(ms)。25% 和 50% 曲线更低,但仍随生成长度上升,因为剩余的 self-attention 仍要读取增长中的 KV。

作者还在 A6000 上重复生成 2048 tokens,发现某些分配操作伴随尖峰,profiling 报告间歇性 cudaMalloc 达 300–1000 ms。减少 KV 压力有助于缓解该实现中的尖峰;这部分实验与 A100 的 Fig. 4 设置不同。App. E / Fig. 12 的曲线本身不能代替上述分配操作的耗时分解。(pp. 15–16。)

4.4 端到端回放:2.29 倍来自指定轨迹与转换策略

Azure 原始轨迹只有时间戳、输入长度、输出长度。作者增加生成的文本 prompt 和 session ID,按 Poisson($\lambda=3$) 模拟会话轮次,再拼接历史以模拟多轮对话。这是真实长度/到达信息基础上的增强轨迹,并非带有真实会话正文的生产回放。(App. C,pp. 14–15,Figs. 9–10。)

Prompt 长度请求占比最大转换比例
小于 2K64.68%12.5%
2K–4K16.16%25%
4K–8K16.03%37.5%
至少 8K3.10%50%

原文 Table 4,p. 7。正文同段提到“25%–50%”,但表中的实际上限覆盖 12.5%–50%,应以表中策略为准。比例合计略少于 100% 属于所报告数值的舍入。

按 token 长度归一化的端到端平均延迟由 93.64 ms 降至 40.83 ms,$93.64/40.83\approx2.293$。这个指标包括系统条件下的请求处理,不能直接等同于某个固定 prompt 上的单层 kernel 加速,也不是 P99。论文没有给出相同回放中各转换动作的质量变化与控制开销明细。

Zamba 的 3.0 倍说法存在比较对象不一致:摘要和结论将其表述为 DSLA-Serve 相对 Zamba 的收益,而 Sec. 5.5,p. 8,写的是 A100 上 Zamba 的端到端延迟为 Llama2-7B 的 3.0 倍,预填充为 1.8 倍。Table 4 没有提供 Zamba 的同设置回放行,因此不宜把“相对 Zamba 3.0 倍”与可直接计算的 2.29 倍视为同等清晰的证据。

4.5 双状态是否分工,以及为何选择两个

两个状态的注意力位置分布

原文 Fig. 5,p. 8。横轴是 token 位置;左侧为 self-attention,右侧分别显示 history(红色)和 recency(蓝色)。右图两条状态使用不同纵轴尺度。history 覆盖较早位置,recency 更集中于末尾,支持它们具有不同遗忘特性;不能直接用红蓝点高度比较两个状态对输出的总贡献。

各层对历史与近期状态的混合权重

原文 Fig. 6,p. 8。横轴是层索引,纵轴是两份状态的混合权重。曲线显示层 0–2、30–31 更偏近期,3–29 更偏历史;正文写作 0–3 与 4–29,边界相差一层。稳妥的解释是开头和末尾偏近期、中间偏历史,而非“层越深越依赖历史”的单调图景;图上展示的是所训练参数的层间差异。

状态数实验另用 Llama-3.2-1B-Instruct 和 CoLA,不能当作 7B 长文本的直接消融。Table 5,p. 8:

状态数CoLA 验证准确率 ↑相对单状态增量
178.97%—
281.19%+2.22 个百分点
481.44%+2.47 个百分点
880.96%+1.99 个百分点
原始 Transformer82.83%—

两状态收回了相当部分损失;四状态只比两状态多 0.25 个百分点,八状态反而下降,所以选择两个有成本依据。这里同时改变了容量和状态结构,且没有单独报告去掉门相似度正则、去掉特殊初始化、或将单状态扩容到等容量的对照。因此实验支持“双状态配置有效”,但尚不足以分离额外容量、初始化和正则各自的贡献。

4.6 换教师、换规模后的表现

Llama2-7B-chat:Table 6,p. 9,使用 800M 额外 tokens。25% 配置的 HotpotQA 从 29.79 到 35.37,2WikiMQA 从 27.15 到 32.33;LCC 从 59.71 降到 58.11,RepoBench 从 48.96 降到 45.17。50% 时 TriviaQA 从教师 86.11 降到 73.04。更强的教师提高了若干绝对分数,转换比例带来的取舍仍存在。

Llama3-8B 与 LoLCATs:Table 7,p. 9,六项任务如下。DSLA 后的 ± 值为作者标注的标准差;表中没有足够的重复次数信息来另算置信区间。

任务教师LoLCATsDSLA
WG74.180.973.2 ± 1.3
HS79.779.777.5 ± 0.5
PIQA79.980.979.8 ± 1.0
ARC-E80.181.780.7 ± 0.8
ARC-C53.354.955.9 ± 1.5
MMLU66.652.868.9 ± 3.2
原表 Avg.72.270.772.7
根据上面六列计算的等权均值72.2871.8272.67

DSLA 的优势主要来自 MMLU,前四项低于 LoLCATs。原表 LoLCATs 平均 70.7 与展示的六列不一致;用可见数据算,DSLA 领先约 0.85 分,不是直接拿原表 Avg. 得到的 2.0 分。该表还没有明确 DSLA 的转换比例及与 LoLCATs 完全匹配的训练成本,适合解读为补充结果,不能单凭它下等预算优劣结论。

Phi-1.5:Table 8,p. 9:

模型WGARC-EARC-CPIQAHS
Phi-1.5 教师73.475.048.076.662.6
Phi-Mamba71.774.044.175.560.2
DSLA72.974.544.575.960.5

DSLA 在五项上均高于 Phi-Mamba,同时均低于教师。正文“优于所有 baseline”的概括与此表不一致;准确结论是 DSLA 更接近教师,但没有超过教师。成本列为教师 150B、Phi-Mamba 3B、DSLA 800M tokens,仍要区分预训练与转换成本。

五:结论——有价值的设计,以及决定落地的条件

DSLA 最有启发的地方,是让记忆保留的时间尺度成为显式结构:相同 token 写进两条状态,通过不同遗忘门与学习到的混合比例保留互补信息。DSLA-Serve 则让注意力计算预算成为服务时的可调参数,并通过链式微调把预先准备的模块组织成一族可切换模型。

现有证据中,最扎实的三点是:25% 部分转换能保留许多任务的质量;CoLA 状态数实验显示两状态优于单状态且更多状态收益有限;指定 A6000 轨迹回放上可从表中直接得到 2.29 倍加速。选择替换比例时,要同时看到代码、分类和部分语言建模指标的损失。

落地时有三项实质条件值得优先解决:

  1. 总显存预算。论文实现同时保留原始注意力和 DSLA 权重。长序列的 KV 节省可能抵消额外权重,短序列时未必划算;权重 offload/prefetch 是作者提出的后续方案。
  2. 运行时状态连续性与质量控制。中途转换怎样获得历史状态、如何估计下一次转换的质量代价、重分批占多少时间,需要具体实现和成本分解。已报告的长度上限策略提供了一个起点。
  3. 确定双状态收益来自哪里。等容量单状态、去正则、去特殊初始化,以及独立训练与链式训练对照,能更清楚地区分机制贡献。原文在超过 75% 转换时观察到进一步退化,主结果集中于 25% 和 50%。

后续研究最值得延续的方向,是把互补记忆结构、按层敏感度分配预算、以及真实服务中的状态切换成本放到同一个可测量的框架内。