技术指南

SmoothQuant 和激活量化

SmoothQuant 是一种技术,可以将大型语言模型的权重和激活压缩为 8 位整数,而无需重新训练。

阅读时间:2分钟最后更新

概述

It matters because activations in big models contain extreme outliers that normally wreck low-precision math, and SmoothQuant tames them.

深入探讨

当您将模型从 16 位浮点数缩小到 8 位整数时,权重很容易压缩,但激活却很麻烦:某些通道携带的值比其他通道大 10 到 100 倍,并且强制它们进入粗略的整数网格会破坏准确性。 SmoothQuant,由Xiao等人介绍。在 2022 年,观察到权重是平滑且易于量化的,而激活是尖峰的。因此,它在数学上转移了难度:它将激活通道除以每个通道的比例,并将相应的权重乘以相同的比例。这两个操作取消,使模型输出保持不变,但现在两个张量都处于友好的范围内。结果是 W8A8(8 位权重和激活)推理,精度损失接近于零,加速速度提高了大约 2 倍,并节省了内存。

技术洞察

核心技巧是每通道平滑因子 s,计算公式为 s = max(|X|)^alpha / max(|W|)^(1-alpha)。激活按 1/s 缩放,权重按 s 缩放,因此矩阵乘积 XW 被保留。由于缩放被离线吸收到前一层的权重或融合操作中,因此它增加了零运行时间成本。 alpha 超参数(通常为 0.5)控制有多少异常值负担从激活转移到权重。

战略影响

成本与预算

多年来,架构决策决定着性能和运营成本。

更清晰的判决

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

质量控制

更好的工程选择可以减少生产中的可靠性事故。

SmoothQuant 和激活量化的未来

SmoothQuant 确定激活异常值是可迁移的而不是不可避免的,并且该想法现在支持生产 INT8 和 FP8 服务。期望平滑与更细粒度的方案相结合,例如每组量化、学习缩放和 4 位激活研究(例如异常值感知方法)。随着 FP8 硬件(Hopper、Blackwell)的成熟,平滑式平衡将继续融入编译器和推理引擎管道中,因此量化几乎保持免费。

现实世界的实施

通过将内存和矩阵乘法成本减半,在 W8A8 上使用更少的 GPU 提供 70B 参数 LLM

在 NVIDIA Hopper/Blackwell 张量核心上启用 INT8 推理,原生加速 8 位整数数学

在成本受限的云端点上部署聊天模型,其中吞吐量加倍可直接削减每个令牌的费用

压缩 Transformer 编码器以实现设备上语音或翻译,其中 8 位内核运行得更快、更凉爽

风险与防护栏

优化一项基准测试可以隐藏更广泛的系统弱点。

基础设施和维护成本常常被低估。

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

2

在实际负载和数据条件下进行基准测试。

3

仪器监控错误、漂移和用户影响。

4

在扩展之前准备回滚和事件响应路径。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SmoothQuant and Activation Quantization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一个指南

激活指导和表示工程

常见问题

What is SmoothQuant and Activation Quantization?

SmoothQuant 是一种技术,可以将大型语言模型的权重和激活压缩为 8 位整数,而无需重新训练。这很重要,因为大模型中的激活包含通常会破坏低精度数学的极端异常值,而 SmoothQuant 可以驯服它们。

SmoothQuant在低精度推理中具体解决什么问题?

SmoothQuant 的目标是某些激活通道中出现的大异常值,否则当激活量化为 8 位时,这些值会破坏准确性。

SmoothQuant 如何使激活更容易量化?

它将激活通道除以每个通道的尺度,并将匹配权重乘以该尺度,因此乘积不变,但两个张量都变得更容易量化。

W8A8 符号是什么意思?

W8A8 表示权重 (W) 和激活 (A) 的 8 位量化,SmoothQuant 能够以最小的精度损失实现该机制。

为什么 SmoothQuant 的缩放基本上不会增加运行时开销?

平滑尺度提前折叠到前一层的权重或融合运算中,因此推理时不会发生额外的计算。

alpha 超参数在 SmoothQuant 中起什么作用?

Alpha(通常为 0.5)平衡平滑因子,决定将多少量化难度从激活转移到权重上。