术语表 / 它怎样听你说话

量化

又称:模型量化、4位、8位

更新于

定义

量化是用更少的位数存储模型中的每个数值,例如原本用16位或32位,现在用4位或8位。它让模型更小、占用的内存更少,通常只损失少量准确度。

模型主要是一长串数字,称为权重。训练完成时,每个权重通常是32位或16位浮点数。量化把它们改写成更粗略的形式。Apple的文档把它定义为减少表示一个数字所用的位数。

这就是同一个模型会以多个不同大小的下载版本出现的原因,标签有4bit、8bit或Q4等。它们是同一个模型,只是压缩程度不同。

能小多少

大小几乎与位数成正比。每个权重的位数减半,文件大约也减半。

一个公开的例子能说明这一点。对于一个80亿参数的语言模型,16位文件约为15 GiB,8位文件约为8 GiB,常见的4位版本约为4.6 GiB。4位版本实际约为每个权重4.9位,而不是正好4位,因为有些部分保留了更高的精度。

你会失去什么

会损失一点准确度。数字更粗略,意味着模型的运算处处都会稍有偏差,而且误差会累积。影响有多明显,取决于模型以及压缩的程度。

Apple的指导意见是,压缩到8位,对某些模型压缩到6位或4位,准确度只会略微下降。

除了大小,你还能得到什么

Apple列出的模型压缩可能带来的好处是:更小的内存占用、更低的延迟和更低的功耗,可能是其中一项,也可能兼而有之。在笔记本电脑上,内存往往是最重要的:一个能轻松装下的模型,会给你打开的其他一切留出空间。

看懂标签

标签告诉你权重的精度。

  • fp32或float32:全精度,大多数模型都以此精度训练。
  • fp16、bf16或float16:半精度。模型常以这种形式发布。
  • 8bit或int8:全精度的四分之一。
  • 4bit或int4:全精度的八分之一。在笔记本电脑上运行大模型时的常见选择。
  • Q4、Q5、Q8后面跟着字母:同一思路在一种常见文件格式中的写法,字母表示所用的方法。

量化与调色板化

Apple的工具提供两种用更少位数存储权重的方式。线性量化把原始数值的范围映射到一个较小的整数范围。调色板化也称为权重聚类,它把权重分成若干簇,并把每个权重存储为一个简短查找表中的索引。

Apple的指导意见是,调色板化通常在神经网络引擎上效果最好,而对于在Mac图形芯片上运行的模型,4位量化的效果也可以很好。

大家常问的问题。

模型上的4位是什么意思?

意思是它的每个权重大约用4位存储,而原始模型用16位或32位。文件小得多,模型的准确度略低。

量化会让模型变差吗?

会略微变差。它用一些准确度换取更小的体积和更低的内存占用。Apple的指导意见是,8位,以及对某些模型而言的6位或4位,准确度只会略微下降。

4位模型和8位模型哪个更好?

8位模型更接近原始模型,4位模型的大小约为它的一半。如果内存够用就选8位,不够就选4位。

量化会让模型更快吗?

可能会。Apple列出的可能好处中包括更低的延迟,此外还有更小的内存占用和更低的功耗。

任何模型都能量化吗?

大多数都可以,借助转换已发布权重的工具即可。量化后效果保持得如何,因模型而异。

量化和压缩是一回事吗?

量化是模型压缩的一种。其他方式包括剪枝(移除部分权重)和调色板化(把权重存储为查找表中的条目)。

相关术语

你的声音一直都更快。

免费试用7天,之后$19 USD买断。无需账户,无需订阅,不上传任何内容。

macOS 14或更高版本 · Apple芯片