低秩压缩不再每token同算力:只训路由器,Llama-2-7B下游平均准确率涨7.6个百分点
核心概要
低秩压缩此前在推理时给每个token分配固定秩,算力不随输入变化。LRCC在每个Transformer块加一个轻量路由器,在若干嵌套低秩路径中为每个token选一条,训练时冻结低秩因子、只更新路由器。在相同平均激活参数预算下,Llama-2-7B下游平均准确率比静态低秩压缩高7.6个百分点;在batch-size-1解码延迟对齐时,Llama-3.2-1B的困惑度和下游准确率同时改善,Llama-2-7B保持竞争力,且未使用专用CUDA内核。
深度剖析
低秩压缩模型现在可以按token决定激活多少秩,而不是整段推理都用同一套秩。 此前的低秩压缩在推理时使用固定的秩分配,无论输入token是什么都付出相同的计算量。 在相同平均激活参数预算下,Llama-2-7B的下游平均准确率比最强静态基线高7.6个百分点,WikiText-2困惑度也同时改善。
做法是把每个Transformer块内的线性层分解成共享的嵌套低秩因子,再让一个块级路由器为每个token挑一条路径。 路径按Matryoshka式嵌套排列,低成本路径保留高成本路径所用分量的子集,因此所有路径共享同一参数基,只需一个路径索引即可选择。 路由器用Gumbel-Softmax加直通估计器训练,训练时预训练权重与低秩因子全部冻结,只更新路由器;实验在Llama-3.2-1B、Llama-2-7B和Qwen3-4B上,用WikiText-2的256条2048-token样本做分解与路由器训练。
路由器确实按token类型分配不同算力,而不是塌缩成单一静态秩。 若路由器对所有token都选同一条路径,条件计算就退化为静态压缩。 在Llama-2-7B上,部分块几乎用满全部可用路径,且非单词token更常被分到低成本路径;路由器只在WikiText-2上训练,但在多个评测数据集上的实际激活参数比例仍接近目标成本。
启示与展望
已展示的范围是Llama-3.2-1B、Llama-2-7B与Qwen3-4B上的语言建模与零样本下游任务,压缩对象是Transformer块内的线性层,路由器在WikiText-2的256条2048-token样本上训练。延迟结论限于batch-size-1自回归解码,在DGX Spark上用TorchDynamo与TorchInductor编译、未使用专用CUDA内核。适合关注模型压缩与推理效率的研究人员和工程师阅读。
路由器按平均激活参数比例训练,推理时并不强制该比例,因此实际部署成本会随数据集波动,尽管评测中接近目标。路径在路由器训练前由固定的嵌套秩分配构造,路径结构与路由策略并未联合学习。延迟收益只在batch-size-1解码上测量,预填充实现仍按全秩计算第一因子再掩码,尚未利用全部可省算力。
