论文笔记:OneBit: Towards Extremely Low-bit Large Language Models

202402 arxiv

1 背景

  • 模型量化主要通过把模型的线性层【nn.Linear】(Embedding 层和 Lm_head 层除外)转化为低精度表示实现空间压缩
    • 此前工作的基础是利用 Round-To-Nearest(RTN)方法把高精度浮点数近似映射到附近的整数网格
    • 然而基于 RTN 的方法在极低位宽时(3bit 以下)存在严重的精度损失问题,量化后的模型能力损失十分严重
    • 基于 RTN 的量化方法在 1bit 量化时几乎失效,难以有效地保留原模型的性能。
  • ------>论文提出OneBit 框架,包括全新的 1bit 层结构、基于 SVID 的参数初始化方法和基于量化感知知识蒸馏的知识迁移

2 论文方法

2.1 1bit 结构

  • OneBit 的终极目标是将 LLMs 的权重矩阵压缩到 1bit。
  • 真正的 1bit 要求每个权重值只能用 1bit 表示,即只有两种可能的状态。
    • 论文认为,在大模型的参数中,有两个重要因素都必须被考虑进来
      • 浮点数的高精度
      • 参数矩阵的高秩
    • ------>引入两个 FP16 格式的值向量以补偿由于量化导致的精度损失
      • 不仅保持了原始权重矩阵的高秩
      • 还通过值向量提供了必要的浮点精度,有助于模型的训练和知识迁移
  • 假设对一个 4096*4096 的线性层进行压缩
    • OneBit 需要一个 4096*4096 的 1bit 矩阵,和两个 4096*1 的 16bit 值向量
    • ------>总的位数为 16,908,288,总的参数个数为 16,785,408,平均每个参数占用仅仅约 1.0073 个 bit

2.2 基于 SVID 初始化量化模型

  • 为了使用充分训练好的原模型更好地初始化量化后的模型,进而促进更好的知识迁移效果,论文提出一种新的参数矩阵分解方法
    • 值 - 符号独立的矩阵分解(SVID)
      • 把符号和绝对值分开,并把绝对值进行秩 - 1 近似
        • 秩 - 1 近似可以通过常见的矩阵分解方式实现,例如奇异值分解(SVD)和非负矩阵分解(NMF)

2.3 通过知识蒸馏迁移原模型能力

  • 通过知识蒸馏从未量化模型(教师网络)中学习,实现能力向 量化模型(学生网络)的迁移

3 实验

3.1 效果

  • 从 1.3B 到 13B 不同大小、OPT 和 LLaMA-1/2 不同系列的模型来证明 OneBit 的有效性

3/2 效率

相关推荐
叶庭云1 分钟前
PyTorch 深度学习框架中 torch.cuda.empty_cache() 的妙用与注意事项
pytorch·深度学习·gpu·empty_cache·内存缓存管理
缘分开始t6212382 分钟前
全球直播新标杆:DeepSeek融合全平台AI无人直播,构建直播流量永动机!
人工智能·智能电视
天天向上杰27 分钟前
通义灵码AI程序员
人工智能·aigc·ai编程
sendnews38 分钟前
AI赋能教育,小猿搜题系列产品携手DeepSeek打造个性化学习新体验
人工智能
紫雾凌寒1 小时前
解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
人工智能·python·神经网络·算法·机器学习·卷积神经网络
WBingJ1 小时前
2月17日深度学习日记
人工智能
zhengyawen6661 小时前
深度学习之图像分类(一)
人工智能·深度学习·分类
莫莫莫i1 小时前
拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!
人工智能·微软·量子计算
C#Thread1 小时前
机器视觉--图像的运算(加法)
图像处理·人工智能·计算机视觉
无极工作室(网络安全)1 小时前
机器学习小项目之鸢尾花分类
人工智能·机器学习·分类