虎嗅-AI 2024年11月15日
Scaling Law终结,量化也不管用,AI大佬都在审视这篇论文
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

哈佛等团队研究表明训练token越多精度要求越高,该研究探讨精度、参数和数据的权衡,及对模型训练和推理的影响,得出一系列结论,也存在一定局限性。

训练token越多精度要求越高,如Llama-3随数据集增大精度需增加

研究了预训练和后训练中精度对损失的影响,低精度训练会致高损失

提出利用“精度感知”Scaling Laws预测模型在不同精度下的性能

指出后训练量化引起的性能退化随模型训练数据量增加而增加

几十万人关注,一发表即被行业大佬评为“这是很长时间以来最重要的论文”。

哈佛、斯坦福、MIT等团队的一项研究表明:训练的token越多,需要的精度就越高。

例如,Llama-3在不同数据量下,随着数据集大小的增加,计算最优的精度也会增加。

换句话说就是,对于大规模的训练任务,低精度的量化可能不再足够有效。

按照结论,对Scaling Law的遵循意味着我们需要保持更高精度,然而一直以来,人们通常会选择量化来节省计算资源。

一旦结论成立,GPU的设计和功能可能也需要相应调整,因为传统上,GPU的性能提升部分依赖于对低精度计算的优化。

正如艾伦AI研究所科学家所指出的:

这是很长时间以来最重要的论文。它用强有力的证据表明,我们正在达到量化的极限。论文得出的结论对整个领域以及GPU的未来有着广泛的影响。

与此同时,研究得出了两个重要结论:

    如果量化是在后训练阶段进行的,那么更多的预训练数据最终可能反而有害;

    在高和下一代精度下进行预训练可能都是次优的设计选择;

这也引来OpenAI员工大赞特赞:

将非常酷地看到如何SOTA量化方案推动前沿;在我看来,将一半的计算预算用于一次大规模运行,以检查模型是否适用于大模型是值得的。

提出“精度感知”Scaling Laws

一上来,研究就指出,当前扩展的焦点主要放在了模型规模、数据量上,忽视了对精度的关注。

而事实上,随着模型进一步应用落地,低精度量化正在成为新的范式。

深度学习正朝着更低精度的方向发展。当前的前沿模型在BF16中进行训练,并且大家都在努力将预训练范式转移到FP8,甚至下一代硬件将支持FP4;

因此,研究想要搞清:

精度、参数和数据之间的权衡是什么?它们在预训练和推理方面如何比较?

具体而言,团队研究了预训练和后训练中 ,随着数据和参数的变化,精度对损失的影响如何变化。

同时,为了精确测量相关变化,团队专门提出了“精度感知”的Scaling Laws,以预测和优化不同精度下的语言模型训练和推理。

先说结论。下图展示了两个主要的实验结果:

具体而言,左侧图表展示了在不同精度下训练模型的效果。

其中纵轴表示最终的验证损失,横轴表示不同的模型规模,从30M到220M参数。不同的颜色代表了不同的训练精度,从INT3到INT6,以及没有后训练量化。

研究发现,在较低精度下训练模型会导致较高的损失,而随着精度的提高,损失会减少;同时,随着模型规模的增加,损失也会减少。

另外,右侧图表展示了在不同精度下进行推理时的模型性能。

其中横轴表示了推理时的权重精度。

结果显示,在推理时使用较低精度会导致性能下降,即损失的增加;而随着精度的提高,损失会逐渐减少,接近没有进行后训练量化的模型性能。

上述发现也解释了为什么Llama-3难以量化?

要知道,Llama-3发布后,它因“超15T Token数据上的超大规模预训练”而闻名,不过人们后来发现,Llama-3低比特量化性能下降显著。

这可能正如研究提到的,模型在预训练阶段看到的数据越多,对量化的敏感性就越高。

与此同时,研究还发现了:

后训练量化引起的性能退化随着模型训练数据量的增加而增加。

换句话说,在大量数据上训练的模型,如果在推理时进行低精度的PTQ,可能会导致性能显著下降。

接下来,团队提出利用“精度感知”Scaling Laws来预测模型在不同精度下的性能,并指出:

在较低精度下进行训练可以减少模型的“有效参数数量”,从而预测在低精度下训练和后训练量化产生的额外损失。

其中包含两个关键公式,它们构成了一个统一的理论框架,用于预测不同精度下训练和推理的性能。

训练后量化引起的损失退化预测公式:

考虑训练精度的模型损失预测公式:

统一预训练与后训练的精度预测

BTW,研究最终将后训练量化和预训练量化的影响统一起来,以此实现:

预测在任何精度组合下的预训练和后训练损失。

相关公式如下:

同时,为了验证预测的准确性,研究对超过465次预训练运行的数据进行拟合,并在高达1.7亿参数、训练了高达260亿个token的模型上进行了验证。

并在过程中提出了以下几点建议:

    需要衡量精度与性能,在资源有限的情况下,可以考虑使用较低的精度来训练更大的模型;

    需要衡量精度与参数,在低精度下训练时,可以考虑增加模型的规模,因为研究表明这样做可能是计算上最优的;

    需要优化数据量,通过数据增强、选择性数据采样等技术提高数据使用率,并在预训练时应避免使用过多的数据,特别是在模型需要后期量化的情况下。

不过,这项研究目前也存在一定局限性,比如作者自述使用了一个固定的模型架构来控制变量。

这意味着,相关结果可能不适用于经过架构调整的低精度训练模型,因为架构的变化可能会影响模型对精度变化的敏感性。

最后,有网友还想得更远。提出一旦量化失败,还有3条路可以考虑:

你怎么看?

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

精度 模型训练 推理性能 Scaling Laws
相关文章