模型量化
- 将精度高的模型参数舍入精度较低的参数
- 按照映射方式,有线性量化和非线性量化
- 按照过程是否沿零点对称,分为对称量化和非对称量化
- 反量化:在记录了映射关系时,可以一定程度上还原量化之前的权重值
分位数量化
- 信息论认为,最高效的编码形式是,每一个编码被使用的概率相等
- 单纯的使用round进行量化,可能导致很多数据被round到同一个整数上,会造成更多的性能损失
- 按照权重在所有权重中所处的分位数,映射到量化后权重上
- 为了防止极端值,可以进行分块处理
梯度检查点
- 在前向计算时,会保留激活值以便反向传播
- 如果显存不足,选择释放激活值,则反向传播时需要重新计算
- 保存部分checkpoint可以在计算/存储之前平衡
QLoRA
- 对所有权重进行分块的int4量化,保留量化参数
- 对量化参数进行int8量化,进一步节省空间
- 分页优化:当显存依然不足时,将部分checkpoint挪到cpu上
- QLoRA:在lora的基础上,把参数矩阵W进行两次量化,计算时再两次反量化。低秩矩阵使用bf16
posted @
2025-05-20 21:23
Phile-matology
阅读(
70)
评论()
收藏
举报