技术深度解析
大语言模型中广泛存在的权重冗余现象,源于对权重矩阵熵值的细致分析。在神经网络中,每个参数对最终输出的贡献可以通过其敏感度来衡量——即当该权重被置零时,损失函数的变化幅度。最近的分析考察了多个LLM系列的权重分布,包括LLaMA-2、Mistral以及GPT风格的架构,发现相当一部分权重的敏感度接近于零。这些权重表现出低熵特征:它们的数值紧密围绕均值聚集,携带的独特信息极少。这与“彩票假说”有着本质区别——后者认为,训练好的模型内部存在一个子网络,其性能可以媲美完整模型。相反,这项分析揭示,冗余是结构性的:模型的容量被严重低效利用,因为训练目标(交叉熵损失最小化)并不会惩罚参数冗余。
从算法角度来看,这一发现与近期后训练剪枝方面的进展不谋而合。两个知名的开源项目已经证明了激进压缩的可行性:SparseGPT(github.com/IST-DASLab/sparsegpt,4.2k星)采用一种一次性剪枝方法,可以从OPT-175B等模型中移除50%的权重,而准确率下降不到1%。Wanda(github.com/locuslab/wanda,3.8k星)则使用一种更简单的权重-激活乘积度量来识别并剪除冗余权重,在计算开销更低的情况下实现了类似效果。这两种方法都利用了同一个底层特性:许多权重对输出分布的影响微乎其微。
为了量化冗余程度,该分析计算了各层权重矩阵的有效秩。有效秩衡量的是有多少个奇异值对矩阵的作用做出了显著贡献。结果令人震惊:
| 模型 | 参数量 | 有效秩(各层平均) | 估计冗余度 |
|---|---|---|---|
| LLaMA-2-7B | 7B | 3,200 | 54% |
| LLaMA-2-13B | 13B | 4,100 | 68% |
| LLaMA-2-70B | 70B | 8,500 | 88% |
| Mistral-7B | 7B | 3,800 | 46% |
| GPT-3 (175B, 估计值) | 175B | 12,000 | 93% |
数据要点: 冗余度随模型规模扩大而增加。更大的模型显示出更高比例的冗余参数,这表明当前的缩放定律不仅效率低下,而且越来越浪费。有效秩的增长速度远低于参数数量的增长速度,这意味着增加更多参数在表征能力上带来的回报正在递减。
这对量化有着直接影响。当前的4位量化方法(例如GPTQ、AWQ)已经能在准确率损失极小的情况下将内存占用减少4倍。冗余分析则表明,对于许多层,尤其是那些有效秩较低的层,2位甚至三值量化也是可行的。一种混合方法——高秩层保留较高精度,而低秩层则进行激进压缩——可以在不显著降低性能的情况下实现8-10倍的压缩比。
关键玩家与案例研究
向参数效率的推进并非新鲜事,但权重冗余分析为那些此前仅凭经验的技术提供了理论基础。多家组织已经在利用这一洞见。
Mistral AI 一直是高效架构的积极倡导者。他们的Mixtral 8x7B模型采用了混合专家(MoE)方法,每个token只激活一部分参数。这使得它在推理成本显著降低的情况下,性能可与大得多的密集模型相媲美。冗余分析表明,MoE是强制实现参数效率的一种方式,但它可能并非最优——专家本身内部可能仍然包含冗余权重。
Apple 一直在悄悄投资于端侧LLM,他们近期关于“LLM in a Flash”的研究利用量化和剪枝技术在iPhone上运行模型。冗余分析直接支持了他们的策略:如果一半的权重是冗余的,那么一个70亿参数的模型可以被压缩到4GB内存以内,从而使其在移动设备上部署成为可能。
Hugging Face 已成为压缩模型分发的中心枢纽。他们的“Open LLM Leaderboard”现在包含了一个“压缩比”指标,平台上最受欢迎的模型越来越多地是量化版本(例如TheBloke的量化LLaMA模型已有数百万次下载)。权重冗余分析验证了社区的直觉:这些压缩模型并没有显著降级。
当前压缩方法的比较揭示了其中的权衡:
| 方法 | 压缩比 | 准确率保持度 (MMLU) | 推理加速 | 硬件要求 |
|---|---|---|---|---|
| SparseGPT (50%稀疏度) | 2x | 98.2% | 1.3x | 支持稀疏张量核心的GPU |
| Wanda (50%稀疏度) | 2x | 97.8% | 1.2x | 任意GPU |
| GPTQ (4位) | 4x | 97.5% | 1