BitStack: Any-Size Compression of Large Language Models in Variable Memory Environments阅读笔记

motivation

现有方法不能动态调整被压缩模型大小,且现有权重分解方法和量化方法间精度尚有差异。

创新点1:迭代式绝对值分解

将矩阵符号值分离,改写为,对使用SVD分解,权重矩阵单独保存,每参数多占用1bit。

对原始矩阵进行权重分解则变为:

屏幕截图2025-04-14004541.png

其残差可记作:

屏幕截图2025-04-14004833.png

对残差进行二次分解:

屏幕截图2025-04-14004923.png

总的权重分解估计公式则为,可以根据可用内存量动态决定load多少块:

屏幕截图2025-04-14005006.png

创新点2:动态加载排序

由创新点1显然第组低秩块比第组更重要。为减小最优策略搜索空间,规定任意两个线性层间加载了的低秩块组数差值不能超过1。

将模型的前组低秩块都加载完成后,分别加载每个线性层的第块并计算校准集的困惑度,困惑度越低的更加重要。

更重要的块在内存增加时会更优先被load

屏幕截图2025-04-14005711.png

其它

为了应对激活中的绝对值采用了AWQ中逐通道缩放的方法,缩放因子直接通过该通道激活的二阶范数计算,即,前向传播过程变为,所以实际分解时,分解的权重矩阵是这个