KATANA: Knowledge-Aligned Topology-Aware Neural Agents for RL-Driven Vision-Language Model Compression¶
会议: ECCV 2026
Paper: https://eccv.ecva.net/virtual/2026/poster/5897
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/14000.pdf
领域: 模型压缩 / LLM智能体 / 多模态VLM
关键词: 程序合成、GRPO、非结构化剪枝、双范数激活、稀疏重构
一句话总结¶
KATANA 把剪枝算法本身当作可学习的程序,用沙箱实测奖励训练代码智能体,发现 KIRI 的三次稀疏调度、双范数激活评分与掩码内重构组合,在 70% 稀疏设置下使 LLaVA-1.5-7B 的 MSCOCO CIDEr 达到 84.6,相比 GSOP 的 83.3 提高 1.3 分,并在指定稀疏运行时获得约 2.8 倍解码加速。
研究背景与动机¶
视觉语言模型的权重不仅承担语言建模,还连接视觉编码器、跨模态投影器与语言解码器。删去一个数值较小的权重,不一定只造成很小的输出变化:它可能位于把视觉特征映射到语言空间的敏感通道。Magnitude、Wanda 和 SparseGPT 等方法提供了不同的权重重要性估计,但其评分形式由研究者预先确定;面对不同模块的尺度与输入统计,固定规则未必能保护图文对应关系。
已有自动压缩方法可以搜索层级预算或子网络,但这与搜索“怎样写剪枝程序”不同。若只在 Wanda 的既定表达式里调系数,搜索过程无法自行增加行列范数的乘积,也无法发明新的逐步剪枝调度。KATANA 因而把动作空间扩展到 Python 程序,用真实描述生成质量和延迟评价候选,而不只优化权重重构误差。
这里还存在部署约束:非结构化权重变零并不会自动让普通稠密算子变快,补偿剪枝误差的低秩分支也可能重新引入推理开销。核心 idea:让代码智能体通过任务质量与硬件测量反馈联合发现评分和调度规则,再把恢复更新限制在已有稀疏掩码内,使算法搜索、精度恢复与稀疏执行服务于同一个压缩目标。
方法详解¶
整体框架¶
首先区分两层:KATANA 是离线搜索框架,输出可复用的剪枝程序;KIRI 是搜索得到的具体算法,输入预训练 VLM、校准样本和目标稀疏率,输出形状不变但部分权重归零的模型。部署时运行的是压缩后的 VLM,不需要代码智能体继续参与生成。
搜索环由候选代码生成、语法与沙箱检查、校准模型剪枝、质量和延迟评估、GRPO 更新组成。得到 KIRI 后,先缓存输入激活,再按三次调度逐步提高稀疏率,用 DNA 重算权重重要性并生成掩码,高稀疏阶段可选做掩码内低秩重构。论文中的 Kernel 指算法程序,不是智能体直接生成 CUDA 内核。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["基线程序、任务目标<br/>历史评测"] --> Search["奖励引导的程序搜索<br/>代码生成、沙箱、GRPO"]
Search -->|实测奖励反馈| Search
Search -->|发现 KIRI| Schedule["三次稀疏调度"]
Model["预训练 VLM<br/>128 个校准样本"] --> DNA["双范数激活评分"]
Schedule --> DNA
DNA -->|按层分位数生成掩码| Recon["掩码内低秩重构"]
Recon -->|下一步重算权重评分| Schedule
Recon --> Output["稀疏 VLM<br/>专用稀疏运行时"]
关键设计¶
1. 奖励引导的程序搜索:学习生成规则,而不只是搜索规则参数
代码智能体接收基线剪枝函数、历史性能和任务目标,生成完整候选程序。执行前先做解析与限制性检查,并通过 RestrictedPython 在虚拟张量上测试,再对实际 VLM 运行有效候选。这个顺序把无效程序排除在昂贵的模型评测之前;论文声称使用隔离沙箱,但缓存未包含完整安全配置,因此不能把它等同于已经审计过的安全执行系统。
外层通过 GRPO 的奖励反馈更新生成策略,而不是仅把上一次分数写回提示词。总奖励是多个分量的加权和:性能、压缩、新颖性、多样性与稳定性共同决定哪些代码值得保留。性能项在方法细节中明确采用剪枝后 CIDEr 与稠密 CIDEr 的比值,延迟采用剪枝后与稠密模型的每 token 解码时间比值;尽管概述提到 perplexity,笔记以详细定义为准。缓存中的式 (3) 已损坏,不能可靠复原完整 sigmoid 表达式,故不补写缺失项。
课程分为 4 个阶段,性能与延迟权重从早期的 \((0.1,0.9)\) 转向后期的 \((0.9,0.1)\),先允许探索较激进的压缩,再强调质量恢复。压缩收益不足 5% 时给出 -4.0 惩罚;新颖性相对于 10,000 条策略签名计算,涉及代码结构、参数行为、目标层与所用技术。先去除 AST 中表层标识符,再比较结构,可以减少“只改变量名”的伪创新。最近 5 次生成的 CIDEr 连续增加会获得稳定性奖励,但多样性项的完整计算方式未在缓存正文中展开。
2. 三次稀疏调度:让高强度删除发生在渐进更新之后
KIRI 不一次性删到最终比例,而是在预热后缓慢起步,再加快稀疏化。按 Algorithm 1,可将指定调度区间写成下面的清晰形式;这里不是把缓存中损坏的排版当成新公式,而是依据算法步骤和相邻文字整理。\(t_0=2000\)、\(n=10\)、\(\Delta t=2000\),初始稀疏率 \(s_0=0\),\(s_f\) 是目标稀疏率。
该表达式不应外推到区间之外,否则会超过目标稀疏率;正文未完整说明终点后的调度行为。这些是 KIRI 内部步骤,不是外层 1,000 次 RL 搜索迭代。算法伪代码逐步执行,而初始化又列出 intervals,实际调用频率仍需实现确认。作者报告相对线性调度,激活方差尖峰降低 15%;这是经验结果,不是调度公式自动保证的性质。
渐进调度之所以可能改变最终掩码,在于每步会基于当前权重重新计算范数和幅值,重构也会改变后续评分,因此轨迹具有路径依赖。如果始终使用固定分数且不更新权重,单纯分多次取阈值并不能解释同等终点稀疏率下的大幅差异;理解本文时不能把“三次曲线”与后续重评分、重构割裂。
3. 双范数激活评分:把单个权重放回输入输出通道中评价
KIRI 在视觉编码器、跨模态投影器以及语言模型 attention/MLP 的线性层上剪枝,豁免 embedding 和最终语言输出头。它用 128 个 MSCOCO validation 样本做一次前向校准,对视觉与文本 token 位置等权平均,避免较长文本序列主导激活统计;随后移除 hooks。缓存的 Algorithm 1 和式 (4) 相互补足后,DNA 评分可整理为:
\(i\) 对应输出通道,\(j\) 对应输入通道,激活 \(\bar a_j\) 因此与输入列对应。幅值衡量单连接强度,行列范数给出它所在输入输出结构的尺度,激活项反映校准数据实际使用该输入通道的程度;主实验取 \(\gamma=0.5\)、\(\alpha=1.0\)。每层按当前 \(s(t)\) 的分位数选阈值,保留高分权重,而不是在全模型共享一个未经尺度校正的阈值。
需要注意两个边界:激活只校准一次,逐步变化的是当前权重幅值和结构范数,不能称为每步重新采集激活;此外,公式中的标准差在同一层内是共享分母,在固定指数、按层排序时不会单独改变权重次序。因此作者关于“保护高激活方差权重”的解释不能仅由这个分母推出。缓存也没有明确有符号激活如何处理,不应擅自把 \(\bar a_j\) 改写成绝对值或平方均值。
4. 掩码内低秩重构:恢复数值,但不恢复被删连接
当当前稀疏率超过 0.6 且启用重构时,KIRI 用低秩近似补偿剪枝残差。正文给出 SVD 因子秩 \(r=\min(0.1\times\min(m,n),64)\),再将低秩更新逐元素投影到现有掩码内。按式 (5) 及 Algorithm 1,更新为:
这与部署时额外挂一个稠密 LoRA 分支不同:\(UV^\top\) 在离线阶段融合,掩码外仍为零,推理只使用一份稀疏矩阵。作者承认,先做无约束 SVD 再投影并非直接求解掩码约束最小二乘的最优解;正文声称其精度可达到精确求解器的 98%,但缓存没有对应详细实验表,不能将其视为已独立验证的结论。
这种做法保证的是支持集与理论推理算量不因额外分支增加,而不是保证任意硬件上的延迟不变。真正的加速仍依赖 cuSPARSE v11.7 与定制 SparseTIR 风格稀疏 GEMM,普通稠密矩阵乘不会因为存在零值自动获得相同收益。
一个完整示例¶
以论文的 LLaVA-1.5-7B、70% 目标稀疏率配置为例:先从 128 个校准样本取得线性层输入统计,然后在预热结束后沿三次曲线逐步剪枝,每步重算 DNA 并按层阈值置零,超过 0.6 时可启用掩码内重构。最终不再调用代码智能体,而是把稀疏模型交给指定运行时执行描述生成。
表 1 中稠密模型的每 token 解码时间是 0.17 s,KIRI 为 0.060 s,二者之比约为 2.83,对应文中约 2.8 倍;CIDEr 从 91.8 变为 84.6,仍损失 7.2 分。因此正确理解是“在明显压缩后比其他压缩方案保留更多质量”,不是“压缩后完全不损失质量”。这段仅串联原文配置和测量,没有虚构单张图片的输出结果。
损失函数 / 训练策略¶
搜索使用 DeepSeek-Coder-V2-Lite-Instruct 16B,4-bit 量化,训练 attention/MLP 上的 LoRA:rank 64、缩放参数 128、dropout 0.05。GRPO 学习率为 \(2\times10^{-5}\),使用 cosine 调度、生成温度 0.7、KL 惩罚系数 0.02。这里的生成温度属于代码策略,候选 VLM 的描述评估采用 greedy decoding。
完整搜索为 1,000 次迭代,每次 8 个候选,报告总成本 480 A100 GPU-hours,仅在 LLaVA-1.5 上发现策略后跨模型应用。奖励采用独立留出的 256 个 MSCOCO validation 样本,每 50 次迭代轮换,区别于剪枝校准的 128 个样本。300 次迭代、144 GPU-hours 时达到 82.5 CIDEr,约为最终 84.6 的 97%;这是绝对分数比例,不是恢复了 97% 的压缩损失。
实验关键数据¶
主实验¶
下表摘录原文表 1 的 CIDEr,指标按原文统一乘以 100;KIRI 与 GSOP 的误差是 3 seeds 标准差。“70%”描述 KIRI 的权重稀疏设置,token 剪枝基线按作者所述匹配理论 FLOPs,不能理解为这些方法都删除了相同比例的权重。模型名称沿用论文,Qwen2.5-7B 的具体视觉版本与 BLIP-2 的底座未在缓存正文充分明确。
| 模型 / 数据集 | Dense CIDEr | GSOP CIDEr | KIRI CIDEr | KIRI 相对 GSOP | KIRI 解码时间,s/token |
|---|---|---|---|---|---|
| LLaVA-1.5-7B / MSCOCO | 91.8 | 83.3 ± 0.3 | 84.6 ± 0.2 | +1.3 | 0.060 ± 0.002 |
| BLIP-2 / MSCOCO | 92.5 | 84.8 ± 0.3 | 85.4 ± 0.3 | +0.6 | 0.061 ± 0.002 |
| Qwen2.5-7B / MSCOCO | 92.4 | 86.8 ± 0.3 | 87.9 ± 0.2 | +1.1 | 0.060 ± 0.002 |
| Llama-3.2-Vision / MSCOCO | 93.8 | 89.6 ± 0.3 | 90.5 ± 0.3 | +0.9 | 0.061 ± 0.002 |
表 2 的跨数据集结果同样基于 LLaVA-1.5-7B:Flickr30k 上 Dense / SparseVLM / KIRI 分别为 56.3 / 49.0 / 51.5 CIDEr;NoCaps 为 50.9 / 43.5 / 46.4。它们支持对这两个描述生成数据集的迁移,但不能据此推断所有多模态推理任务都得到保留。
消融实验¶
下面保持原文表 3 的数值与误差,不将表 1 的 Full 标准差覆盖到消融实验中。配置是 LLaVA-1.5-7B、MSCOCO、70% 稀疏,VQA 列对应 VQAv2;移除项的下降均相对本表 Full 计算。
| KIRI 配置 | CIDEr | SPICE | VQA | 加速比 |
|---|---|---|---|---|
| Full | 84.6 ± 0.3 | 16.9 ± 0.2 | 78.5 ± 0.3 | 2.8 ± 0.05 |
| 线性调度 | 78.2 ± 0.5 | 15.4 ± 0.3 | 65.4 ± 0.5 | 2.7 ± 0.06 |
| 常量调度 | 76.5 ± 0.6 | 15.1 ± 0.4 | 59.8 ± 0.6 | 2.8 ± 0.05 |
| DNA 去掉范数 | 80.1 ± 0.4 | 16.0 ± 0.3 | 71.0 ± 0.4 | 2.8 ± 0.04 |
| DNA 去掉激活 | 79.5 ± 0.4 | 15.8 ± 0.3 | 69.2 ± 0.4 | 2.8 ± 0.05 |
| 仅幅值评分 | 77.3 ± 0.5 | 15.3 ± 0.4 | 63.5 ± 0.5 | 2.8 ± 0.05 |
| 去掉重构 | 81.3 ± 0.6 | 16.2 ± 0.3 | 72.9 ± 0.6 | 2.9 ± 0.04 |
原文表 4 进一步区分“搜索框架是否有效”与“KIRI 组件是否有效”,预算为 1,000 次迭代。新颖性分数是平均新颖性奖励,不应视为跨论文通用的算法创新指标。
| 搜索框架配置 | CIDEr | 新颖性分数 | 最终奖励 |
|---|---|---|---|
| Full | 84.6 ± 0.3 | 0.72 ± 0.04 | 6.8 ± 0.2 |
| 去掉新颖性奖励 | 79.8 ± 0.5 | 0.41 ± 0.05 | 5.9 ± 0.3 |
| 去掉多样性奖励 | 80.4 ± 0.4 | 0.58 ± 0.04 | 6.1 ± 0.2 |
| 去掉课程 | 77.9 ± 0.6 | 0.52 ± 0.05 | 5.7 ± 0.3 |
| 去掉 GRPO,随机搜索 | 76.2 ± 0.7 | 0.48 ± 0.06 | 5.4 ± 0.4 |
关键发现¶
- 线性调度损失 6.4 CIDEr,去掉范数损失 4.5,去掉激活损失 5.1,去掉重构损失 3.3。它们支持组合有效,但没有完整因子交叉实验,不能仅凭逐项消融证明严格的非加性协同。
- 去掉 GRPO 比 Full 低 8.4 CIDEr;去掉课程低 6.7。这里的随机搜索不能与方法概述中报告 78.4 CIDEr 的 evolutionary baseline 混为同一设置。
- 延迟测量为 A100、batch size 1、512-token prefill 后的每 token decode,不是端到端响应或首 token 延迟。正文另报告 RTX 4090 为 32 ms 对 71 ms,约 2.2 倍,但缓存没有附录的完整分解。
- 稀疏率扫描段采用 beam search,70% 时报告 118.4 CIDEr;主表使用 greedy decoding,结果为 84.6。不能混合这两种解码协议计算增益。
亮点与洞察¶
- 搜索对象从连续参数变成可执行表达式与控制流。可复用的思路是让候选直接接受下游任务评测,而不是把代理重构误差当作最终质量。
- DNA 与调度通过反复重评分连接起来。研究价值在于检验“删哪些权重”与“按什么轨迹删”的相互影响,而不只是提出一个新的幅值乘子。
- 掩码内重构将恢复能力融入最终稀疏权重。它提示压缩算法应明确区分离线恢复成本与在线执行成本,避免用额外稠密分支抵消剪枝收益。
局限与展望¶
- 搜索成本与迁移边界:480 A100 GPU-hours 是一次发现成本,不是免费压缩;跨架构应用仍需目标模型校准和剪枝。作者提出向 N:M 稀疏及更广泛任务扩展,但缓存没有附录 E 的初步结果。
- 运行时依赖:2.8 倍依赖专用稀疏实现,不能推广为任意设备或 dense fallback 的收益。按理论 FLOPs 匹配 token 删除与权重剪枝,也不足以自动保证带宽、上下文保留和首 token 延迟公平。
- 证据不完整:缓存只含正文与参考文献,附录 A–E 缺失;完整奖励式、生成提示、具体模型 checkpoint、激活符号处理与调度执行细节不能据此完整复现。正文对 evolution 的 78.4 与表 4 随机搜索的 76.2 缺少统一说明,主表和消融表的 Full 标准差也不同。
- 机制解释应收敛:层内共享标准差不能独自改变排序,单因素消融不能证明严格协同;表 4 的新颖性 0.72 降至 0.48 也不是正文所说的“减半”。后续应加入因子实验、明确奖励定义,并报告独立搜索重复的方差。
- 任务覆盖仍偏描述生成:VQAv2 主要出现在消融中,正文的 MME 与 POPE 信息较简略。作者建议加入 GQA、NLVR2 等组合推理任务,才能更有力地判断保留的是描述能力还是普适的图文理解。
相关工作与启发¶
- vs Wanda / SparseGPT:前者使用激活感知重要性,后者重视重构误差;KATANA 搜索程序结构,KIRI 则组合幅值、行列范数与激活。优势需要同时扣除搜索成本和运行时工程成本评价。
- vs AMC / AutoCompress / OptiShear:层级预算搜索、自动压缩与进化式指标搜索都为自动化设计提供先例。本文更具体的区别是通过 GRPO 更新代码生成策略,而不是“首次用搜索做压缩”。
- vs Eureka / FunSearch:共享“生成程序、执行、反馈”的算法发现范式。这里把反馈落在 VLM 描述质量、稀疏率与实测延迟,并把程序搜索结果固化为可迁移剪枝规则。
- vs FastV / SparseVLM / GSOP:压缩 token、权重或运算所改变的瓶颈不同。比较时应同时报告 prefill、decode、上下文损失与内存开销,不能只看一个统一加速倍数。
评分¶
- 新颖性: 4/5。程序级搜索与渐进 DNA 剪枝的结合值得研究,但组件本身有明确先例。
- 实验充分度: 3/5。涵盖 4 个模型、跨数据集与两层消融,仍缺统一复现细节和充分的协同检验。
- 写作质量: 3/5。搜索框架与发现算法区分清楚,但若干数字、协议及机制解释需要进一步澄清。
- 价值: 4/5。提供任务驱动算法发现与离线稀疏恢复的可迁移思路,实际收益受搜索预算和稀疏运行时限制。