[ICLR 2025] SpinQuant: LLM Quantization with Learned Rotations

Introduction

  • 作者提出 SpinQuant,在 QuaRot 基础上训练正交矩阵以达到更优精度

Method

  • Rotation parameterization. 作者 follow 了 QuaRot,利用 Hadamard 变换缓解 outliers. 另外有一个小区别:attn 层里 out proj 的输入激活值没有用大小为 hidden dim 的 Hadamard 矩阵去做变换,而是只使用的大小为 head dim 的 Hadamard 矩阵 R 2 R_2 R2,这样 R 2 R_2 R2 可以融到权重里,不会带来额外的推理开销;但是代价是 out proj 输入处的量化必须用 head dim 的 group-wise 量化,相当于是省去一次在线变换,但 out proj 输入处的量化必须用 group-wise 量化,也会引入额外开销,否则也会掉精度;不过这样的设计对 TP 的兼容性比较好,如果是 QuaRot + TP,那 o_proj 前的在线变换就是 H n h / t p ⊗ I \mathbf{H}_{n_h/tp} \otimes \mathbf{I} Hnh/tpI,当 TP = 8 时, n h / t p n_h/tp nh/tp 很可能找不到对应维数的 Hadamard 矩阵,而如果像 SpinQuant 这样都做 head-wise 的变换就不会有这种问题
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • (2) Cayley-optimized rotation. 作者对 R 1 , R 2 R_1,R_2 R1,R2 做了训练, R 3 , R 4 R_3,R_4 R3,R4 由于无法融到权重里,因此这些矩阵保持不变,这样可以使用快速 Hadamard 变换,推理开销比较小。训练方式上采用 Cayley transform 用于保证训练过程中 R R R 正交
    在这里插入图片描述在这里插入图片描述其中, Y Y Y 为反对称矩阵, G G G 为可学习参数 (Cayley trick 可参考 Orthogonal Finetuning);损失函数采用 CE loss,在 800 个样本的 Wiki 校准集上训 100 epochs,8 卡训 7B 模型大约需要 1.25h,训练开销还是比较大的;注意到,在 QuaRot 框架中, R 1 R_1 R1 影响着所有 Transformer Layer,因此如果要优化 R 1 R_1 R1,就必须做端到端优化,训练开销一定是很大的
    在这里插入图片描述

Experiments

  • Quantization Settings. follow QuaRot,不一样的是激活值量化采用非对称量化,另外也和 QuaRot 一样用了 weight clipping,但没有用 activation clipping,因为作者发现没啥收益;作者在论文里没说,但是代码里实际和 QuaRot 一样也是用的自注意力层混精量化 (Q 不量化,只量化 KV)

  • Main results.
    在这里插入图片描述
  • Ablation studies. (1) Compatibility with GPTQ. 在结合 GPTQ 时,作者在只量化激活值的模型上优化 rotation matrices,把权重量化的工作完全交给 GPTQ,也让正交变换更专注于缓解激活值 outliers
    在这里插入图片描述(2) Impact of each rotation.
    在这里插入图片描述(3) Rotation type. 训练后不管初始化是随机正交矩阵还是 Hadamard 矩阵,最终精度都差不多
    在这里插入图片描述

References

安卓期末大作业—Android图书管理应用源代码(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—And
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值