季涛♠,郭斌♡,吴远彬♡,郭启鹏♢,沈立新♣,陈展♣,丘锡鹏♠,张琦♠,桂涛♠#

♠复旦大学 ♡华东师范大学 ♣海康威视公司 ♢上海AI实验室 [{taoji, tgui}@fudan.edu.cn](mailto:taoji@fudan.edu.cn, tgui@fudan.edu.cn) [{binguo@stu, ybwu@cs}.ecnu.edu.cn](mailto:ytliu@stu.ecnu.edu.cn, ybwu@cs.ecnu.edu.cn)

摘要

多头潜注意力(MLA)是DeepSeek提出的一种创新架构,通过将键值(KV)缓存显著压缩为一个潜向量来确保高效且经济的推理。与采用多头注意力(MHA)及其变体(如分组查询注意力GQA)的标准LLM相比,MLA表现出显著的成本优势。使训练良好的LLM(例如Llama)能够快速适应MLA而无需从头开始预训练既具有重要意义又充满挑战。本文提出了首个从MHA过渡到MLA(MHA2MLA)的数据高效微调方法,该方法包括两个关键组件:对于部分RoPE,我们移除了对注意力得分贡献较小的查询和键的维度中的RoPE;对于低秩近似,我们基于预训练的键和值参数引入了联合SVD近似。这些精心设计的策略使MHA2MLA仅使用一小部分数据(3‰至6‰)就能恢复性能,显著降低了推理成本,并无缝集成了诸如KV缓存量化等压缩技术。例如,Llama2-7B的KV缓存大小减少了92.19%,LongBench性能仅下降了0.5%。

1 引言

大型语言模型(LLM)的迅速发展显著加速了向通用人工智能(AGI)迈进的步伐,模型能力随着参数数量的增加可预测地扩展(Kaplan等人,2020)。然而,这些进步伴随着高昂的成本:训练所需的计算需求不断增加,推理吞吐量下降,导致大量能源消耗和碳排放(Strubell等人,2019)

随着下游任务变得越来越复杂,长上下文处理和计算密集型推理已成为LLM应用的核心(An等人,2024)。一个关键瓶颈在于多头注意力(MHA,2017)机制固有的键值(KV)缓存的内存占用,其随序列长度和模型规模线性增长。为了缓解这一问题,已经探索了诸如分组查询注意力(GQA,2023)和多查询注意力(MQA,2019)等变体。然而,这些方法不仅减少了KV缓存的大小,还减少了注意力中的参数数量,导致性能下降。DeepSeek引入了多头潜注意力(MLA,2024),这是一种配备低秩键值联合压缩的注意力机制。实验证明,MLA在性能上优于MHA,同时在推理过程中显著减少了KV缓存,从而提高了推理效率。

一个关键但尚未探索的问题出现了:原本为MHA训练良好的LLM能否被调整以启用MLA进行推理?MHA和MLA之间固有的架构差异使得零样本迁移不切实际,而从头开始预训练的高昂成本使得这种转换在现有研究中既技术上具有挑战性又未得到充分探索。为了解决这一差距,我们提出了首个精心设计的MHA2MLA框架,该框架最大限度地重用了预训练MHA网络中的参数,同时使KV缓存存储和推理过程与MLA的范式保持一致(图1)。我们的框架包含两个关键技术革新:部分旋转位置嵌入(部分RoPE)和低秩近似。MHA2MLA的主要目标是实现数据高效性能恢复——使用最少的微调数据恢复架构引起的性能下降。

MLA的推理加速机制与RoPE之间的固有不兼容性需要架构上的妥协。DeepSeek的解决方案在有限维度中保留了位置嵌入(PE),同时压缩其他维度,这需要在多头注意力(MHA)中策略性地移除RoPE维度(将其转换为NoPE),以实现与MLA的一致性。虽然更高的移除比率可以提高压缩效率,但它们也会加剧性能下降,从而产生效率与能力之间的权衡。通过系统地探索RoPE移除策略,我们发现基于注意力得分影响排名选择贡献最大的前k个维度(即贡献感知维度选择)能够最优地平衡这些相互竞争的目标。尽管之前的研究已经探讨了从零开始训练部分RoPE LLM [(Black等人,2021; Barbero等人,2024)],我们的工作开创了LLM从全RoPE到部分RoPE转换的数据高效微调方法。

MLA通过将键和值投影到低秩潜在表示空间(存储在KV缓存中)来减少内存占用。MHA2MLA也可以对去除了RoPE的值和键(NoPE维度)应用低秩近似。通过对预训练参数矩阵Wv和Wk(对应于NoPE子空间)进行奇异值分解(SVD),我们在最大化保留原始模型所学知识的同时,将这些组件压缩到潜在空间中。

我们的主要贡献包括:

  • 我们引入了MHA2MLA,这是首个参数高效的微调框架,它仅使用3‰至6‰的训练数据即可将预训练的基于MHA的LLM适应到MLA架构,而无需从头开始训练。
  • 我们展示了MHA2MLA架构可以与KV缓存量化集成,以实现更经济的推理(最高可减少96.87%)。
  • 我们在四个不同规模的模型上进行了实验(从1.35亿到70亿参数,涵盖MHA和GQA),并进行了详细的消融研究,为MHA2MLA提供了指导和见解。

2 预备知识

2.1 多头注意力(MHA)

给定输入序列 ({x_1, …, x_l} \in \mathbb{R}^{l \times d}),标准的MHA [(Vaswani等人,2017)] 将每个标记 (x_i) 投影成查询 (q_i^{(h)} = x_i W_q^{(h)})、键 (k_i^{(h)} = x_i W_k^{(h)}) 和值 (v_i^{(h)} = x_i W_v^{(h)}),其中 (W_q^{(h)}, W_k^{(h)}, W_v^{(h)} \in \mathbb{R}^{d \times d_h}) 对于每个头 (h \in {1, …, n_h})。旋转位置编码(RoPE, [2024])应用于查询和键(例如,(q_{i,\text{rope}}^{(h)} = \text{RoPE}(q_i^{(h)}))),然后进行缩放点积注意力:

o i ( h ) = Softmax ( q i , rope ( h ) k ≤ i , rope ( h ) ⊤ d h ) v ≤ i ( h ) , \mathbf{o}_i^{(h)} = \text{Softmax}\left(\frac{\mathbf{q}_{i,\text{rope}}^{(h)} \mathbf{k}_{\leq i,\text{rope}}^{(h)\top}}{\sqrt{d_h}}\right) \mathbf{v}_{\leq i}^{(h)}, oi(h)=Softmax(dh qi,rope(h)ki,rope(h))vi(h),

MHA ( x i ) = [ o i ( 1 ) , … , o i ( n h ) ] W o , \text{MHA}(\mathbf{x}_i) = \left[\mathbf{o}_i^{(1)}, \dots, \mathbf{o}_i^{(n_h)}\right] \mathbf{W}_o, MHA(xi)=[oi(1),,oi(nh)]Wo,

其中 (\mathbf{W}_o \in \mathbb{R}^{(n_h d_h) \times d}) 并且 ([·, ·]) 表示向量连接。 (l) 线性增长,导致内存瓶颈。

为了解决这一问题,分组查询注意力(GQA, [2023])通过在 (n_g) 组((n_g \ll n_h))之间共享键/值来减少KV缓存。对于每个头 (h),它映射到组 (g = \lfloor h/n_g \rfloor):

o i ( h ) = Softmax ( q i , rope ( h ) k ≤ i , rope ( g ) ⊤ ) v ≤ i ( g ) , \mathbf{o}_{i}^{(h)} = \text{Softmax}\left(\mathbf{q}_{i,\text{rope}}^{(h)} \mathbf{k}_{\leq i,\text{rope}}^{(g)\top}\right) \mathbf{v}_{\leq i}^{(g)}, oi(h)=Softmax(qi,rope(h)ki,rope(g))vi(g),

G Q A ( x i ) = [ o i ( 1 ) , … , o i ( n h ) ] W o . (2) \mathbf{GQA}(\mathbf{x}_{i}) = \left[\mathbf{o}_{i}^{(1)}, \dots, \mathbf{o}_{i}^{(n_{h})}\right] \mathbf{W}_{o}.\tag{2} GQA(xi)=[oi(1),,oi(nh)]Wo.(2)

多查询注意力(MQA, [2019])是 GQA 的特殊情况,其中 (n_g = 1),即所有头共享一个全局键/值。虽然将KV缓存减少到 (O(2lngd_h)),但这些方法由于参数修剪而导致性能下降。

2.2 多头潜注意力(MLA)

MLA [(DeepSeek-AI等人,2024)] 引入了一种混合架构,将位置嵌入(PE)与潜在KV压缩解耦。对于每个头 (h),输入 (\mathbf{x}_i) 被投影成两个互补的组件:

位置感知组件:一部分维度保留PE以保持位置敏感性:

q i , rope ( h ) , k i , rope = RoPE ( x i W d q W q r ( h ) , x i W k r ) , \mathbf{q}_{i, \text{rope}}^{(h)}, \mathbf{k}_{i, \text{rope}} = \text{RoPE}\left(\mathbf{x}_i \mathbf{W}_{dq} \mathbf{W}_{qr}^{(h)}, \mathbf{x}_i \mathbf{W}_{kr}\right), qi,rope(h),ki,rope=RoPE(xiWdqWqr(h),xiWkr),

其中 (\mathbf{W}{dq} \in \mathbb{R}^{d \times d_q}), (\mathbf{W}{qr}^{(h)} \in \mathbb{R}^{d_q \times d_r}), (\mathbf{W}_{kr} \in \mathbb{R}^{d \times d_r}) 将查询/键投影到维度为 (d_r) 的 RoPE 保留组件中。

位置无关组件:剩余维度 (d_c) 去除了PE(即NoPE),(\mathbf{k}{i, \text{nope}}^{(h)}) 和 (\mathbf{v}{i}^{(h)}) 被压缩成共享的潜在向量 (\mathbf{c}_{i, kv}):

q i , nope ( h ) = x i W d q W q c ( h ) , c i , k v = x i W d k v , k i , nope ( h ) , v i ( h ) = c i , k v W u k ( h ) , c i , k v W u v ( h ) , \begin{aligned} \mathbf{q}_{i, \text{nope}}^{(h)} &= \mathbf{x}_i \mathbf{W}_{dq} \mathbf{W}_{qc}^{(h)},\\ \mathbf{c}_{i, kv} &= \mathbf{x}_i \mathbf{W}_{dkv},\\ \mathbf{k}_{i, \text{nope}}^{(h)}, \mathbf{v}_i^{(h)} &= \mathbf{c}_{i, kv} \mathbf{W}_{uk}^{(h)}, \mathbf{c}_{i, kv} \mathbf{W}_{uv}^{(h)}, \end{aligned} qi,nope(h)ci,kvki,nope(h),vi(h)=xiWdqWqc(h),=xiWdkv,=ci,kvWuk(h),ci,kvWuv(h),

其中 (\mathbf{W}{qc}^{(h)} \in \mathbb{R}^{d_q \times d_c}), (\mathbf{W}{dkv} \in \mathbb{R}^{d \times d_{kv}}), (\mathbf{W}{uk}^{(h)} \in \mathbb{R}^{d{kv} \times d_c}), (\mathbf{W}{uv}^{(h)} \in \mathbb{R}^{d{kv} \times d_h})。注意 (d_r + d_c = d_h)。MLA 的注意力输出结合了两个组件:

o i ( h ) = Softmax ( q i , rope ( h ) k ≤ i , rope ( h ) ⊤ + q i , nope ( h ) k ≤ i , nope ( h ) ⊤ ) v ≤ i ( h ) \mathbf{o}_{i}^{(h)} = \text{Softmax}\left(\mathbf{q}_{i,\text{rope}}^{(h)} \mathbf{k}_{\leq i,\text{rope}}^{(h)\top} + \mathbf{q}_{i,\text{nope}}^{(h)} \mathbf{k}_{\leq i,\text{nope}}^{(h)\top}\right) \mathbf{v}_{\leq i}^{(h)} oi(h)=Softmax(qi,rope(h)ki,rope(h)+qi,nope(h)ki,nope(h))vi(h)

MLA ( x i ) = [ o i ( 1 ) , … , o i ( n h ) ] W o . (3) \text{MLA}(\mathbf{x}_{i}) = \left[\mathbf{o}_{i}^{(1)}, \dots, \mathbf{o}_{i}^{(n_{h})}\right] \mathbf{W}_{o}.\tag{3} MLA(xi)=[oi(1),,oi(nh)]Wo.(3)

与 MHA 及其变体不同,MLA 存储的是潜在向量 (\mathbf{c}{kv}) 和 (\mathbf{k}{i, \text{rope}}^{(h)})((O(l d_r + l d_{kv}))),而不是全秩的 (\mathbf{k}_i, \mathbf{v}i)((O(2lnhd_h))),其中 ((d_r + d{kv}) \ll 2n_h d_h)。

为什么 MLA 需要将 RoPE 和 NoPE 分开?MLA 在推理过程中引入了针对 NoPE 部分的矩阵合并技术,有效减少了内存使用。对于点积操作 (\mathbf{q}{i, \text{nope}}^{(h)} \mathbf{k}{j, \text{nope}}^{(h)\top}),可以应用以下恒等变换 3

q ˉ i , nope k j , nope ⊤ = ( x i W d q W q c ) ( c j , k v W u k ) ⊤ = x i ( W d q W q c W u k ⊤ ) c j , k v ⊤ \begin{aligned} \boldsymbol{\bar{q}}_{i,\text{nope}} \boldsymbol{k}_{j,\text{nope}}^{\top} &= (\mathbf{x}_{i} \mathbf{W}_{dq} \mathbf{W}_{qc}) \left(\mathbf{c}_{j,kv} \mathbf{W}_{uk}\right)^{\top} \\ &= \mathbf{x}_{i} \left(\mathbf{W}_{dq} \mathbf{W}_{qc} \mathbf{W}_{uk}^{\top}\right) \mathbf{c}_{j,kv}^{\top} \end{aligned} qˉi,nopekj,nope=(xiWdqWqc)(cj,kvWuk)=xi(WdqWqcWuk)cj,kv

其中 (\mathbf{W}{dq} \mathbf{W}{qc} \mathbf{W}{uk}^{\top}) 可以预先合并成一个单一矩阵,并且 (\mathbf{c}{j,kv}) 已经存储在 KV 缓存中。至于 RoPE 部分,RoPE(·) 函数通过旋转矩阵(例如,(\text{RoPE}(\mathbf{q}i) = \mathbf{q}i \mathbf{R}i),(\mathbf{R}i) 的具体形式将在第 3.1 节 中介绍)乘以输入向量。thcal{W}}{dq} \boldsymbol{\mathcal{W}}{qr} \boldsymbol{\mathcal{R}}i) \left( x_j \boldsymbol{\mathcal{W}}{kr} \boldsymbol{\mathcal{R}}j \right)^\top \ &= x_i \left( \boldsymbol{\mathcal{W}}{dq} \boldsymbol{\mathcal{W}}{qc} \boldsymbol{\mathcal{R}}{j-i} \boldsymbol{\mathcal{W}}_{kr}^\top \right) x_j^\top \end{aligned}$$

由于 (\boldsymbol{\mathcal{W}}{dq} \boldsymbol{\mathcal{W}}{qc} \boldsymbol{\mathcal{R}}{j-i} \boldsymbol{\mathcal{W}}{kr}^\top) 与相对位置 (j - i) 相关,因此不能合并为固定矩阵。考虑到 LLM 中的相对距离可能非常长(例如 128K),RoPE 部分更适合使用原始形式计算。

3 MHA2MLA

3.1 部分 RoPE

为了实现从标准 MHA 到 MLA 的迁移,我们提出了部分 RoPE 微调策略,该策略从目标比例的维度中移除 RoPE 并将其转换为 NoPE。尽管先前的工作已经探索了从零开始训练部分 RoPE 的 LLM,并达到了比全 RoPE 略好的困惑度 (Black等人,2021; Barbero等人,2024),但没有现有方法解决如何高效地将预训练的全 RoPE 模型(例如 Llama)适应到部分 RoPE 而无需昂贵的重新训练。我们的工作通过系统评估部分 RoPE 变体来填补这一空白,从而确定最数据高效的微调协议以恢复模型性能。

3为了简化符号,我们省略了上标 (h)。矩阵 (\mathbf{W}_{uv}) 和 (\mathbf{W}_o) 也可以合并,请参见 DeepSeek-AI等人 (2024) 的附录 C。

在这里插入图片描述

图 2:Shigh, Slow, Suniform, S2-norm 的示意图。其中 (d_h = 8) 和 (r = 2)。

在这里插入图片描述

图 3:Llama2-7B 的头级 2-范数贡献可视化。我们随机选择了 4 个头,红色虚线框突出显示了当 (r = 4) 时选择的前 4 个频率子空间。可以看出,不同的头倾向于关注不同的频率子空间,这验证了我们 S2-norm 方法的合理性。

MHA 的全 RoPE 通过频率特定的旋转将位置信息编码到查询和键中。形式上,给定查询向量 (\mathbf{q}_i \in \mathbb{R}^{d_h}) 和键向量 (\mathbf{k}_i \in \mathbb{R}^{d_h}),我们将它们划分为 2D 块:

q i , k i = [ q i [ 2 k , 2 k + 1 ] ] 0 ≤ k < d h 2 , [ k i [ 2 k , 2 k + 1 ] ] 0 ≤ k < d h 2 \mathbf{q}_i, \mathbf{k}_i = \left[ \mathbf{q}_i^{[2k, 2k+1]} \right]_{0 \le k < \frac{d_h}{2}}, \left[ \mathbf{k}_i^{[2k, 2k+1]} \right]_{0 \le k < \frac{d_h}{2}} qi,ki=[qi[2k,2k+1]]0k<2dh,[ki[2k,2k+1]]0k<2dh

其中 (\mathbf{q}_i^{[2k, 2k+1]} \in \mathbb{R}^2) 表示第 (k) 个 2D 子空间。每个块通过位置依赖的角度 (\theta_k = \beta^{-2k/d_h}) 进行旋转,形成一系列波长。高频分量(例如 (k = 0))在每个标记处快速旋转 1 弧度,而低频分量(例如 (k = d_h/2 - 1))在每个标记处缓慢旋转约 (\beta^{1/d_h}) 弧度。基波长 (\beta) 通常设置为 (10^4) (Su等人,2024) 或 (5 \times 10^5)。

形式上,对于每个 2D 块 (\mathbf{q}_i^{[2k, 2k+1]}) 和 (\mathbf{k}_i^{[2k, 2k+1]}),位置 (i) 处的旋转矩阵定义为:

R i [ 2 k , 2 k + 1 ] ( θ k ) = [ cos ⁡ ( i θ k ) − sin ⁡ ( i θ k ) sin ⁡ ( i θ k ) cos ⁡ ( i θ k ) ] . \mathbf{R}_{i}^{[2k,2k+1]}(\theta_{k}) = \begin{bmatrix} \cos(i\theta_{k}) & -\sin(i\theta_{k}) \\ \sin(i\theta_{k}) & \cos(i\theta_{k}) \end{bmatrix}. Ri[2k,2k+1](θk)=[cos(iθk)sin(iθk)sin(iθk)cos(iθk)].

因此,将 RoPE 应用于查询和键变为:

q i , rope = [ R i [ 2 k , 2 k + 1 ] ( θ k ) q i [ 2 k , 2 k + 1 ] ] 0 ≤ k < d h 2 , k i , rope = [ R i [ 2 k , 2 k + 1 ] ( θ k ) k i [ 2 k , 2 k + 1 ] ] 0 ≤ k < d h 2 . \begin{aligned} \mathbf{q}_{i, \text{rope}} &= \left[ \mathbf{R}_i^{[2k,2k+1]} (\theta_k) \mathbf{q}_i^{[2k,2k+1]} \right]_{0 \le k < \frac{d_h}{2}}, \\ \mathbf{k}_{i, \text{rope}} &= \left[ \mathbf{R}_i^{[2k,2k+1]} (\theta_k) \mathbf{k}_i^{[2k,2k+1]} \right]_{0 \le k < \frac{d_h}{2}}. \end{aligned} qi,ropeki,rope=[Ri[2k,2k+1](θk)qi[2k,2k+1]]0k<2dh,=[Ri[2k,2k+1](θk)ki[2k,2k+1]]0k<2dh.

从全 RoPE 到部分 RoPE 的策略:给定保留的旋转子空间 (r)((r = d_r/2 \ll) 总子空间 (d_h/2)),我们提出了四种策略(如图 2 所示)来选择哪些 (r) 子空间保留 RoPE 编码:

高频保留 保留 (r) 个最快旋转(高频)子空间:

S high = { k ∣ 0 ≤ k < r } … \mathcal{S}_{\text{high}} = \{ k \mid 0 \le k < r \} \dots Shigh={k0k<r}

这与 Barbero等人 (2024) 提出的 p-RoPE 方法一致,他们在其中探索了 (r) 占总子空间 25%、50% 和 75% 的设置,并观察到在从头开始训练的 LLM 中略优于全 RoPE。

低频保留 保留 (r) 个最慢旋转(低频)子空间:

S low = { k   ∣   d h 2 − r ≤ k < d h 2 } . \mathcal{S}_{\text{low}} = \left\{ k \, \Big| \, \frac{d_h}{2} - r \le k < \frac{d_h}{2} \right\}. Slow={k 2dhrk<2dh}.

这是作为高频策略的对照实验而选择的。

均匀采样 以等间距选择 (r) 个子空间:

S uniform = { ⌊ k d h 2 r ⌋   |   0 ≤ k < r } . \mathcal{S}_{\text{uniform}} = \left\{ \left\lfloor k \frac{d_h}{2r} \right\rfloor \: \middle| \: 0 \le k < r \right\}. Suniform={k2rdh 0k<r}.

这通过几何间隔平衡了高频和低频成分。

头级 2-范数贡献 Barbero 等人 (2024) 首次提出使用 2-范数贡献来研究频率的利用情况及其有效性。该方法基于 Cauchy-Schwarz 不等式,即第 (k) 个频率子空间对注意力 logits 的影响由相应的查询和键组件的 2-范数上界决定,即 (\mathbb{E}[\mathbf{q}{[2k,2k+1]}^i \cdot \mathbf{k}{[2k,2k+1]}^j] \leq |\mathbf{q}{[2k,2k+1]}^i| |\mathbf{k}{[2k,2k+1]}^j|)。对于每个头 (h),我们计算每个子空间的平均 2-范数得分。

在这里插入图片描述

图 4:SVDsplit 和 SVDjoint 的示意图。在多头设置中,我们遵循标准的 MLA 方法,对合并的多头而不是每个头单独进行 SVD(例如,(\mathbf{U}{kv} \in \mathbb{R}^{nhd_h \times nhd{kv}}))。

在长序列的 LLM 中 4,我们建议按 2-范数得分对所有子空间进行排名并选择前 (r) 个:

S 2 -norm = top- r 0 ≤ k < d h 2 ( ∣ ∣ q ∗ [ 2 k , 2 k + 1 ] ∣ ∣ ∣ ∣ k ∗ [ 2 k , 2 k + 1 ] ∣ ∣ ) . \mathcal{S}_{2\text{-norm}} = \underset{0 \le k < \frac{d_h}{2}}{\text{top-}r} \left( \left| \left| \mathbf{q}_*^{[2k,2k+1]} \right| \right| \left| \left| \mathbf{k}_*^{[2k,2k+1]} \right| \right| \right). S2-norm=0k<2dhtop-r( q[2k,2k+1] k[2k,2k+1] ).

这种特定于头的选择自适应地保留了关键的旋转子空间。图 3 可视化了 Llama2-7B 四个头的 2-范数。

我们将在第 4.3 节 中分析这四种策略的有效性,并在附录 D 中对关键超参数 (r) 进行消融研究。对于所有策略,未选择的子空间((k \notin \mathcal{S}))成为 NoPE 维度,从而实现与 MLA 潜在压缩的无缝集成。

3.2 低秩近似

从全 RoPE 转换为部分 RoPE 后,我们获得了 MLA 中 KV 缓存的第一个组件,表示为:(\mathbf{k}{i,\text{rope}} = \sum{k \in \mathcal{S}} \mathbf{R}{[2k,2k+1]}^i (\theta_k) \mathbf{k}{[2k,2k+1]}^i)。我们的下一个目标是推导第二个组件 (\mathbf{c}{i,\text{kv}} \in \mathbb{R}^{d{\text{kv}}}),它作为 (\mathbf{k}_{i,\text{nope}}) 和 (\mathbf{v}_i) 的低秩表示。

给定 MHA 中的键 (\mathbf{k}_i = \mathbf{x}_i \mathbf{W}_k) 和值 (\mathbf{v}_i = \mathbf{x}_i \mathbf{W}v),我们首先提取 (\mathbf{W}k) 对应于 (\mathbf{k}{i,\text{nope}}) 的子空间,即不包括在 (\mathcal{S}) 中的维度,得到:(\mathbf{k}{i,\text{nope}} = \mathbf{x}i \mathbf{W}{k,\text{nope}})。我们提出了两种基于奇异值分解(SVD)的策略(如图 4 所示)来在实现秩减少的同时保留预训练知识:

解耦 SVD (SVDsplit) 分别将 (\mathbf{W}_{k,\text{nope}}) 和 (\mathbf{W}v) 分解为截断的 SVD,分别为每个分配 (d{\text{kv}}/2) 维度:

W k , nope = U k Σ k V k ⊤ , W v = U v Σ v V v ⊤ , \mathbf{W}_{k,\text{nope}} = \mathbf{U}_k \boldsymbol{\Sigma}_k \mathbf{V}_k^\top, \quad \mathbf{W}_v = \mathbf{U}_v \boldsymbol{\Sigma}_v \mathbf{V}_v^\top, Wk,nope=UkΣkVk,Wv=UvΣvVv,

其中 (\mathbf{U}_k, \mathbf{U}v, \mathbf{V}k, \mathbf{V}v \in \mathbb{R}^{d_h \times d{\text{kv}}/2}),(\boldsymbol{\Sigma}k, \boldsymbol{\Sigma}v \in \mathbb{R}^{d{\text{kv}}/2 \times d{\text{kv}}/2})。降维矩阵 (\mathbf{W}{dk}) 和升维矩阵 (\mathbf{W}{uk}) 变为:

W d k = U k Σ k 1 / 2 , W u k = Σ k 1 / 2 V k ⊤ , W d v = U v Σ v 1 / 2 , W u v = Σ v 1 / 2 V v ⊤ . \begin{aligned} \mathbf{W}_{dk} &= \mathbf{U}_k \boldsymbol{\Sigma}_k^{1/2}, \quad \mathbf{W}_{uk} = \boldsymbol{\Sigma}_k^{1/2} \mathbf{V}_k^\top, \\ \mathbf{W}_{dv} &= \mathbf{U}_v \boldsymbol{\Sigma}_v^{1/2}, \quad \mathbf{W}_{uv} = \boldsymbol{\Sigma}_v^{1/2} \mathbf{V}_v^\top. \end{aligned} WdkWdv=UkΣk1/2,Wuk=Σk1/2Vk,=UvΣv1/2,Wuv=Σv1/2Vv.

低秩表示 (\mathbf{c}{i,\text{kv}}) 可以使用 (\mathbf{c}{i,\text{kv}} = [\mathbf{x}i \mathbf{W}{dk}, \mathbf{x}i \mathbf{W}{dv}]) 构建。

联合 SVD (SVDjoint) 为了保留 (\mathbf{k}_{\text{nope}}) 和 (\mathbf{v}) 之间的交互,我们对连接的矩阵进行联合分解:

[ W k , nope , W v ] = U k v Σ k v V k v ⊤ , [\mathbf{W}_{k, \text{nope}}, \mathbf{W}_{v}] = \mathbf{U}_{kv} \boldsymbol{\Sigma}_{kv} \mathbf{V}_{kv}^\top, [Wk,nope,Wv]=UkvΣkvVkv,

其中 (\mathbf{U}{kv}, \mathbf{V}{kv} \in \mathbb{R}^{d_h \times d_{\text{kv}}}),(\boldsymbol{\Sigma}{kv} \in \mathbb{R}^{d{\text{kv}} \times d_{\text{kv}}})。潜在投影为:

W d k v = U k v Σ k v 1 / 2 , \mathbf{W}_{dkv} = \mathbf{U}_{kv} \boldsymbol{\Sigma}_{kv}^{1/2}, Wdkv=UkvΣkv1/2,

W u k = Σ k v 1 / 2 V k v [ : , : − d v ] , W u v = Σ k v 1 / 2 V k v [ : , d v : ] . \mathbf{W}_{uk} = \boldsymbol{\Sigma}_{kv}^{1/2} \mathbf{V}_{kv}[:, :-d_v], \quad \mathbf{W}_{uv} = \boldsymbol{\Sigma}_{kv}^{1/2} \mathbf{V}_{kv}[:, d_v: ]. Wuk=Σkv1/2Vkv[:,:dv],Wuv=Σkv1/2Vkv[:,dv:].

这同时优化了键和值的潜在空间,即 (\mathbf{c}_{i,\text{kv}} = \mathbf{x}i \mathbf{W}{dkv}),保留了自回归生成中关键的跨参数依赖关系 5。第 4.3 节 显示 SVDjoint 的表现优于 SVDsplit,验证了联合分解更好地保留了预训练知识。

4 实验

我们在不同规模的 LLM(SmolLM-135M/360M/1B7,Llama2-7B)上评估我们的方法,这些模型使用 MHA 或 GQA 进行预训练。我们选择了 SmolLM 系列 6,因为其预训练数据和框架都是开源的,可以最小化微调数据和过程的差距。我们选择了 Llama2-7B 7,因为它是最广泛使用的开源 LLM 之一(但其预训练数据不是开源的,微调数据可能存在潜在差距)。

42-范数计算细节见附录 A.

5MHA2MLA 的经济推理过程在附录 B. 中描述

6 https://huggingface.co/

6更多详细信息请参见 HuggingFace 模型库

HuggingFaceTB/smollm-6695016cad7167254ce15966 7 https://huggingface.co/meta-llama/Llama-2-7b

模型 令牌 KV 内存 平均 MMLU ARC PIQA HS OBQA WG
135MSmolLM 600B 44.50 29.80 42.43 68.06 41.09 33.60 52.01
- GQA
dkv = 128
44.25 29.82 42.05 68.34 41.03 33.20 51.07
dkv = 32 2.25B -68.75% 43.06 -1.19 29.50 40.48 66.59 37.99 33.80 49.96
- GQA2MLA
dkv = 16
(3.8‰) -81.25% 41.84 -2.41 28.66 39.95 65.02 36.04 31.60 49.80
dkv = 8 -87.50% 40.97 -3.28 28.37 38.04 64.69 33.58 30.80 50.36
360MSmolLM 600B 49.60 33.70 49.82 71.87 51.65 37.60 52.96
- GQA
dkv = 128
49.63 34.01 50.02 71.33 51.43 38.20 52.80
dkv = 32 2.25B -68.75% 47.91 -1.72 32.94 48.36 70.73 48.16 36.00 51.30
- GQA2MLA
dkv = 16
(3.8‰) -81.25% 46.94 -2.69 31.55 45.73 70.51 45.80 36.60 51.46
dkv = 8 -87.50% 45.04 -4.59 30.54 43.33 68.50 42.83 35.00 50.04
1B7SmolLM 1T 55.90 39.27 59.87 75.73 62.93 42.80 54.85
- MHA
dkv = 128
55.93 39.11 59.19 75.95 62.92 43.40 55.09
dkv = 32 6B -68.75% 54.76 -1.17 38.11 57.13 76.12 61.35 42.00 53.83
- MHA2MLA
dkv = 16
(6.0‰) -81.25% 54.65 -1.28 37.87 56.81 75.84 60.41 42.60 54.38
dkv = 8 -87.50% 53.61 -2.32 37.17 55.50 74.86 58.55 41.20 54.38
7BLlama2 2T 59.85 41.43 59.24 78.40 73.29 41.80 64.96
- MHA
dkv = 256
60.22 41.63 60.89 77.80 71.98 45.00 63.38
dkv = 64 6B -68.75% 59.51 -0.71 41.36 59.51 77.37 71.72 44.20 62.90
- MHA2MLA
dkv = 32
(3.0‰) -81.25% 59.61 -0.61 40.86 59.74 77.75 70.75 45.60 62.98
dkv = 16 -87.50% 58.96 -1.26 40.39 59.29 77.75 69.70 43.40 63.22

表 1:四个 LLM 在 MHA2MLA 或 GQA2MLA 下的常识推理能力。六个基准测试包括 MMLU (2021),ARC easy 和 challenge (ARC, 2018),PIQA (2020),HellaSwag (HS, 2019),OpenBookQA (OBQA, 2018),Winogrande (WG, 2021)

我们分别用 MHA2MLA 和 GQA2MLA 表示架构迁移8。两者均采用 数据高效的全参数微调,默认配置为部分 RoPE 的头级 2-范数选择(S2-norm, r = dh/16)和低秩近似的联合 SVD 分解(SVDjoint)。我们的实验旨在解决以下三个关键问题:

  1. MHA2MLA 如何最小化由架构转换引起的准确性下降?
  2. MHA2MLA 在 KV 缓存减少比率方面实现了什么?
  3. MHA2MLA 能否与 KV 缓存量化结合以实现复合增益?
4.1 常识推理任务

主要结果如表1所示,我们的方法在不同的 KV 缓存压缩比(通过潜在维度 dkv)下,在四个模型规模(135M 到 7B)上实现了高效的架构迁移。首先,当我们比较微调方法与原始 LLM 的性能时,观察到四个基础模型的性能变化很小:135M 减少了 -0.25%,360M 增加了 +0.03%,1B7 增加了 +0.03%,7B 增加了 +0.37%。这表明微调数据不会显著降低或提高原始模型的性能,为 MHA2MLA 框架提供了适当的实验设置。

随着 dkv 的减小(例如从 32 到 16 再到 8),KV 缓存减少增加(即从 -68.75% 到 -81.25% 再到 -87.5%),但通过微调恢复性能损失变得更加困难。图5显示了不同压缩比下 135M(代表 GQA)和 7B(代表 MHA)的微调损失曲线。随着压缩比的增加,与基线的损失差异变大。此外,我们观察到损失曲线的波动趋势几乎相同,表明我们的架构迁移没有显著损害模型的内部知识。

我们还发现,较大的模型在转换到 MLA 架构时经历的性能下降较少。例如,在压缩至 18.75% 的情况下,135M 的性能下降了 2.41%,360M 下降了 2.69%,1B7 下降了 1.28%,7B 下降了 0.61%,揭示了 MHA2MLA 的潜在缩放规律。最后,从 135M 模型到 7B 模型,微调所需的令牌数量仅为预训练令牌的约 0.3% 到 0.6%,展示了我们方法的数据效率。

总体而言,无论是使用 GQA2MLA 还是 MHA2MLA,架构转换都以最小的成本实现,从而实现了高效且经济的推理。

8微调过程的详细信息(包括数据和超参数)在附录C.中提供。

在这里插入图片描述

图5:不同 KV 缓存存储比率下的微调损失曲线(颜色从浅到深分别代表 12.5%、18.75%、31.25% 和 100%)。

4.2 长上下文任务

为了评估模型的生成能力,我们采用 LongBench (Bai et al., 2024) 作为生成性能的基准。所有模型均使用贪婪解码策略进行测试。上下文窗口大小基于模型微调期间使用的序列长度确定。我们使用 HQQ (Badri and Shaji, 2023) 和 Quanto9 设置具有不同精度级别的缓存,以评估原始模型的性能作为基线。由于我们的方法与 KV 缓存量化兼容,我们还进行了额外的实验来评估两种方法的综合效果。

主要结果如表2所示,MHA2MLA 在 LongBench 上实现了与后训练量化方法相比具有竞争力或更优的效率-准确性配置文件。虽然 4 位量化在相似的压缩比下仅导致轻微的性能下降(-0.2% 至 -0.4%),但激进的 2 位量化尽管实现了 87.5% 的 KV 缓存减少,却遭受严重的性能崩溃(-6.2% 至 -9%)。相比之下,MHA2MLA 单独实现了 87.5% 的压缩(在 dkv = 16 时)仅有 3% 的准确性损失,并进一步与 4 位量化协同作用,达到 92.19%/96.87% 的压缩(dkv = 64/16+Int4HQQ),同时将性能下降限制在 -0.5%/-3.2%,优于所有 2 位基线。这突显了 MHA2MLA 的潜在空间设计与数值精度降低保持正交性,能够实现复合效率增益。

模型 精度 KV内存平均@LB
7BLlama2 BF16 100.0% 27.4
Int4HQQ 27.5
Int4Quanto -75.00% 27.3
Int2HQQ 21.2
Int2Quanto -87.50% 18.5
BF16 -68.75% 27.1
dkv
= 64
Int4HQQ 26.9
Int4Quanto -92.19% 26.8
BF16 -81.25% 26.3
dkv
= 32
Int4HQQ 26.1
Int4Quanto -95.31% 26.1
BF16 -87.50% 24.4
dkv
= 16
Int4HQQ 24.2
Int4Quanto -96.87% 23.4
4.3 消融研究

四种部分 RoPE 策略:Shigh、Slow、Suniform、S2-norm

表3展示了将全 RoPE 转换为部分 RoPE 的四种策略的结果。首先,当比较这四种策略与全 RoPE 时,我们观察到低频保留策略 Slow 导致了最大的性能损失(135M 模型下降 -6.49%,1B7 模型下降 -1.21%),而高频保留策略 Shigh 的性能下降显著较小(135M 模型下降 -0.85%,1B7 模型下降 -0.76%),强调了高频子空间的重要性。Suniform 和 S2-norm 都表现更好,其中 Suniform 在整个频谱范围内保留子空间,而 S2-norm 则根据子空间对注意力分数的贡献来保留子空间。我们选择 S2-norm 作为默认配置,因为移除的子空间(即 NoPE)更适合基于 SVD 的低秩近似。

两种基于 SVD 的低秩近似方法:SVDsplit、SVDjoint

表3中每组的最后两行比较了这两种 SVD 方法的效果。实验结果表明,在135M和1B7两个模型上,SVDjoint 方法始终优于 SVDsplit 方法。具体而言,在135M模型上,SVDjoint 的平均性能提升了0.92%,而在1B7模型上,其平均性能提升了0.74%。这说明 SVDjoint 是更优的选择。

模型 令牌数 平均@CS
135MSmolLM 600B 44.50
- 全RoPE 44.25
- Shigh 43.40 -0.85
- Slow 2.25B 37.76 -6.49
- Suniform 43.76 -0.49
- S2-norm 43.77 -0.48
- Shigh + SVDjoint 41.04 -3.21
- Suniform + SVDjoint
- S2-norm + SVDjoint
2.25B 41.77 -2.48
41.84 -2.41
- S2-norm + SVDsplit 40.92 -3.33
1B7SmolLM 1T 55.90
- 全RoPE 55.93
- Shigh 55.17 -0.76
- Slow 6B 54.72 -1.21
- Suniform 55.31 -0.62
- S2-norm 55.10 -0.83
- Shigh + SVDjoint 54.41 -1.52
- Suniform + SVDjoint 6B 54.30 -1.63
- S2-norm + SVDjoint
- S2-norm + SVDsplit
54.65 -1.28
53.91 -2.02

表3:消融研究的推理能力。其他模型的结果见附录E.

5 相关工作

高效的注意力架构

标准的多头注意力机制(MHA, 2017) 在上下文长度上的二次复杂度激发了许多效率创新。尽管MHA仍然是基础,但像多查询注意力(MQA)和分组查询注意力(GQA, 2023) 这样的变体通过在头之间共享键/值来减少内存开销——尽管以参数剪枝和性能下降为代价。并行的努力,如线性变换器 (Guo et al., 2019; Katharopoulos et al., 2020; Choromanski et al., 2021),RWKV (Peng et al., 2023) 和 Mamba (Gu and Dao, 2023),用线性递归或状态空间模型替代softmax注意力,但在自回归生成方面难以匹敌标准注意力的表达能力。

多头潜在注意力(MLA, 2024) 通过将KV缓存压缩为低秩潜在向量而不剪枝注意力参数来区别于其他方法。我们的工作将MLA与主流架构(MHA/GQA)结合,通过数据高效微调实现无缝迁移。值得注意的是,尽管许多线性注意力变体放弃了softmax查询-键交互(例如,通过核近似),但保留查询-键点积结构的架构——即使是在因式分解形式下——仍然与我们的MHA2MLA框架兼容。

经济型键值缓存

KV缓存的内存占用已成为长上下文推理的关键瓶颈。最近的进展可以分为三类:

  • 创新架构 方法如MLA (DeepSeek-AI等, 2024),MiniCache (Liu等, 2024a) 和 MLKV (Zuhri等, 2024) 在层或头之间共享或压缩KV表示。虽然有效,但跨层共享可能会混淆不同的注意力模式,可能损害特定任务的性能。只有MLA在Deepseek的LLM中得到了成功验证。)](#page-9-13) 通过以低比特格式(例如2比特)存储KV缓存,实现了内存节省,但同时也带来了精度损失。

动态剪枝方法如A2SF (Jo和Shin, 2024) 和 SnapKV (Li等, 2024) 从KV缓存中移除“不太重要”的令牌。然而,这种令牌剪枝可能会丢弃关键的长距离依赖关系。头剪枝方法,例如SliceGPT (Ashkboos等, 2024)、Sheared (Xia等, 2024) 和 Simple Pruning (Sun等, 2024),虽然可以减少模型容量,但这种减少是不可逆的。

我们的MHA2MLA方法不仅实现了标准Transformer基础的LLM向更经济的MLA架构的迁移,还展示了与KV量化技术集成的能力,从而实现约97%的缓存节省。此外,该方法在理论上也与其他压缩技术如剪枝兼容。

6 结论

本研究解决了将预训练的基于MHA的LLM(或其变体)适应到KV缓存高效的MLA架构的关键挑战。通过引入具有贡献感知的部分RoPE移除和SVD驱动的低秩投影的MHA2MLA,我们在仅需3‰至6‰的训练数据的情况下,实现了近乎无损的KV缓存压缩(对于Llama2-7B,最多可减少96.87%的大小)。该框架展示了与现有压缩技术的强大兼容性,并保持了常识推理和长上下文处理能力,为部署资源高效的LLM提供了一条实用途径,而不牺牲性能。我们的结果强调了通过有针对性的参数重用和数据高效微调进行LLM架构迁移的可行性。

局限性

在更多LLM上的验证
尽管MHA2MLA可以显著降低推理成本,但在更大和更多样化的开源LLM上进行验证仍然值得。然而,受限于计算资源,像Llama3这样的模型需要在128K上下文长度上进行微调以缓解持续训练带来的性能下降,因此我们没有进行此类实验。此外,由于Deepseek尚未开源MLA的张量并行推理框架,目前难以探索大于7B的模型。这将在我们未来的工作中解决。

参数高效的MHA2MLA微调

本文主要关注MHA2MLA的数据效率。由于架构转换不涉及前馈(FFN)模块,未来的工作可以探索参数高效的MHA2MLA微调,例如冻结FFN模块和/或冻结对应于保留RoPE的查询和键中的参数。这可以进一步降低MHA2MLA过渡的成本。

参考文献

  • Joshua Ainslie, James Lee-Thorp, Michiel de Jong, Yury Zemlyanskiy, Federico Lebrón, and Sumit Sanghai. 2023. GQA: training generalized multi-query transformer models from multi-head checkpoints. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, EMNLP 2023, Singapore, December 6-10, 2023, pages 4895–4901. Association for Computational Linguistics.

  • Chenxin An, Shansan Gong, Ming Zhong, Xingjian Zhao, Mukai Li, Jun Zhang, Lingpeng Kong, and Xipeng Qiu. 2024. L-eval: Instituting standardized evaluation for long context language models. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), ACL 2024, Bangkok, Thailand, August 11- 16, 2024, pages 14388–14411. 计算语言学协会。

  • Saleh Ashkboos, Maximilian L. Croci, Marcelo Gennari Do Nascimento, Torsten Hoefler, and James Hensman. 2024. SliceGPT: Compressing Large Language Models by Deleting Rows and Columns. In The Twelfth International Conference on Learning Representations, ICLR 2024, Vienna, Austria, May 7-11, 2024. OpenReview.net.

  • Hicham Badri and Appu Shaji. 2023. Hierarchical Quadratic Quantization for Large Machine Learning Models.

  • 白宇石, 吕鑫, 张佳杰, 吕洪昌, 唐健凯, 黄志典, 杜正晓, 刘晓, 曾傲寒, 侯磊, 董玉晓, 唐杰, 李娟子. 2024. Longbench: A Bilingual Multi-Task Benchmark for Long Context Understanding. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), ACL 2024, Bangkok, Thailand, August 11-16, 2024, pages 3119-3137. 计算语言学协会。scanu, 和 Petar Velickovic。2024。循环往复!旋转位置编码有何用处? CoRR, abs/2410.06205。

  • Yonatan Bisk, Rowan Zellers, Ronan Le Bras, 高建峰, 和 Choi Yejin。2020。PIQA:自然语言中的物理常识推理。在第三十四届人工智能促进协会会议,AAAI 2020,第三十二届人工智能应用创新会议,IAAI 2020,第十届人工智能教育进展研讨会,EAAI 2020,美国纽约,2020年2月7日至12日,第7432-7439页。AAAI出版社。

  • Sid Black, Leo Gao, Phil Wang, Connor Leahy, 和 Stella Biderman。2021。GPT-Neo:使用Mesh-Tensorflow的大规模自回归语言建模。如果您使用此软件,请使用这些元数据引用它。

  • Krzysztof Marcin Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamás Sarlós, Peter Hawkins, Jared Quincy Davis, Afroz Mohiuddin, Lukasz Kaiser, David Benjamin Belanger, Lucy J. Colwell, 和 Adrian Weller。2021。重新思考注意力机制与Performers。在第九届国际学习表示会议,ICLR 2021,虚拟会议,奥地利,2021年5月3日至7日。OpenReview.net。

  • Peter Clark, Isaac Cowhey, Oren Etzioni, Tushar Khot, Ashish Sabharwal, Carissa Schoenick, 和 Oyvind Tafjord。2018。认为你已经解决了问答问题?试试ARC,AI2推理挑战CoRR, abs/1803.05457。

  • DeepSeek-AI, 刘爱欣, 冯蓓, 王斌, 王冰轩, 刘波, 赵成刚, 邓成琪, 阮聪, 戴达迈, 郭大亚, 杨德坚, 陈德利, 纪东杰, 李尔航, 林方云, 罗富力, 郝光波, 陈冠廷, 李国伟, 张浩, 徐汉威, 杨浩, 张浩伟, 丁宏辉, 辛华健, 高华卓, 李辉, 屈慧, Cai J. L., 梁建, 郭建忠, 倪家琦, 李嘉石, 陈金, 袁景阳, 邱俊杰, 宋俊骁, 董凯, 高凯歌, 关康, 王乐, 张乐聪, 徐雷, 夏乐曦, 赵亮, 张丽月, 李萌, 王妙君, 张明川, 张明华, 唐明辉, 李明明, 田宁, 黄盼盼, 王佩怡, 张鹏, 朱启豪, 陈沁宇, 杜秋实, 陈R. J., 金R. L., 葛瑞琪, 潘瑞哲, 徐润新, 陈如意, 李S. S., 卢尚皓, 周上岩, 陈山煌, 吴少青, 叶胜丰, 马世荣, 王诗雨, 周爽, 余水萍, 周顺风, 郑思泽, 王涛, 裴天, 元天, 孙天宇, 肖W. L., 曾王定, 安伟, 刘文, 梁文峰, 高文军, 张文涛, 李X. Q., 金向岳, 王先祖, 毕小, 刘晓东, 王晓涵, 沈小金, 陈晓康, 陈晓莎, 聂小涛, 孙晓雯。2024。Deepseek-v2:一个强大、经济且高效的混合专家语言模型CoRR, abs/2405.04434。

  • Elias Frantar, Saleh Ashkboos, Torsten Hoefler, 和 Dan Alistarh。2022。GPTQ:生成预训练变换器的精确后训练量化CoRR, abs/2210.17323。

  • Albert Gu 和 Tri Dao。2023。Mamba:具有选择性状态空间的线性时间序列建模CoRR, abs/2312.00752。

  • 郭启鹏, 邱锡鹏, 刘鹏飞, 邵云帆, 薛向阳, 张正。2019。Star Transformer。在2019年北美计算语言学协会会议:人类语言技术,NAACL-HLT 2019,美国明尼苏达州明尼阿波利斯,2019年6月2日至7日,第一卷(长论文和短论文),第1315-1325页。计算语言学协会。

  • Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, 和 Jacob Steinhardt。2021。大规模多任务语言理解的测量。在第九届国际学习表示会议,ICLR 2021,虚拟会议,奥地利,2021年5月3日至7日。OpenReview.net。

  • Hyun-rae Jo 和 Dongkun Shin。2024。A2SF:带遗忘因子的累积注意力评分CoRR, abs/2410.06205。org/10.48550/ARXIV.2410.06205)。CoRR, abs/2410.06205。

  • Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, 和 Dario Amodei。2020。神经语言模型的缩放定律CoRR, abs/2001.08361。

  • Angelos Katharopoulos, Apoorv Vyas, Nikolaos Pappas, 和 François Fleuret。2020。变换器是RNN:具有线性注意力的快速自回归变换器。在第37届国际机器学习会议,ICML 2020,2020年7月13日至18日,虚拟会议机器学习研究进展第119卷,第5156-5165页。PMLR。

  • 李宇宏,黄英兵,杨博文,Bharat Venkitesh, Acyr Locatelli, 叶涵辰, 蔡天乐, Patrick Lewis, 和陈德明。2024。SnapKV:LLM在生成前就知道你在寻找什么。在神经信息处理系统进展38:2024年神经信息处理系统年度会议,NeurIPS 2024,加拿大不列颠哥伦比亚省温哥华,2024年12月10日至15日

  • Akide Liu, Jing Liu, Zizheng Pan, Yefei He, Reza Haffari, 和 Bohan Zhuang。2024a。MiniCache:大型语言模型深度维度中的KV缓存压缩。在神经信息处理系统进展38:2024年神经信息处理系统年度会议,NeurIPS 2024,加拿大不列颠哥伦比亚省温哥华,2024年12月10日至15日

  • 刘子瑞, 袁嘉怡, 金鸿业, 钟少臣, 徐兆卓, Vladimir Braverman, 陈贝迪, 和胡夏。2024b。KIVI:一种无需调优的不对称2比特KV缓存量化方法。在第四十一届国际机器学习会议,ICML 2024,奥地利维也纳,2024年7月21日至27日。OpenReview.net。

  • Todor Mihaylov, Peter Clark, Tushar Khot, 和 Ashish Sabharwal。2018。盔甲能导电吗?一个新的开放式问答数据集。在2018年自然语言处理实证方法会议,比利时布鲁塞尔,2018年10月31日至11月4日,第2381-2391页。计算语言学协会。

  • 彭博, Eric Alcaide, Quentin Anthony, Alon Albalak, Samuel Arcadinho, Stella Biderman, 曹桓琪, 程鑫, Michael Chung, Leon Derczynski, 杜星健, Matteo Grella, Kranthi Kiran GV, 何旭正, 侯浩文, Przemyslaw Kazienko, Jan Kocon, 孔嘉明, Bartlomiej Koptyra, 刘海登, 林家举, Krishna Sri Ipsit Mantri, Ferdinand Mom, 斯直树, 宋光宇, 唐向如, Johan S. Wind, Stanislaw Wozniak, 张振元, 周庆华, 朱建, 和朱瑞杰。2023。RWKV: 为变换器重新发明RNN。在计算语言学协会发现:EMNLP 2023, 新加坡, 2023年12月6日至10日,第14048-14077页。计算语言学协会。

  • Keisuke Sakaguchi, Ronan Le Bras, Chandra Bhagavatula, 和 Yejin Choi。2021。Winogrande: 大规模的对抗性温诺格拉德模式挑战Commun. ACM, 64(9):99–106。

  • Noam Shazeer。2019。快速变换器解码:一个写头就足够了CoRR, abs/1911.02150。

  • 盛颖, 郑连敏, 袁斌航, 李卓翰, Max Ryabinin, 陈贝迪, Percy Liang, Christopher Ré, Ion Stoica, 和张策。2023。Flexgen: 使用单个GPU进行高吞吐量的大规模语言模型生成推理。在国际机器学习会议, ICML 2023, 2023年7月23日至29日, 美国夏威夷檀香山机器学习研究进展第202卷,第31094-31116页。PMLR。

  • Emma Strubell, Ananya Ganesh, 和 Andrew McCallum。深度学习在自然语言处理中的能源和政策考虑。在计算语言学协会第57届年会论文集,第3645-3650页,意大利佛罗伦萨。计算语言学协会。

  • 苏建林, Murtadha H. M. Ahmed, 陆宇, 潘胜峰, 文波, 和刘云峰。2024。Roformer: 增强的旋转位置嵌入变换器神经计算, 568:127063。

  • Mingjie Sun, Zhuang Liu, Anna Bair, 和 J. Zico Kolter。2024。一种简单有效的大型语言模型剪枝方法。在第十二届国际学习表示会议, ICLR 2024, 奥地利维也纳, 2024年5月7日至11日。OpenReview.net。

  • Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, 和 Illia Polosukhin。2017。注意力就是你所需要的。在神经信息处理系统进展30:2017年神经信息处理系统年度会议, 2017年12月4日至9日, 美国加利福尼亚州长滩,第5998-6008页。

  • Mengzhou Xia, Tianyu Gao, Zhiyuan Zeng, 和 Danqi Chen。2024。Sheared llama: 通过结构化剪枝加速语言模型预训练。在第十二届国际学习表示会议, ICLR 2024, 奥地利维也纳, 2024年5月7日至11日。OpenReview.net。

  • Rowan Zellers, Ari Holtzman, Yonatan Bisk, Ali Farhadi, 和 Yejin Choi。2019。Hellaswag: 机器真的能完成你的句子吗?。在计算语言学协会第57届会议论文集, ACL 2019, 意大利佛罗伦萨, 2019年7月28日至8月2日, 第1卷: 长论文,第4791-4800页。计算语言学协会。

  • Zayd Muhammad Kawakibi Zuhri, Muhammad Farid Adilazuarda, Ayu Purwarianti, 和 Alham Fikri Aji。2024。MLKV: 多层键值头以实现高效的变换器解码CoRR, abs/2406.09297。

A 2-范数得分的计算

为了计算每个注意力头的2-范数得分,我们从训练数据集中选择了1,024个样本。在2-范数计算过程中使用的子集比例和序列长度与微调时使用的一致。首先,我们计算每个注意力头的查询向量和键向量。然后,对于这些向量的每个旋转子空间,我们计算2-范数得分。最后,在每个子空间内聚合查询向量和键向量的2-范数得分。如果模型使用了分组查询注意力(GQA),则在每个GQA组内对2-范数得分进行平均,并在各组之间共享得分。

B MHA2MLA的推理过程

在MHA2MLA模型的推理过程中,我们的输入包括第i个标记的隐藏表示 (\boldsymbol{x}i),以及前i-1个标记在KV缓存中存储的 (\boldsymbol{k}{\leq i, \text{rope}}^{(h)}) 和 (\boldsymbol{c}_{\leq i, \text{kv}})。

在推理过程中,我们的目标是计算第h个头的这两部分 (\boldsymbol{q}{i, \text{rope}}^{(h)} \boldsymbol{k}{\leq i, \text{rope}}^{(h)\top}) 和 (\boldsymbol{q}{i, \text{nope}}^{(h)} \boldsymbol{k}{\leq i, \text{nope}}^{(h)\top}) 的点积。对于RoPE部分,我们可以轻松地从预训练参数矩阵 (\boldsymbol{W}{q}^{(h)}) 和 (\boldsymbol{W}{k}^{(h)}) 中提取 (\boldsymbol{W}{q, \text{rope}}^{(h)}) 和 (\boldsymbol{W}{k, \text{rope}}^{(h)})(即保留RoPE的子空间对应的行),然后通过线性变换得到结果:

q i , rope ( h ) = x i W q , rope ( h ) k i , rope ( h ) = x i W k , rope ( h ) k ≤ i , rope ( h ) = [ k 1 , rope ( h ) , k 2 , rope ( h ) , … , k i , rope ( h ) ] \begin{aligned} \boldsymbol{q}_{i, \text{rope}}^{(h)} &= \boldsymbol{x}_i \boldsymbol{W}_{q, \text{rope}}^{(h)} \\ \boldsymbol{k}_{i, \text{rope}}^{(h)} &= \boldsymbol{x}_i \boldsymbol{W}_{k, \text{rope}}^{(h)} \\ \boldsymbol{k}_{\leq i, \text{rope}}^{(h)} &= [\boldsymbol{k}_{1, \text{rope}}^{(h)}, \boldsymbol{k}_{2, \text{rope}}^{(h)}, \ldots, \boldsymbol{k}_{i, \text{rope}}^{(h)}] \end{aligned} qi,rope(h)ki,rope(h)ki,rope(h)=xiWq,rope(h)=xiWk,rope(h)=[k1,rope(h),k2,rope(h),,ki,rope(h)]

注意,(\boldsymbol{k}_{\leq i, \text{rope}}^{(h)}) 已经存储在KV缓存中,可以直接检索。

对于NoPE部分,(\boldsymbol{q}{i, \text{nope}}^{(h)}) 仍然可以通过从预训练参数矩阵 (\boldsymbol{W}{q}^{(h)}) 中分离出对应于去除RoPE的子空间的行来轻松获得。然而,(\boldsymbol{k}{i, \text{nope}}^{(h)}) 需要两次线性变换:一次是使用 (\boldsymbol{W}{\text{dkv}}) 进行降维变换,另一次是使用 (\boldsymbol{W}{\text{uk}}^{(h)}) 进行升维变换。W}{\text{uk}}^{(h)}) 都受到预训练参数矩阵 (\boldsymbol{W}{k,\text{nope}}^{(h)}) 和 (\boldsymbol{W}{v}^{(h)}) 的SVD分解的约束,以保留大部分预训练知识。具体来说:

q i , nope ( h ) = x i W q , nope ( h ) , c i , k v = x i W dkv , k i , nope ( h ) = c i , k v W uk ( h ) . \begin{aligned} \mathbf{q}_{i,\text{nope}}^{(h)} &= x_i \mathbf{W}_{q,\text{nope}}^{(h)}, \\ \mathbf{c}_{i,kv} &= x_i \mathbf{W}_{\text{dkv}}, \\ \mathbf{k}_{i,\text{nope}}^{(h)} &= \mathbf{c}_{i,kv} \mathbf{W}_{\text{uk}}^{(h)}. \end{aligned} qi,nope(h)ci,kvki,nope(h)=xiWq,nope(h),=xiWdkv,=ci,kvWuk(h).

在推理过程中,NoPE部分可以通过标准的MLA矩阵合并算法来减少内存消耗。具体而言,我们可以预先计算参数矩阵 (\mathbf{W}{q,\text{nope}}^{(h)} \mathbf{W}{\text{uk}}^{(h)\top}),并令 (\mathbf{c}{i,q}^{(h)} = x_i (\mathbf{W}{q,\text{nope}}^{(h)} \mathbf{W}_{\text{uk}}^{(h)\top}))。最终,MHA2MLA的输出如下:

v i ( h ) = … , σ i ( h ) = Softmax ( q i , rope ( h ) k ≤ i , rope ( h ) ⊤ + c i , q ( h ) c ≤ i , k v ⊤ ) c ≤ i , k v , MHA2MLA ( x i ) = [ … σ i ( h ) W uv ( h ) , …   ] W o . \begin{aligned} \boldsymbol{v}_{i}^{(h)} &= \dots, \\ \boldsymbol{\sigma}_{i}^{(h)} &= \text{Softmax}\left(\boldsymbol{q}_{i,\text{rope}}^{(h)} \boldsymbol{k}_{\leq i,\text{rope}}^{(h)\top} + \boldsymbol{c}_{i,q}^{(h)} \boldsymbol{c}_{\leq i,kv}^{\top}\right) \boldsymbol{c}_{\leq i,kv}, \\ \text{MHA2MLA}(\boldsymbol{x}_{i}) &= \left[\dots \boldsymbol{\sigma}_{i}^{(h)} \boldsymbol{W}_{\text{uv}}^{(h)}, \dots\right] \boldsymbol{W}_{o}. \end{aligned} vi(h)σi(h)MHA2MLA(xi)=,=Softmax(qi,rope(h)ki,rope(h)+ci,q(h)ci,kv)ci,kv,=[σi(h)Wuv(h),]Wo.

其中,(\boldsymbol{W}{\text{uv}}^{(h)}) 和 (\boldsymbol{W}{o}) 也可以进行矩阵合并,以进一步优化推理过程。

为什么MHA2MLA不像DeepSeek那样对查询进行低秩表示?首先,我们发现即使不将 (\boldsymbol{W}{q,\text{nope}}^{(h)}) 分解为降维矩阵(例如 (\boldsymbol{W}{\text{dq}}))和升维矩阵(例如 (\boldsymbol{W}{\text{uq}}^{(h)})),MLA的经济推理也不会受到影响。其次,分解 (\boldsymbol{W}{q,\text{nope}}^{(h)}) 会引入额外的架构迁移损失(近似损失),并进一步减少LLM的参数数量。因此,我们认为在MHA2MLA框架内没有必要分解 (\boldsymbol{W}_{q,\text{nope}}^{(h)})。

C 微调的细节

数据 我们使用SmolLM10的预训练语料库对模型进行微调。该数据集包括fineweb-edu-dedup、cosmopedia-v2、python-edu、open-web-math和StackOverflow。前三者是HuggingFaceTB整理的smollm-corpus11的一部分。Fineweb-edu-dedup是从教育相关网页中过滤出的高质量数据集。类似地,HuggingFaceTB从The Stack中筛选Python代码片段构建了python-edu数据集。Cosmopedia-v2是基于BISAC图书分类定义的34,000个主题生成的高质量数据集。此外,openweb-math12和StackOverflow13分别来自高质量的在线数学文本和StackOverflow上的帖子。

超参数 所有大小模型的微调超参数列于表4.中。训练过程采用先升温后衰减的策略。采用1-sqrt衰减策略以确保平滑和逐渐减少。

D 部分RoPE维度的消融研究

为了更好地确定部分RoPE的策略和维度,我们使用135MSmolLM模型对RoPE维度的数量进行了消融研究。实验结果如表5.所示。通过比较不同维度下四种不同策略的表现,我们观察到当维度较低(≤ 4)时,低频策略Slow的性能显著下降(-14.7%)。相比之下,Suniform和S2-norm无论维度如何都表现出一致的优越性能。此外,将维度从4增加到8带来的性能提升微乎其微。基于这些发现,我们选择了4作为部分RoPE的维度。

E 详细结果

在本节中,我们将展示详细的实验结果。

详细的LongBench评估见表6.

详细的消融实验结果见表7.

11 https://huggingface.co/datasets/HuggingFaceTB/smollm-corpus

open-web-math/open-web-math

10 https://huggingface.co/blog/smollm

12 https://huggingface.co/datasets/open-web-math/open-web-math

13 https://huggingface.co/datasets/bigcode/stackoverflow-clean2 |
|-------------------------|------------|------------|-------------|-------------|
| n_batch × n_gpu | 16×4 | 16×4 | 32×8 | 16×16 |
| 学习率 | 1e-4 | 1e-4 | 1e-4 | 1e-4 |
| 硬件 | RTX3090 | RTX3090 | NVIDIA L20Y | NVIDIA L20Y |
| 步数 | 18000 | 18000 | 12000 | 12000 |
| 预热比例 | 5.0% | 5.0% | 8.3% | 8.3% |
| 衰减 | 10% | 10% | 16.7% | 16.7% |
| 时间 | 6h | 12h | 16h | 28h |
| 序列长度 | 2048 | 2048 | 2048 | 4096 |
| dkv = 128/256† | 134.52M | 361.82M | 1.71B | 6.61B† |
| dkv = 32/64† | 130.99M | 351.38M | 1.67B | 6.37B† |
| 参数数量
dkv = 16/32† | 129.64M | 347.38M | 1.59B | 5.99B† |
| dkv = 8/16† | 128.97M | 345.39M | 1.56B | 5.79B† |

表4:不同模型的训练详细信息。

模型 平均 MMLU ARC PIQA HS OBQA WG
135M r=32 44.25 29.82 42.05 68.34 41.03 33.20 51.07
- NoPE r=0 38.99 -5.26 27.03 34.23 62.68 31.89 29.40 48.70
r=2 42.86 -1.39 29.58 40.91 66.54 38.48 32.00 49.64
- Shigh r=4 43.40 -0.85 29.90 41.15 66.92 39.34 32.60 50.51
r=8 43.56 -0.69 29.90 40.89 67.63 40.41 32.20 50.36
r=2 37.94 -6.31 26.95 33.56 60.28 31.51 27.80 47.51
- Slow r=4 37.76 -6.49 27.11 32.06 59.79 30.68 28.40 48.54
r=8 42.54 -1.71 29.34 39.58 67.36 37.86 32.00 49.09
r=2 43.16 -1.09 29.89 41.80 66.27 38.78 32.40 49.80
- Suniform r=4 43.76 -0.49 29.87 41.29 67.36 40.22 32.80 50.99
r=8 43.74 -0.51 29.95 40.81 67.19 40.47 32.60 51.38
r=2 43.13 -1.12 29.75 40.13 67.25 39.03 32.80 49.80
- S2-norm r=4 43.77 -0.48 30.14 41.69 67.57 39.53 33.00 50.67
r=8 43.88 -0.37 29.91 41.35 67.74 40.40 33.40 50.51

表5:位置编码维度对模型性能的影响。


在这里插入图片描述

图6:在不同KV缓存存储比率下的微调损失曲线(颜色从浅到深分别代表12.5%、18.75%、31.25%和100%)。


其他微调损失的可视化
我们在图6中展示了除正文提到的模型外,另外两个模型的微调损失。具体而言,图6显示了MHA2MLA: SmolLM-1B7和GQA2MLA: SmolLM-135M在不同KV缓存存储比率下的微调损失曲线。这些曲线有助于我们理解不同设置下模型性能的变化情况。具体而言,图6显示了MHA2MLA: SmolLM-1B7和GQA2MLA: SmolLM-135M在不同KV缓存存储比率下的微调损失曲线。这些曲线有助于我们理解不同设置下模型性能的变化情况。

我们观察到随着微调的进行,我们的方法与基线之间的损失差距逐渐减小,并且两者表现出类似的波动,证明了我们方法的有效性。在图7中,我们展示了不同部分RoPE策略下的损失。除了Slow之外,其他三种部分RoPE方案与基线几乎没有差异。此外,


在这里插入图片描述

图8:S2-范数与不同SVD策略组合下的微调损失曲线。

Slow有更高的收敛失败概率。在图8中,我们展示了不同SVD策略下的损失。在1B7SmolLM和135MSmolLM上的损失曲线表明,SVDjoint优于SVDsplit。

dkv 精度 KV 平均 S-文档问答 M-文档问答
摘要
少样本 合成 代码
A B C D E F G H I J K L M N O P
7BLlama2 (长度=4K)
BF16 100.0% 27.4 15.1 9.6 21.1 7.5 9.7 3.7 26.7 20.5 3.2 65.5 87.5 34.1 1.9 6.6 66.5 59.4
Int4HQQ 27.5 16.1 9.1 22.0 7.3 9.9 3.6 26.5 21.1 3.4 65.5 87.2 34.3 1.5 6.7 66.0 59.9
Int4Quanto -75.00% 27.3 14.4 9.5 20.5 7.5 9.7 3.5 25.8 20.7 3.1 65.5 87.7 34.3 1.4 7.3 66.8 59.3
Int2HQQ -87.50% 21.2 18.0 5.5 12.6 7.5 8.4 3.2 12.6 18.6 0.9 56.5 73.3 27.0 1.8 6.1 34.5 52.9
Int2Quanto 18.5 9.4 6.2 12.7 6.8 6.7 3.3 5.9 17.2 0.4 61.0 63.9 26.0 1.4 2.5
------------ ------------ ------------ ------------ ------------ ------------ ------------ --------------- ------------ ---------------------- ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------
BF16 -68.75% 27.1 13.3 9.6 23.2 7.2 10.9 3.5 24.6 20.0 22.1 62.5 83.5 32.4 0.9 8.7 56.9 53.7
64 Int4HQQ -92.19% 26.9 13.4 9.1 25.6 7.3 10.2 3.4 24.6 20.0 20.9 62.5 83.8 32.3 0.6 9.6 55.3 52.7
Int4Quanto 26.8 13.8 9.2 24.6 7.4 10.5 3.5 24.6 19.8 21.4 62.0 84.3 31.8 1.2 7.5 56.1 51.8
BF16 -81.25% 26.3 14.9 9.1 27.0 7.3 9.9 3.1 24.6 19.1 22.5 60.5 81.6 26.9 0.0 8.2 53.4 52.6
32 Int4HQQ -95.31% 26.1 14.7 9.5 26.6 7.9 10.7 3.4 23.6 19.0 20.5 60.5 80.8 28.3 0.0 7.6 51.9 52.0
Int4Quanto 26.1
24.4
14.7 9.5 26.6 7.9 10.7 3.4 23.6 19.0 20.5 60.5 80.8 28.3 0.0 7.6 51.9 52.0
16 BF16
Int4HQQ
-87.50% 24.2 14.7
15.2
9.5
9.4
24.3
25.2
7.8
7.4
10.2
10.2
3.8
3.9
22.8
22.9
19.1
19.8
24.6
20.6
61.0
61.0
82.8
82.5
20.2
21.7
0.2
0.1
8.6
9.0
39.9
38.0
41.4
41.2
Int4Quanto -96.87% 23.4 15.6 8.4 22.7 7.3 10.2 3.8 20.2 18.7 18.6 61.0 81.9 21.7 0.5 8.0 36.9 38.3
1B7SmolLM (Length=2K)
BF16 100.0% 18.7 2.6 6.3 19.9 5.4 8.6 2.7 23.5 18.4 20.2 46.5 70.2 32.

请注意,最后一行中的 “32.” 可能是一个未完成的数值。如果需要进一步的信息,请提供完整的数据。5 |
| — | ---- | ---- | ---- | ---- |
| | Int4HQQ | | 18.6 | 2.5 | 6.2 | 19.1 | 5.5 | 8.2 | 2.7 | 23.4 | 18.3 | 20.0 | 46.5 | 69.4 | 32.1 | 2.7 | 3.2 | 21.5 | 16.0 |
| | Int4Quanto | -75.00% | 18.6 | 2.6 | 6.2 | 17.4 | 5.1 | 8.6 | 2.6 | 23.0 | 18.1 | 20.1 | 46.0 | 70.2 | 31.9 | 2.9 | 3.6 | 21.9 | 16.7 |
| | Int2HQQ | -87.50% | 16.3 | 2.5 | 5.6 | 13.0 | 4.8 | 7.5 | 2.7 | 14.8 | 16.3 | 9.3 | 46.0 | 70.4 | 26.9 | 2.6 | 3.4 | 18.3 | 16.8 |
| | Int2Quanto | | 13.3 | 1.6 | 3.8 | 10.3 | 3.9 | 7.3 | 1.4 | 5.9 | 13.4 | 6.3 | 40.0 | 64.3 | 14.6 | 3.1 | 3.5 | 15.6 | 17.5 |
| | BF16 | -68.75% | 16.0 | 2.6 | 6.1 | 16.9 | 4.6 | 9.3 | 2.0 | 22.8 | 15.1 | 19.9 | 50.0 | 57.1 | 29.8 | 1.7 | 2.4 | 9.4 | 6.7 |
| 32 | Int4HQQ | -92.19% | 15.9 | 2.7 | 5.7 | 16.3 | 5.0 | 8.5 | 1.8 | 23.0 | 15.0 | 18.5 | 50.0 | 56.2 | 30.2 | 1.8 | 3.2 | 10.0 | 6.8 |
| | Int4Quanto | | 15.4 | 2.5 | 5.7 | 16.1 | 5.7 | 8.7 | 2.1 | 20.9 | 13.8 | 17.6 | 50.0 | 55.0 | 29.5 | 1.7 | 2.8 | 9.6 | 5.4 |
| | BF16 | -81.25% | 16.5 | 2.6 | 6.2 | 17.2 | 4.5 | 9.7 | 2.1 | 22.0 | 15.3 | 21.0 | 47.5 | 55.5 | 31.7 | 1.2 | 3.3 | 15.8 | 8.5 |
| 16 | Int4HQQ | -95.31% | 16.2 | 2.5 | 6.1 | 16.2 | 4.5 | 8.9 | 2.0 | 20.6 | 15.4 | 19.7 | 47.5 | 55.6 | 30.6 | 1.2 | 4.0 | 16.3 | 8.0 |
| | Int4Quanto
BF16 | -87.50% | 15.6
15.3 | 2.5
2.4 | 5.7
5.9 | 15.6
17.9 | 4.3
4.8 | 8.8
10.1 | 1.6
1.8 | 21.2
25.1 | 15.7
15.2 | 17.6
20.6 | 47.0
42. |

请确认是否需要进一步调整或补充信息。4 | 5.7 | 16.9 | 4.7 | 10.1 | 2.0 | 23.5 | 14.7 | 20.3 | 42.5 | 47.6 | 30.6 | 2.6 | 3.6 | 7.7 | 4.5 |
| | Int4Quanto | -96.87% | 14.2 | 2.7 | 5.4 | 16.9 | 4.1 | 8.8 | 1.5 | 22.2 | 14.4 | 17.2 | 42.0 | 47.9 | 29.9 | 1.5 | 3.3 | 7.0 | 3.0 |
| | | | | | | | | | | 360MSmolLM (Length=2K) | | | | | | | | | |
| | BF16 | 100.0% | 13.5 | 2.4 | 6.4 | 14.3 | 5.0 | 8.8 | 2.5 | 18.0 | 17.5 | 7.1 | 47.5 | 37.5 | 24.9 | 1.5 | 3.4 | 8.1 | 10.4 |
| | Int4HQQ | -75.00% | 13.4 | 2.7 | 6.1 | 14.1 | 5.5 | 8.4 | 3.0 | 16.2 | 15.4 | 11.2 | 47.5 | 37.5 | 23.4 | 1.3 | 3.7 | 9.0 | 10.1 |
| | Int4Quanto | | 13.3 | 2.4 | 6.2 | 13.7 | 5.4 | 8.7 | 2.6 | 15.4 | 17.4 | 7.3 | 47.5 | 37.3 | 24.4 | 1.0 | 3.7 | 8.4 | 11.0 |
| | Int2HQQ | -87.50% | 10.8 | 2.7 | 4.7 | 8.3 | 5.4 | 5.9 | 1.9 | 9.9 | 10.0 | 8.4 | 45.2 | 27.5 | 14.2 | 2.1 | 4.2 | 10.0 | 11.9 |
| | Int2Quanto | | 8.6 | 2.6 | 2.2 | 4.4 | 3.9 | 4.8 | 1.4 | 5.6 | 8.9 | 2.9 | 44.0 | 26.8 | 9.6 | 1.0 | 1.9 | 7.2 | 9.7 |
| | BF16 | -68.75% | 13.5 | 2.3 | 5.9 | 13.4 | 5.5 | 9.8 | 2.7 | 20.4 | 14.5 | 11.5 | 41.0 | 31.2 | 29.6 | 1.2 | 3.5 | 15.4 | 7.9 |
| 32 | Int4HQQ | -92.19% | 12.5 | 2.6 | 5.7 | 12.1 | 5.1 | 10.2 | 2.7 | 14.6 | 12.5 | 8. |

请确认是否需要进一步调整或补充信息。7 | 14.5 | 7.6 |
| | Int4Quanto | | 12.3 | 2.0 | 5.2 | 11.9 | 5.0 | 9.1 | 3.0 | 15.4 | 14.9 | 8.3 | 41.0 | 28.3 | 27.0 | 0.9 | 3.9 | 13.8 | 7.8 |
| 16 | BF16 | -81.25% | 11.6
11.2 | 2.2
2.6 | 5.2
5.6 | 13.0
12.0 | 4.8
5.1 | 9.5
8.8 | 3.2
2.9 | 13.4
13.4 | 13.4
12.4 | 11.3
10.8 | 32.0
32.0 | 26.1
24.8 | 22.5
21.8 | 1.1
2.1 | 5.0
3.7 | 14.9
14.0 | 7.7
7.2 |
| | Int4HQQ
Int4Quanto | -95.31% | 10.9 | 1.9 | 4.9 | 11.5 | 4.2 | 8.8 | 2.6 | 12.2 | 12.2 | 9.5 | 32.5 | 25.8 | 18.5 | 1.4 | 4.6 | 15.5 | 7.8 |
| | BF16 | -87.50% | 9.9 | 1.9 | 4.7 | 11.7 | 4.5 | 8.5 | 2.8 | 13.0 | 12.9 | 9.4 | 34.0 | 17.2 | 15.3 | 1.4 | 3.2 | 11.4 | 6.9 |
| 8 | Int4HQQ | | 10.0 | 2.2 | 4.8 | 11.0 | 4.2 | 8.2 | 2.6 | 13.1 | 12.8 | 11.7 | 33.5 | 17.3 | 14.8 | 0.8 | 4.4 | 11.6 | 7.4 |
| | Int4Quanto | -96.87% | 9.3 | 1.8 | 3.6 | 11.3 | 4.0 | 8.0 | 3.0 | 10.6 | 12.0 | 7.4 | 31.5 | 19.8 | 10.3 | 0.8 | 4.8 | 12.1 | 7. |

表6:所有模型在LongBench上的评估结果,包括任务A:narrativeqa,B:qasper,C:multifieldqa_en,D:hotpotqa,E:2wikimqa,F:musique,G:gov_report,H:qmsum,I:multi_news,J:trec,K:triviaqa,L:samsum,M:passage_count,N:passage_retrieval_en,O:lcc,P:repobench-p。加粗表示压缩比大于或等于Int2量化的同时性能也高于Int2。

模型 令牌数 Avg@CS MMLU ARC PIQA HS OBQA WG
135MSmolLM 600B 44.50 29.80 42.43 68.06 41.09 33.60 52.01
- full-rope 2.25B 44.25 29.82 42.05 68.34 41.03 33.20 51.07
- Shigh 43.40 (-0.85) 29.90 41.15 66.92 39.34 32.60 50.07

请注意,上述表格中的数据已进行格式调整以保持一致性和可读性。如果需要进一步的修改或补充,请告知。以下是进一步的消融实验结果:

模型 参数量 零样本 少样本 一次学习 多次学习 零样本 (CoT) 少样本 (CoT) 一次学习 (CoT) 多次学习 (CoT)
- Slow 37.76 (-6.49) 27.11 32.06 59.79 30.68 28.40 48.54
- Suniform 43.76 (-0.49) 29.87 41.29 67.36 40.22 32.80 50.99
- S2-norm 43.77 (-0.48) 30.14 41.69 67.57 39.53 33.00 50.67
- Shigh + SVDjoint 2.25B 41.04 (-3.21) 28.16 37.55 64.91 34.91 32.00 48.70
- Suniform + SVDjoint 41.77 (-2.48) 28.58 38.69 65.67 36.17 32.00 49.49
- S2-norm + SVDjoint 41.84 (-2.41) 28.66 39.95 65.02 36.04 31.60 49.80
- S2-norm + SVDsplit 40.92 (-3.33) 28.04 37.85 65.56 34.60 29.80 49.65
1B7SmolLM 1T 55.90 39.27 59.87 75.73 62.93 42.80 54.85
- full-rope 6B 55.93 39.11 59.19 75.95 62.92 43.40 55.09
- Shigh 55.17 (-0.76) 38.56 57.72 75.73 60.93 44.00 54.06
- Slow 54.72 (-1.21) 37.82 56.47 75.35 60.06 43.20 55.41
- Suniform 55.31 (-0.62) 38.93 57.93 75.63 61.97 42.60 54.85
- S2-norm 55.10 (-0.83) 38.60 57.36 75.68 61.77 43.00 54.22
- Shigh + SVDjoint 6B 54.41 (-1.52) 37.97 56.74 75.14 59.75 42.00 54.85
- Suniform + SVDjoint 54.30 (-1.63) 37.82 56.30 75.08 60.35 42.40 53.91
- S2-norm + SVDjoint 54.65 (-1.28) 37.87 56.81 75.84 60.41 42.60 54.38
- S2-norm + SVDsplit 53.91 (-2.02) 37.64 55.50 75.46 59.52 42.40 52.96

表7:消融实验的完整结果。

如果需要进一步的修改或补充,请告知。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐