英特尔 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 提供了三种不同的配方,以在精度和速度之间取得平衡:

  1. auto-round-best:针对最高精度进行优化,推荐用于 2 位量化。
  2. auto-round(默认):在精度和调优成本之间提供平衡的折衷。
  3. 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 格式,以提升与英特尔设备的兼容性。

Sources