{
  "title": "算法解读：RMM——TopK 列范数切片：公式、1B~70B 实测与注意力/MLP 不对称性",
  "url": "/posts/deep-code-rmm/",
  "permalink": "https://hackcv.com/posts/deep-code-rmm/",
  "date": "2026-08-23",
  "lastmod": "2026-08-23",
  "author": "hackcv",
  "description": "RMM 完整拆解：收缩维 TopK 列范数选择算法、minimax 最优性证明、retention-ratio 权衡；8 个基准 × 4 档保留比实测、注意力 vs MLP 不对称数据、A100 端到端 1.40× 加速。",
  "categories": ["研究简报"],
  "tags": ["AI","推理优化","矩阵乘法","RMM","算法解读"],
  "cover": "https://picsum.photos/seed/%E7%AE%97%E6%B3%95%E8%A7%A3%E8%AF%BBrmmtopk-%E5%88%97%E8%8C%83%E6%95%B0%E5%88%87%E7%89%87%E5%85%AC%E5%BC%8F1b~70b-%E5%AE%9E%E6%B5%8B%E4%B8%8E%E6%B3%A8%E6%84%8F%E5%8A%9B/mlp-%E4%B8%8D%E5%AF%B9%E7%A7%B0%E6%80%A7/1200/675",
  "readingTime": 2,
  "wordCount": 358,
  "content": "\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e一句话结论\u003c/strong\u003e：RMM 在矩阵乘的\u003cstrong\u003e收缩维度上按当前激活的列 L2 范数做 TopK 选择\u003c/strong\u003e，只算保留的切片——不训练、不动权重，一个 retention-ratio 旋钮给出可预测的精度-效率权衡。实测：\u003cstrong\u003e70B 在保留 80% 时几乎无损\u003c/strong\u003e、Llama3.1 8B 长序列端到端 \u003cstrong\u003e1.40× 加速\u003c/strong\u003e、4096 序列下 70B 模型\u003cstrong\u003e免 OOM\u003c/strong\u003e；机制上\u003cstrong\u003e注意力侧比 MLP 可裁剪得多\u003c/strong\u003e（Q 投影 RR=0.5 只掉 2pp，整 MLP 掉 29.5pp）。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"背景与动机\"\u003e背景与动机\u003c/h2\u003e\n\u003cp\u003eTransformer 推理算力大头是高维矩阵乘（QK^T、PV、FFN 三投影），但计算大量冗余：注意力得分稀疏、FFN 激活高维稀疏。现有方案两难：\u003c/p\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e路线\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e代表\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e缺陷\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e训练式稀疏\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eSparseGPT/Wanda/SliceGPT\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e要改权重、成本高\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e静态剪枝\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eMagnitude 等\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e与输入无关，跨分布急剧退化\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eRMM 补的空档：\u003cstrong\u003e不改权重 + 随输入动态裁剪\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"核心思路公式级\"\u003e核心思路（公式级）\u003c/h2\u003e\n\u003ch3 id=\"收缩维-topk-选择\"\u003e收缩维 TopK 选择\u003c/h3\u003e\n\u003cp\u003e矩阵乘 \u003ccode\u003eY = A·B\u003c/code\u003e（A∈ℝ^{n×d} 激活、B∈ℝ^{d×m}），沿收缩维 d 选索引集 ℐ（|ℐ| = ⌈ρd⌉）：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eRMM_ρ(A,B) = A[:,ℐ] · B[ℐ,:]\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e重要性度量 = 激活列 L2 范数\u003c/strong\u003e：\u003ccode\u003es_j = ||A[:,j]||₂\u003c/code\u003e，取 TopK 最大的 ⌈ρd⌉ 个。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e性质\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e确定性：同输入同选择；输入自适应：逐层/逐头/逐 token 变化\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eminimax 最优\u003c/strong\u003e（Theorem 1）：TopK 列范数在给定预算下最小化任意 B 的最坏近似误差\u003c/li\u003e\n\u003cli\u003e误差界：\u003ccode\u003e||AB − A[:,ℐ]B[ℐ,:]||_F ≤ Σ_{j∉ℐ} ||A[:,j]||₂·||B[j,:]||₂\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e复杂度：O(n·ρd·m)（稠密 O(n·d·m)），列范数 O(n·d) + TopK 开销小\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e组件应用\u003c/strong\u003e：QK^T 按头特征维选择（评分 Q 列范数）、PV 按 token 位置选择（可选）、MLP/线性投影按激活隐层维选择；GQA 下在 Q 上按头选择、K/V 收集对应维度。\u003c/p\u003e\n\u003ch3 id=\"retention-ratioρ旋钮\"\u003eretention-ratio（ρ）旋钮\u003c/h3\u003e\n\u003cp\u003eρ∈(0,1] 直接控制保留维度数 ⌈ρd⌉——平滑可预测的权衡。\u003cstrong\u003e组件差异化\u003c/strong\u003e：注意力侧可激进（RR 低至 0.5），MLP 需保守且按投影类型区分。无标注数据时可用 ~100 个无标签样本做一致性扫描（Llama-3.1-8B RR=0.7 下 87/100 Wikipedia 段落与稠密\u003cstrong\u003e序列级完全一致\u003c/strong\u003e）。\u003c/p\u003e\n\u003ch2 id=\"实验数据\"\u003e实验数据\u003c/h2\u003e\n\u003ch3 id=\"规模规律8-任务--rr-0905\"\u003e规模规律（8 任务 × RR 0.9→0.5）\u003c/h3\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e模型\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eRR=0.8 表现\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eRR=0.5 表现\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eLlama3.1 \u003cstrong\u003e70B\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e接近满性能（MMLU 75.0→72.6）\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e仍可用（GSM8K 53.7→19.9 掉但多数任务平缓）\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eQwen3 32B\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e几乎无损（MMLU 80.8→78.6）\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e平缓退化\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eLlama3.1 8B\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e轻微下降\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eGSM8K 26.2→5.9 明显掉\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eQwen3.1 7B\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e下降明显\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eGSM8K 39.9→1.7 崩\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e规律：模型越大冗余越多、容忍度越高\u003c/strong\u003e；小模型在 RR=0.7 已现拐点（WikiText 困惑度：Llama3.2-1B RR=0.7 时 20.04→31.29）。\u003c/p\u003e\n\u003ch3 id=\"与静态剪枝对比rr05llama31-8b5-qa-平均\"\u003e与静态剪枝对比（RR=0.5，Llama3.1 8B，5 QA 平均）\u003c/h3\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e方法\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e平均\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e全模型\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e69.8\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003eRMM\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e59.8\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eSparseGPT\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e56.1\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eWanda\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e52.7\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eMagnitude\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e39.3\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eSliceGPT\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e37.0\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3 id=\"注意力-vs-mlp结构性不对称表-168b5-qa-平均\"\u003e注意力 vs MLP：结构性不对称（表 16，8B，5 QA 平均）\u003c/h3\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e裁剪目标\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eRR=0.9\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eRR=0.7\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eRR=0.5\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003eQ 投影\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e69.60\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e70.01\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e67.80\u003c/strong\u003e（几乎不掉）\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eQKV 投影\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e68.92\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e67.35\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e59.79\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e注意力内部(QK^T+PV)\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e69.45\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e66.98\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e59.56\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e整 MLP\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e63.06\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e55.93\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e40.28\u003c/strong\u003e（暴跌）\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eMLP Up\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e65.69\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e59.88\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e52.44\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eMLP Down\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e67.43\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e65.75\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e61.36\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e补充（ARC-Easy RR=0.7 归一化对比）：注意力侧掉 3.52 点（保留能量 89.69%）、MLP Up 掉 16.32（82.24%）、MLP Down 掉 3.51（99.02%）、整 MLP 掉 18.78（87.85%）——\u003cstrong\u003eDown 投影最鲁棒、Up 最敏感、误差会跨投影累积\u003c/strong\u003e。\u003c/p\u003e\n\u003ch3 id=\"长上下文rulerrr05-仍持平\"\u003e长上下文（Ruler，RR=0.5 仍持平）\u003c/h3\u003e\n\u003cp\u003eCWE 5K/15K/30K：98.0/94.0/28.9 vs 基线 98.2/94.0/29.6——\u003cstrong\u003e裁剪不放大长上下文退化\u003c/strong\u003e。\u003c/p\u003e\n\u003ch3 id=\"a100-实测ρ08batch1\"\u003eA100 实测（ρ=0.8，batch=1）\u003c/h3\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e序列长\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eQK^T\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eAV\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e端到端（8B）\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e端到端（70B）\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e1024\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.36×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.67×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.05×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.03×\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2048\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.29×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.81×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e1.27×\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e1.41×\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e4096\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.56×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.89×\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e1.40×\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003eOOM→可跑\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e规律：\u003cstrong\u003e序列越长加速越明显\u003c/strong\u003e（短序列选择开销占比大）；70B 在 4096 序列从 OOM 变为可推理——省内存与省延迟双赢。\u003c/p\u003e\n\u003ch3 id=\"兼容性与泛化\"\u003e兼容性与泛化\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e与 INT8 正交\u003c/strong\u003e：INT8 + RMM(注意力侧 RR=0.8) COPA 81.40→77.40——降精度 × 减算力可叠加\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVLM 泛化\u003c/strong\u003e：Qwen2.5-VL-7B RR=0.8 几乎无损（POPE 83.7→82.0）；InternVL3-8B 到 RR=0.5 仍 92.33 持平\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evs TEAL（激活稀疏）\u003c/strong\u003e：TEAL 只对投影输入激活稀疏、无法裁剪 QK^T/PV 内部矩阵乘；RMM 矩阵乘积视角覆盖面更广\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"工程落地要点\"\u003e工程落地要点\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e接入\u003c/strong\u003e：包注意力/FFN 算子，PyTorch 可原型验证；生产需自定义 kernel 才有真实加速\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e配置\u003c/strong\u003e：注意力侧激进（RR 0.5~0.7）、MLP 保守（0.8+，Down 可更低）；预填充裁 FFN、解码裁注意力分开调\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e踩坑\u003c/strong\u003e：短序列收益小；GSM8K 类强推理任务对裁剪最敏感（掉得最快），数学场景降 RR 要谨慎\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e验证\u003c/strong\u003e：用 100 个无标签样本一致性扫描快速选 ρ，无需标注集\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"适用边界与取舍\"\u003e适用边界与取舍\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e适合\u003c/strong\u003e：长上下文、批量生成、已上线模型降本、4096+ 序列的内存受限部署；与量化叠加\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e不适合\u003c/strong\u003e：短序列高并发小 batch（收益被 GEMM 库摊薄）；精度严格敏感业务\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e取舍\u003c/strong\u003e：vs 静态稀疏（动态鲁棒但需 kernel）；vs 量化（正交可叠）；vs 激活稀疏 TEAL（覆盖矩阵乘范围更广）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"复现要点\"\u003e复现要点\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003earXiv: 2608.13426（8-13，24 页）；作者 Zixuan Lan 等，未注明开源仓库\u003c/li\u003e\n\u003cli\u003e复现路径：实现列范数 TopK 切片算子 → 8B 模型跑 RR 曲线 → 长序列 A100 基准\u003c/li\u003e\n\u003cli\u003e注意力侧与 MLP 侧分开配 RR 是关键工程决策点\u003c/li\u003e\n\u003c/ul\u003e\n",
  "summary": " 一句话结论：RMM 在矩阵乘的收缩维度上按当前激活的列 L2 范数做 TopK 选择，只算保留的切片——不训练、不动权重，一个 retention-ratio 旋钮给出可预测的精度-效率权衡。实测：70B 在保留 80% 时几乎无损、Llama3.1 8B 长序列端到端 1.40× 加速、4096 序列下 70B 模型免 OOM；机制上注意力侧比 MLP 可裁剪得多（Q 投影 RR=0.5 只掉 2pp，整 MLP 掉 29.5pp）。\n背景与动机 Transformer 推理算力大头是高维矩阵乘（QK^T、PV、FFN 三投影），但计算大量冗余：注意力得分稀疏、FFN 激活高维稀疏。现有方案两难：\n路线 代表 缺陷 训练式稀疏 SparseGPT/Wanda/SliceGPT 要改权重、成本高 静态剪枝 Magnitude 等 与输入无关，跨分布急剧退化 RMM 补的空档：不改权重 + 随输入动态裁剪。\n核心思路（公式级） 收缩维 TopK 选择 矩阵乘 Y = A·B（A∈ℝ^{n×d} 激活、B∈ℝ^{d×m}），沿收缩维 d 选索引集 ℐ（|ℐ| = ⌈ρd⌉）：\nRMM_ρ(A,B) = A[:,ℐ] · B[ℐ,:] 重要性度量 = 激活列 L2 范数：s_j = ||A[:,j]||₂，取 TopK 最大的 ⌈ρd⌉ 个。\n"
}
