ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
Scaling Laws终结,量化无用,AI大佬都在审视这篇论文
3033点击    2024-11-13 13:41

研究表明,你训练的 token 越多,你需要的精度就越高。


最近几天,AI 社区都在讨论同一篇论文。


UCSD 助理教授 Dan Fu 说它指明了大模型量化的方向。



CMU 教授 Tim Dettmers 则直接说:它是很长一段时间以来最重要的一篇论文。OpenAI 创始成员、特斯拉前 AI 高级总监 Andrej Karpathy 也转发了他的帖子。



Tim Dettmers 表示,可以说,人工智能的大部分进步都来自计算能力的提升,而(在最近)这主要依赖于低精度路线的加速(32- > 16 - > 8 位)。现在看来,这一趋势即将结束。再加上摩尔定律的物理限制,大模型的大规模扩展可以说要到头了。


例如,英伟达最新的 AI 计算卡 Blackwell 将拥有出色的 8 位能力,并在硬件层面实现逐块量化。这将使 8 位训练变得像从 FP16 切换到 BF16 一样简单。然而,正如我们从新论文中看到的那样,对于很多大模型的训练来说,8 位是不够的。


与其他模型相比,Llama 405B 没有得到太多应用的主要原因是它体量太大了,运行 405B 模型进行推理非常麻烦。但论文表明,训练较小的模型(例如 70B)时,你也无法在低精度下有效地训练这些模型。见下图 8B(圆形) 70B(三角形) 405B(星型):



可见对于 20B Token 数据的训练,训练 8B 模型在 16 位中效率更高。对于 70B 模型来说 8 位仍然有效,但效率越来越低。


Tim Dettmers 感叹道:从我自己的经验(大量失败的研究)来看,效率是无法欺骗的。如果量化失败,那么稀疏化也会失败,其他效率机制也会失败。如果这是真的,那么我们现在就已经接近最优了。


那以后我们怎么办?眼前似乎只有三条可能的路线:


  • 扩大数据中心规模:未来约 2 年这仍然是可以做到的事;
  • 通过动态扩展:路由到更小的专门模型或大 / 小模型上;
  • 知识的提炼:这条路线与其他技术不同,并且可能具有不同的特性。


对于新硬件来说,我们仍然有 HBM4 内存,这将是一个很好的提升。但 FP4 训练似乎是一个谎言,节点缩小不会再增加多少效率了。


这篇名为《Scaling Laws for Precision》的论文顾名思义,制定了一个和大语言模型使用数据精度有关的扩展定律,涵盖了训练前和训练后。



  • 论文标题:Scaling Laws for Precision
  • 论文链接:https://arxiv.org/abs/2411.04330


据论文一作,来自哈佛大学的 Tanishq Kumar 介绍,他们的研究认为:


  • 由于当代大模型在大量数据上经历了过度训练,因此训练后量化已变得非常困难。因此,如果在训练后量化,最终更多的预训练数据可能会造成副作用;
  • 在预训练期间以不同的精度放置权重、激活或注意力的效果是一致且可预测的,并且拟合扩展定律表明,高精度(BF16)和下一代精度(FP4)的预训练可能都是次优的设计选择。


低精度训练和推理会影响语言模型的质量和成本,但当前的大模型 Scaling Law 并未考虑到这一点。在这项工作中,研究人员为训练和推理设计了「精度感知」扩展定律。


作者提出,以较低的精度进行训练会降低模型的有效参数数量,从而使我们能够预测低精度训练和训练后量化带来的额外损失。对于推理,随着模型在更多数据上进行训练,训练后量化带来的性能下降会加剧,最终导致额外的预训练数据产生负面影响。对于训练,扩展定律使我们能够预测具有不同精度的不同部分的模型的损失,以较低精度训练较大的模型可能是计算最优的。


该工作统一了训练后量化和训练前量化的扩展定律,得出一个单一的函数形式,可以预测不同精度下训练和推理的性能下降。


预训练 scaling law 表明,计算最佳预训练精度通常独立于计算预算。然而,令人惊讶的是,如果模型大小受到限制,这种独立性就不再成立,在这种情况下,计算最佳精度在计算中增长缓慢。


该研究以 3-16 bit 精度预训练了 465 个语言模型,并对每个模型进行了训练后量化。对于具有 N 个参数的语言模型,在 D 个 token 上进行训练,训练精度为 P_train,训练后权重精度为 P_post,该研究最终找到了一个统一的 Scaling Law,其形式如下:



其中,A、B、E、α、β 是正拟合常数,δ_PTQ 是指推理前训练后量化引起的损失退化。


研究简介


该研究首先研究了训练后量化模型权重的常用方法,发现训练时间越长 / 预训练期间「看到」的数据越多,模型在推理时对量化就越敏感,这解释了为什么 Llama-3 可能更难量化。



事实上,这种损失退化大致是预训练期间看到的 token / 参数比值的幂律,因此可以提前预测关键数据大小,超过该数据大小的更多数据的预训练会非常有害。直觉可能是,当你训练更多的数据时,更多的知识被压缩成权重,给定的扰动会对模型性能造成更大的损害。


图 1:主要发现示意图。在 BF16 中将固定大小的模型在各种数据预算上训练,并在最后量化权重。可以发现,由于训练后量化而导致的退化会随着预训练期间看到的 token 数量增加而增加,因此额外的预训练数据可能会造成损害。


经过扩展验证表明,以较低的精度训练较大的模型可以实现计算优化。


然后该研究将注意力转向低精度训练,主要研究量化感知训练(仅权重)和低精度训练。该研究将模型分解为权重、激活和 KV 缓存,找到其中任何一个量化到任意精度时损失的 Scaling Law,并开发一种组合且可解释的函数形式来预测在预训练期间,量化这三者的任意组合对损失的影响。


该研究的 Scaling Law 依赖于「有效参数计数」的概念,研究团队假设当你降低精度,参数也降低一定数量,计数就降低,那么包含 FP4 中所有内容的 10 亿参数模型具有可比较的数量 BF16 中 250m 模型的「有效参数」。



虽然权重可以毫无问题地以低精度进行训练,但激活和 KV 缓存很敏感。



最后,该研究将训练前和训练后的发现统一为可解释的函数形式,可以以任何精度组合预测训练前和训练后的损失。


该研究还发现,低精度的预训练可以以定量可预测的方式「增强」模型的训练后量化,但其程度低于直观预期。



作者表示:「该研究在进行实验时保持受控的架构和设置,但在实践中,通常会故意进行架构调整以适应低精度训练。」这也是这项研究的一点局限性。


感兴趣的读者可以阅读论文原文,了解更多研究内容。


参考内容:

https://twitter.com/Tim_Dettmers/status/1856338240099221674

https://twitter.com/Tanishq97836660/status/1856045600355352753


文章来自于微信公众号“机器之心”