An Empirical Study of OpenPangu Quantization on Ascend NPUs
本文通过一项实证研究,评估了在华为昇腾 910B1 NPU 上针对 OpenPangu 1B 和 7B 模型进行的各种训练后量化方法,结果表明 8 位量化实际上是无损的,而 4 位量化仅对较大模型具有实用性,且超低精度设置在很大程度上是失效的。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你拥有两个非常聪明的机器人,一个是小的(1B 模型),一个是大的(7B 模型)。这些机器人就像是博学多才的图书管理员,能够阅读、写作并解决问题。然而,它们目前穿着厚重且笨重的外套(原始的“FP16”格式),这占用了你背包里大量的空间。你想把这些外套缩小,以便将它们装进一种特定的登山装备——Ascend NPU(由华为制造的一种特殊芯片)中,但你担心如果把外套缩得太小,机器人可能会忘记如何思考。
这篇论文是一次“压力测试”,旨在测试在机器人停止正常工作之前,我们能将这些外套缩小到什么程度。研究人员尝试了不同的数据压缩方式,范围从轻微修剪到剧烈缩减。
以下是他们发现的研究结果,通过简单的类比进行了说明:
1. “轻微修剪”(8位量化)
结果: 如果你只是稍微修剪一下外套(降至 8 位),机器人与它们原本穿着厚重外套时的状态几乎没有区别。
- 类比: 这就像是拿一件厚重的冬装外套并去掉了额外的内衬。它变轻了,也更容易携带,但机器人的感觉仍然和以前完全一样,它们依然能像以前那样解数学题、写代码以及讲笑话。
- 结论: 这是最稳妥的选择。如果你想在节省空间的同时不损失任何智力,就这样做。
2. “剧烈缩减”(4位量化)
结果: 在这里,机器人的大小就显得很重要了。
- 大机器人 (7B): 当你把大机器人的外套缩减到 4 位时,它仍然表现得相当不错。它还能完成大部分工作,尽管在处理非常困难的数学或编程难题时可能会有些磕绊。
- 小机器人 (1B): 当你试图把小机器人的外套缩减到 4 bits 时,它开始失去理智了。它在推理任务、数学和编程方面会变得困惑。
- 类比: 想象一下,大机器人是一个强壮的成年人,即使你拿走了他们沉重的靴子,他们仍然可以跑马拉松。而小机器人是一个孩子;如果你拿走了他们的重靴子,他们甚至无法在房间里走动就会摔跤。
- 结论: 对于大机器人来说,4 位是可以接受的。对于小机器人来说,4 位对于严肃的任务来说风险太高。
3. “极端压缩”(2位和二进制)
结果: 当研究人员尝试将外套缩小到 2 位甚至 1 位(二进制)时,机器人彻底崩溃了。
- 类比: 这就像是试图把一整本百科全书塞进一张便利贴里。机器人的表现开始胡言乱语。它们的回答变得毫无意义,而且它们的“困惑度”(衡量它们有多困惑的分数)飙升,实际上变成了无穷大。
- 结论: 不要这样做。在这种压缩水平下,机器人实际上已经变得毫无用处。
4. “特殊的收缩包装”(不同方法)
研究人员尝试了不同的“技术”来缩小外套,例如 AWQ、GPTQ 和 SmoothQuant。
- AWQ 就像是一位裁缝,他知道在哪里裁剪布料才能完美保持形状。它效果最好,尤其是在 4 位量化的大机器人身上。
- SmoothQuant 尝试同时缩小外套和机器人的内部神经系统(激活值)。虽然它在 8 位时表现尚可,但当他们尝试将其缩小到 4 位时,机器人的神经系统发生了短路,导致崩溃(出现非有限数值错误/non-finite errors)。
- 结论: 有些缩减方法比其他的更聪明。AWQ 是这项工作的最佳裁缝,但缩小机器人的内部神经系统(激活值)目前还太危险。
5. “粒度”(你如何裁剪布料)
论文还研究了如何裁剪布料。他们发现,将布料裁剪成细小的、特定的补丁(按组/per-group)比切成一条长条(按通道/per-channel)效果更好。
- 类比: 想象一下在缝补一块被面。如果你用一大块布料去补整块被面,看起来会很奇怪且不贴合。如果你将布料切割成适合每个特定补丁的小方块,被面看起来就会非常完美。
- 结论: 如果你的硬件支持,请始终使用“小补丁”方法(per-group)。这能让机器人保持更聪明。
给登山者的总结
如果你正在打包你的 Ascend NPU 装备:
- 安全选择: 将外套缩小到 8 位。机器人依然聪明,且你节省了空间。
- 冒险选择: 仅当你拥有大机器人 (7B) 并且使用 AWQ 方法时,才考虑缩小到 4 位。如果需要小机器人 (1B) 进行数学或编程,请避免这样做。
- 避免: 不要尝试将外套缩小到 2 位或 1 位。机器人会停止工作。
- 警告: 现在还不要尝试缩小机器人的内部神经系统(激活值);这会导致崩溃。
论文得出结论:虽然我们可以让这些机器人变得更小、更便携,但存在一个硬性极限。我们不能在不破坏它们大脑的前提下无限地缩小它们。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。