随着模型规模的不断上升,内存带宽在处理和获取模型参数方面显得尤为重要,成为限制推理性能的关键因素。同时,在将这些模型部署到分布式系统或多设备环境时,设备间的通信成本对推理速度和能源消耗产生了显著影响。针对这一问题,微软公司推出了BitNet框架,无需GPU可以直接在本地运行LLMs, 并在近日以bitnet.cpp实现开源。一起来看一下BitNet到底为何方神圣。

近日,微软将提出的BitNet框架利用bitnet.cpp实现了开源,一个号称能在普通CPU上运行千亿参数级模型!这个消息一出,网友们顿时沸腾了。毕竟,能在本地设备上运行大型语言模型,还不需要GPU,这简直就是惊世之作!
Bitnet.cpp的特点
- 直接在CPU上运行,不需要GPU
- 速度提升最高可达6倍
- 能耗降低高达82%支持运行100B参数的模型处理
Bitnet.cpp支持的模型

Bitnet.cpp真实性能
bitnet.cpp 在 ARM CPU 上实现了 1.37 倍到 5.07 倍的加速,更大的模型性能提升更大。此外,它还将能耗降低了 55.4% 至 70.0%,进一步提高了整体效率。

在 x86 CPU 上,加速范围为 2.37 倍到 6.17 倍,能耗降低在 71.9% 到 82.2% 之间。

不仅如此,它能在单个CPU上运行100B参数的BitNet b1.58模型,速度可以达到每秒5-7个token,相当于人类阅读速度!
BitNet框架是如何做到这些的
微软一篇名为《BitNet: Scaling 1-bit Transformers for Large Language Models》的论文揭示了BitNet背后的原理。

来源:https://www.aminer.cn/pub/652f3ff0939a5f4082e74d9f?fr=bitnet
简单来说:
BitNet——一种可扩展且稳定的1-bit Transformer架构来实现大语言模型
BitNet采用与Transformer相同的布局,不同的是:BitNet采用BitLinear而不是标准的矩阵乘法

BitLinear层
- 1-bit 权重:BitNet 使用 1-bit 权重来降低模型大小和计算成本。权重通过符号函数二值化,并使用缩放因子 β 来减少量化误差。

- 量化激活:激活也被量化为 b-bit 精度(实验中使用 8-bit),进一步降低计算成本。
- SubLN 稳定训练:在激活量化之前使用 SubLN 层(类似 LayerNorm)来保持输出方差,确保训练稳定性。
- Group Quantization 和 Normalization:为了支持模型并行,BitNet 将权重和激活分组,并对每组分别进行量化,避免额外的通信开销。
模型训练
- Straight-through Estimator (STE): 在反向传播过程中,STE 用来近似梯度,允许梯度流过非可微函数,从而训练量化模型。
- 混合精度训练:虽然权重和激活是低精度的,但梯度和优化器状态以高精度存储,以保证训练稳定性和精度。
- 大学习率:为了克服 1-bit 权重更新幅度小的问题,BitNet 使用大学习率来加速优化过程。
计算效率
- 减少算术运算能量:1-bit 权重将矩阵乘法的能量消耗主要集中在加法运算上,显著降低了能量消耗,尤其是在乘法运算方面。
- 降低内存占用:1-bit 权重和量化激活显著减少了模型大小,降低了内存占用和带宽需求。

可扩展性
Inference-Optimal Scaling Law:BitNet 遵循类似于全精度 Transformer 的可扩展规律,允许有效地扩展到更大的模型规模,同时保持性能和效率优势。

下游任务性能:BitNet 在各种下游任务上表现出与全精度 Transformer 相当的性能,同时显著降低推理成本。

作者介绍
韦福如
韦福如于武汉大学获得学士学位和博士学位。2017年,他入选《麻省理工技术评论》中国35岁以下创新者年度榜单(MIT TR35 China), 2018年入选中国AI英雄风云榜技术新锐奖榜单。2019年入选世界互联网领先科技成果奖,2024年LayoutLM荣获国际基础科学大会前沿科学奖。2020年入选北京市劳动模范。韦福如博士现任微软亚洲研究院全球研究合伙人,近年来,他还致力于领导和推进通用型人工智能的基础研究和创新。
韦福如在顶级会议和期刊上发表了200多篇研究论文,引用值超3万,H指标高达87,并获得 AAAI 2021 年最佳论文提名奖以及 KDD 2018 最佳学生论文奖。

来源:https://www.aminer.cn/profile/542ac39fdabfae61d49a4deb?fr=fw