非结构化剪枝根据幅度将单个权重设为零(最小的权重贡献最少)。这会产生稀疏权重矩阵。挑战在于:标准硬件无法高效处理稀疏计算,因此50%剪枝的模型在GPU上并不会快2倍——加速需要专门的稀疏计算库或硬件。这限制了非结构化剪枝的实际收益。
结构化剪枝移除整个神经元、注意力头或层。这产生了一个更小的密集模型,可以在标准硬件上更快运行,无需稀疏计算支持。研究表明许多注意力头是冗余的——在Transformer中移除20–40%的注意力头通常对性能影响很小。某些头始终比其他头贡献更大,重要的头可以通过基于梯度的重要性分数来识别。
三种压缩技术组合效果很好:剪去冗余参数,将剩余权重量化到更低精度,并可选地从原始模型蒸馏以恢复质量损失。这个流程可以将模型缩小到原始大小的10–20%,同时保留95%+的能力。顺序很重要:通常先剪枝,然后量化已剪枝的模型,再微调以恢复质量。