微软发布新型框架BitNet v2:为 1-bit 大型语言模型(LLMs)实现原生 4-bit 激活量化

新技术3个月前发布 小马良
142 0

微软发布了一个名为 BitNet v2 的新型框架,旨在为 1-bit 大型语言模型(LLMs)实现原生 4-bit 激活量化。该框架通过引入 H-BitLinear 模块,解决了在低比特量化中激活值异常(outliers)的问题,从而显著提高了模型的内存效率和计算效率。BitNet v2 在保持与 BitNet b1.58 相当性能的同时,大幅减少了内存占用和计算成本,尤其在批量推理场景中表现出色。

例如,在处理自然语言处理任务时,如机器翻译或文本生成,BitNet v2 可以将模型的激活值从 8-bit 量化到 4-bit,从而在不显著降低性能的情况下,显著减少模型的内存占用和计算量。这使得模型可以在资源受限的设备上更高效地运行,同时保持较高的推理速度。(相关:微软发布20亿参数1-bit模型BitNet b1.58,性能超越主流LLM且更适合边缘设备

微软发布新型框架BitNet v2:为 1-bit 大型语言模型(LLMs)实现原生 4-bit 激活量化

主要功能

  1. 原生 4-bit 激活量化:BitNet v2 通过 H-BitLinear 模块,将激活值从 8-bit 量化到 4-bit,显著减少了内存占用和计算成本。
  2. Hadamard 变换:通过在线 Hadamard 变换,将激活值的分布从尖锐的异常值分布转换为更接近高斯分布的形式,使其更适合低比特量化。
  3. 高效推理:BitNet v2 在批量推理场景中表现出色,能够充分利用现代硬件的 4-bit 计算能力,显著提高推理效率。

主要特点

  1. H-BitLinear 模块:通过在线 Hadamard 变换,有效抑制激活值中的异常值,使激活值分布更接近高斯分布,从而更适合低比特量化。
  2. 混合精度训练:使用混合精度训练技术,结合直通过估计器(STE)进行梯度近似,确保模型在低比特量化下的训练稳定性。
  3. 灵活的量化策略:支持多种量化策略,包括 4-bit 和 8-bit 激活值的混合使用,以及权重的 1.58-bit 量化。
  4. 高效推理:通过 4-bit 激活值的使用,显著减少了内存占用和计算成本,尤其在批量推理场景中表现出色。

工作原理

BitNet v2 的工作原理基于以下三个核心部分:

  1. H-BitLinear 模块:在注意力模块的输出投影(Wo)和前馈网络(FFN)的下投影(Wdown)中引入 H-BitLinear 模块。该模块在激活量化之前应用在线 Hadamard 变换,将尖锐的激活值分布转换为更接近高斯分布的形式,从而减少异常值的影响。
  2. 激活量化:对于 8-bit 和 4-bit 激活值,分别采用 per-token absmax 和 absmean 函数进行量化。量化后的激活值通过 H-BitLinear 模块进行矩阵乘法运算。
  3. 混合精度训练:使用混合精度训练技术,结合直通过估计器(STE)进行梯度近似,确保模型在低比特量化下的训练稳定性。在反向传播中,Hadamard 变换的梯度通过其正交性进行传播。

具体应用场景

  1. 自然语言处理:BitNet v2 可以应用于各种自然语言处理任务,如机器翻译、文本生成、问答系统等。通过 4-bit 激活值的使用,模型可以在资源受限的设备上更高效地运行,同时保持较高的推理速度。
  2. 边缘设备:在边缘设备上部署大型语言模型时,BitNet v2 的低比特量化能力可以显著减少内存占用和计算成本,使其更适合在资源受限的环境中运行。
  3. 实时推理:在需要实时推理的场景中,如智能助手和语音交互系统,BitNet v2 的高效推理能力可以显著提高系统的响应速度和用户体验。

总结

BitNet v2 通过引入 H-BitLinear 模块,解决了低比特量化中激活值异常的问题,实现了原生 4-bit 激活量化。该框架在保持与 BitNet b1.58 相当性能的同时,显著减少了内存占用和计算成本,尤其在批量推理场景中表现出色。BitNet v2 的高效推理能力和灵活的量化策略使其在自然语言处理、边缘设备和实时推理等场景中具有广泛的应用前景。

© 版权声明

相关文章

暂无评论

none
暂无评论...