英特尔 AutoRound:面向 LLM 和 VLM 的高级仅权重量化
Intel 的 AutoRound 是一种仅权重的后训练量化(PTQ)工具,旨在降低大型语言模型(LLMs)和视觉语言模型(VLMs)的体积和推理延迟。通过使用有符号梯度下降联合优化权重四舍五入和裁剪范围,AutoRound 能以最小的精度损失实现准确的低位量化(INT2 至 INT8)。
低位宽下的卓越精度
AutoRound 在低位场景,尤其是 2 位精度下表现出显著的性能提升。根据提供的数据,AutoRound 在 INT2 上的相对精度可比流行基线高出最多 2.1 倍。它在 4 位精度上也保持竞争优势,这一点在 Low-Bit Open LLM Leaderboard 上已有体现。
技术能力与灵活性
AutoRound 旨在实现高效且广泛兼容,适用于不同的模型架构和硬件后端。
模型与设备支持
- LLMs: 支持大多数流行架构,包括 LLaMA、Qwen 和 DeepSeek。
- VLMs: 支持超过 10 种视觉语言模型,包括 Gemma3 和 Mistral-Small-3.1。对于不受支持的模型,可使用
--iters 0应用 RTN 方法,尽管可能会有一定的精度损失。 - Hardware: 兼容 CPU、英特尔 GPU 和 CUDA。
量化配置与格式
AutoRound 支持多种仅权重量化配置,包括 INT2、INT3、INT4、INT8 以及混合位宽调优。该工具可以将模型导出为多种格式,以确保互操作性,包括:
- AutoRound
- GPTQ
- AWQ
- 选择 GGUF 格式
量化效率与性能
AutoRound 仅使用 200 步调优和最多 128 条样本的小型校准数据集即可实现高精度。这使其相较于其他 INT2 方法显著更快且资源占用更低。
量化速度基准
在“轻量模式”下,AutoRound 能在 NVIDIA A100 GPU 上用 37 分钟对 72B 参数模型进行量化。下表比较了不同工具和配置下的量化时间:
| 模型 | AutoAWQ(128 样本) | AutoAWQ(512 样本) | GPTQ(Transformers) | AutoRound Light(128 样本) | AutoRound(128 样本) | AutoRound(512 样本) |
|---|---|---|---|---|---|---|
| Qwen2.5 3B | 7min | 17min | 13min | 3min | 8min | 9min |
| Llama3.1-8B | 13min | 27min | 22min | 6min | 13min | 17min |
| Qwen2.5 72B | 105min | 230min | OOM | 37min | 120min | 149min |
调优配方
AutoRound 提供了三种不同的配方,以在精度和速度之间取得平衡:
auto-round-best:针对最高精度进行优化,推荐用于 2 位量化。auto-round(默认):在精度和调优成本之间提供平衡的折衷。auto-round-light:针对最高速度进行优化。
实现与使用
AutoRound 可通过 pip 安装(pip install auto-round),并支持命令行和基于 API 的工作流。
命令行界面
用户可以指定模型、位宽、组大小以及所需的导出格式。例如:
auto-round --model Qwen/Qwen3-0.6B --bits 4 --group_size 128 --format "auto_round,auto_awq,auto_gptq" --output_dir ./tmp_autoround
API 集成
AutoRound 与 transformers 库集成,允许用户加载模型和分词器,初始化 AutoRound 类,并使用 quantize_and_save 保存量化模型。它还支持将现有的 GPTQ 或 AWQ 模型转换为 AutoRound 格式,以提升与英特尔设备的兼容性。