补全llm知识体系的地基:量化与QLoRA

模型量化

  • 将精度高的模型参数舍入精度较低的参数
  • 按照映射方式,有线性量化和非线性量化
  • 按照过程是否沿零点对称,分为对称量化和非对称量化
  • 反量化:在记录了映射关系时,可以一定程度上还原量化之前的权重值

分位数量化

  • 信息论认为,最高效的编码形式是,每一个编码被使用的概率相等
  • 单纯的使用round进行量化,可能导致很多数据被round到同一个整数上,会造成更多的性能损失
  • 按照权重在所有权重中所处的分位数,映射到量化后权重上
  • 为了防止极端值,可以进行分块处理

梯度检查点

  • 在前向计算时,会保留激活值以便反向传播
  • 如果显存不足,选择释放激活值,则反向传播时需要重新计算
  • 保存部分checkpoint可以在计算/存储之前平衡

QLoRA

  • 对所有权重进行分块的int4量化,保留量化参数
  • 对量化参数进行int8量化,进一步节省空间
  • 分页优化:当显存依然不足时,将部分checkpoint挪到cpu上
  • QLoRA:在lora的基础上,把参数矩阵W进行两次量化,计算时再两次反量化。低秩矩阵使用bf16
posted @ 2025-05-20 21:23  Phile-matology  阅读(70)  评论(0)    收藏  举报