什么是 量化?
量化是一种模型压缩技术,将神经网络权重和激活值从高精度表示(如 32 位浮点数)降低到低精度格式(如 8 位或 4 位整数),在保持可接受精度的同时显著减少模型大小和推理成本。
快速了解
| 全称 | 模型量化 |
|---|---|
| 创建时间 | 技术源自 1990 年代,2023 年在大语言模型领域普及 |
| 规范文档 | 官方规范 |
工作原理
量化已成为在资源受限设备上部署大语言模型的关键技术。通过用更少的位数表示权重,模型需要更少的内存,并且可以在支持整数运算的硬件上更快运行。常见方法包括训练后量化(PTQ,在训练后进行量化)和量化感知训练(QAT,在训练期间融入量化以获得更好的精度)。流行的格式包括 INT8、INT4 以及较新的 GPTQ 和 AWQ 格式。
主要特点
- 根据位精度将模型大小减少 2-8 倍
- 支持在消费级 GPU 和边缘设备上部署
- 压缩比与模型精度之间的权衡
- 训练后量化和量化感知训练两种方法
- 针对整数运算的硬件特定优化
- 多种格式:INT8、INT4、FP16、BF16、GPTQ、AWQ
常见用途
- 在 VRAM 有限的消费级 GPU 上运行大语言模型
- 在移动和边缘设备上部署模型
- 降低云端推理成本
- 为延迟敏感型应用实现实时推理
- 个人电脑上的本地 AI 助手
示例
Loading code...常见问题
INT8 和 INT4 量化有什么区别?
INT8 量化使用 8 位整数表示权重,将模型大小从 FP32 减少 4 倍,同时保持相对较高的精度。INT4 使用 4 位整数,可实现 8 倍压缩,但潜在的精度损失更大。INT8 通常更适合生产环境使用,而 INT4 更适合内存极度受限且可接受一定精度损失的场景。
量化会影响模型质量吗?
是的,由于数值精度降低,量化通常会导致一些质量下降。但 GPTQ 和 AWQ 等现代技术可以最小化这种影响。对于大多数应用,质量损失可以忽略不计(在基准测试中约 1-3%),特别是使用 INT8 量化时。与训练后量化相比,量化感知训练(QAT)可以进一步减少精度损失。
PTQ 和 QAT 有什么区别?
训练后量化(PTQ)在不重新训练的情况下将预训练模型转换为较低精度,快速且易于应用。量化感知训练(QAT)在训练期间模拟量化,使模型能够适应较低精度,通常可获得更好的精度。PTQ 适合快速部署,而 QAT 在需要最大精度时更为理想。
任何模型都可以量化吗?
大多数神经网络模型都可以量化,但效果各异。大语言模型和视觉模型通常量化效果良好。一些具有特殊架构或激活模式的模型可能会经历显著的精度损失。建议在部署前针对您的特定用例测试量化模型,并与原始模型比较性能指标。
哪些硬件从量化中获益最多?
具有整数运算单元的 CPU 和 GPU 从量化中获益显著。具有 Tensor Cores 的 NVIDIA GPU 高效支持 INT8。Apple Silicon(M1/M2/M3)芯片具有针对量化模型优化的专用神经引擎。移动电话和嵌入式系统等边缘设备由于内存和计算资源有限,获得的相对改进最大。