量化
量化技术专注于用较少的信息表示数据,同时尽量不损失太多准确性。这通常意味着将数据类型转换为用更少的位数表示相同的信息。例如,如果您的模型权重存储为32位浮点数,并且它们被量化为16位浮点数,这将使模型大小减半,从而更容易存储并减少内存使用。较低的精度还可以加速推理,因为用较少的位数进行计算所需的时间更少。
有兴趣向Transformers添加新的量化方法吗?阅读HfQuantizer指南以了解如何操作!
如果您是量化领域的新手,我们建议您查看这些与DeepLearning.AI合作的关于量化的初学者友好课程:
何时使用什么?
社区已经为各种使用场景开发了许多量化方法。使用Transformers,您可以根据您的使用场景运行这些集成方法中的任何一种,因为每种方法都有其自身的优缺点。
例如,一些量化方法需要使用数据集对模型进行校准,以实现更准确和“极端”的压缩(高达1-2位量化),而其他方法则可以直接使用即时量化。
另一个需要考虑的参数是与目标设备的兼容性。您希望在CPU、GPU还是Apple芯片上进行量化?
简而言之,支持多种量化方法可以让您为特定用例选择最佳的量化方法。
使用下表帮助您决定使用哪种量化方法。
* bitsandbytes 正在进行重构,以支持除 CUDA 之外的多种后端。目前,ROCm(AMD GPU)和 Intel CPU 的实现已经成熟,Intel XPU 正在开发中,预计将在 Q4/Q1 支持 Apple Silicon。有关安装说明和最新后端更新,请访问 此链接。
我们重视您的反馈,以帮助在正式发布前识别错误!查看这些文档以获取更多详细信息和反馈链接。
** bitsandbytes 正在寻找贡献者来帮助开发和领导 Apple Silicon 后端。感兴趣吗?通过他们的仓库直接联系他们。赞助可能提供津贴。