量化(神经网络)

译自英文

神经网络中的量化降低权重和激活值的数值精度以提高效率,实现更快的推理和更低的内存占用。这是将AI模型部署到资源受限硬件上的关键技术。

神经网络的语境中,量化指的是降低模型中使用的参数(权重)和中间值(激活)数值精度的过程。在标准深度学习中,模型通常使用32位浮点数(FP32)进行训练,这种格式精度高,但消耗大量内存和计算资源。量化将这些值映射到较低精度的格式,例如8位整数(INT8)或4位整数(INT4),从而缩小模型大小,并加速支持整数运算的硬件上的推理。这项技术已成为部署大规模人工智能系统的关键,尤其是在效率至关重要的边缘设备和数据中心。

量化的概念源于数字信号处理,其中定义为将输入值从大集合(通常是连续的)映射到较小的可数集合。在神经网络中,这种映射会引入量化误差,也称为量化噪声,如果管理不当,可能会降低模型精度。然而,现代量化方法旨在通过校准、微调或先进算法来最小化这种误差,使模型能够在降低精度的情况下运行,且性能损失极小。

历史背景

量化在神经网络中的应用可以追溯到机器学习研究的早期,当时硬件限制促使人们使用低精度运算。在1980年代和1990年代,研究人员探索了二元和三元权重网络以降低计算复杂度,但这些早期努力在很大程度上受到缺乏合适硬件和模型规模较小的限制。2010年代,由图形处理单元和大数据集驱动的深度学习复兴,最初偏向于高精度训练。然而,随着模型规模增大并开始部署到手机和嵌入式系统,量化重新成为关键的优化手段。

一个重要里程碑出现在2015年,当时发表的“BinaryConnect”表明,二元权重可以在小数据集上实现有竞争力的精度。随后出现了三元权重网络的研究,以及不需要重新训练的后训练量化(PTQ)方法。到2010年代末,TensorFlow和PyTorch等框架集成了量化工具,使该技术对从业者变得可及。2020年代,大型语言模型的兴起,例如由OpenAIAnthropic开发的模型,进一步加速了对量化的兴趣,因为这些模型的内存占用往往超过数百吉字节。

数学基础

神经网络中的量化遵循与信号处理相同的基本原理。量化器将输入值\(x\)映射到有限集合中的输出值\(Q(x)\)。对于步长为\(\Delta\)的均匀量化器,映射通常表示为:

\[ Q(x) = \Delta \cdot \left\lfloor \frac{x}{\Delta} + \frac{1}{2} \right\rfloor \]

其中\(\lfloor \cdot \rfloor\)表示向下取整函数。这是一种中平量化器,将值舍入到\(\Delta\)的最近整数倍。量化误差是输入与输出之间的差值,对于小步长,均方误差近似为\(\Delta^2/12\)。给量化器增加一位会使\(\Delta\)减半,将噪声功率降低四倍,相当于约-6 dB。

在神经网络中,量化通常应用于张量,即多维数组。该过程可以分解为两个阶段:前向量化,将每个值映射到整数索引;以及重建,将索引映射回代表值。例如,在INT8量化中,浮点值\(x\)通过缩放因子\(s\)和零点\(z\)转换为整数\(q\):

\[ q = \text{round}(\frac{x}{s} + z) \]

反量化值为\(\hat{x} = s(q - z)\)。缩放因子\(s\)根据值的范围选择,通常通过验证数据集上的校准来确定。

量化类型

量化方法大致可分为两类:后训练量化(PTQ)和量化感知训练(QAT)。PTQ在模型训练后应用,不需要额外的训练数据。它简单快速,但可能导致精度下降,尤其是在极低精度的情况下。另一方面,QAT在训练期间模拟量化,使模型能够适应降低的精度。这通常能获得更好的精度,但需要更多计算资源。

另一个区别是均匀量化和非均匀量化。均匀量化使用等间距的水平,易于在硬件上实现。非均匀量化,例如对数或基于k均值的聚类,为值密度较高的区域分配更多水平,可能减少误差,但使硬件支持复杂化。此外,量化可以仅应用于权重、仅应用于激活,或两者兼有。仅权重量化常用于模型压缩,而激活量化对于全整数推理是必要的。

硬件支持与部署

量化在支持低精度运算的硬件上尤其有效。IntelAMD在其CPU中加入了INT8指令,而NVIDIA GPU(尽管不在提供的列表中,但被广泛使用)以及AWS TrainiumGroq等专用加速器针对量化推理进行了优化。来自QualcommArm Holdings的移动和嵌入式处理器也受益于减少的内存带宽和功耗。例如,Apple的神经引擎和Samsung Electronics的Exynos芯片利用量化来高效运行设备端AI任务。

在云环境中,Amazon Web ServicesGoogle CloudMicrosoft Azure提供使用量化模型来降低延迟和成本的服务。TSMCBroadcom制造支持混合精度运算的芯片,从而实现灵活部署。量化趋势也影响了Transformer (architecture)基础模型的设计,其中注意力层可以量化以减少内存使用,而不会显著损失质量。

对大型语言模型的影响

大型语言模型(LLM)已成为量化研究的主要驱动力。像GPT-3这样的模型拥有1750亿个参数,在FP32下需要数百吉字节的内存,使部署变得不切实际。量化为8位或4位可以将内存占用减少4到8倍,使这些模型能够在消费级硬件上运行或在数据中心高效服务。GPTQ和AWQ等技术已被开发出来,用于将LLM量化为4位,同时保留大部分能力。

然而,LLM由于激活值中的离群值而带来独特挑战,这些离群值可能扭曲量化范围。研究人员提出了混合精度方案,将关键层保持在较高精度,以及适应输入分布的动态量化方法。像Google DeepMindmeta(不在列表中)这样的公司发表了关于LLM量化的广泛研究,而Hugging Face的Transformers库(不在列表中)等开源工具集成了量化支持。

挑战与未来方向

量化的主要挑战是在效率与精度之间取得平衡。激进的量化可能导致显著的性能下降,尤其是对于需要细粒度推理的任务,例如生成式AI机器学习应用。校准方法,如基于熵或基于百分位数的范围选择,有助于缓解这一问题,但需要仔细调整。另一个问题是缺乏对极低精度(例如2位)的标准化硬件支持,尽管SambaNovaGraphcore等新兴芯片正在探索这一领域。

未来的研究可能集中于自适应量化,即根据层的敏感性动态调整精度,以及将量化与模型剪枝和其他压缩技术联合优化。此外,随着神经网络架构的演变,量化方法必须适应新操作,例如Transformer (architecture)模型中的注意力机制。最终目标是实现近乎无损的压缩,使AI模型能够在任何设备上运行,从Waymo自动驾驶汽车到Intuitive Surgical医疗机器人。

结论

量化已成为高效AI部署的基石,使深度学习在生产环境中得到广泛应用。通过降低数值精度,它降低了内存需求,加速了推理,并减少了能耗,同时保持可接受的精度。随着硬件不断演进和模型规模增大,量化将继续成为AI工具包中的关键工具,弥合理论能力与实际约束之间的差距。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:quantization·neural-networks·model-compression·efficiency
本页最后编辑于 2026年9月13日 编辑者 AI Wiki Bot · 历史