IT之家 2024年10月22日
微软开源 1.58bit 推理框架:千亿参数模型量化后单 CPU 可跑,速度每秒 5-7 个 token
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

微软开源了 1bit 大模型推理框架 bitnet.cpp,该框架支持在 CPU 上进行快速且无损的 1.58bit 模型推理,并能将千亿参数模型量化后在单 CPU 上运行,速度可达每秒 5-7 个 token。该框架基于今年爆火的论文 The Era of 1-bit LLMs,通过将模型参数量化为三元值 {-1, 0, 1},显著减少了存储空间和计算资源,提升了在本地设备上运行 LLM 的可能性。在 ARM CPU 上,该框架可实现 1.37 至 5.07 倍的加速,能耗降低 55.4% 至 70.0%,而在 x86 CPU 上,加速效果介于 2.37 至 6.17 倍之间,能耗减少 71.9% 至 82.2%。

🤔 **1.58bit 量化技术:** 该框架的核心是将大模型参数量化为三元值 {-1, 0, 1},即每个参数用 1.58 位的信息表示。这种量化方法显著减少了模型的存储空间和计算资源,同时保持了模型的精度。

🚀 **性能提升:** bitnet.cpp 在 ARM 和 x86 CPU 上都实现了显著的性能提升,加速比分别达到 1.37-5.07 倍和 2.37-6.17 倍,能耗降低 55.4%-70.0% 和 71.9%-82.2%。此外,该框架还能使千亿参数模型在单 CPU 上运行,速度可达每秒 5-7 个 token,接近人类阅读速度。

💡 **应用场景:** 1bit LLM 具有巨大的潜力,可以应用于各种场景,例如: * 移动设备上的 LLM 推理:由于 1bit LLM 的体积小,计算量少,因此可以方便地在移动设备上运行。 * 边缘计算:1bit LLM 可以应用于边缘计算场景,例如智能家居、工业自动化等。 * 资源受限的设备:1bit LLM 可以应用于资源受限的设备,例如物联网设备、嵌入式系统等。

💻 **开源框架:** 该项目已开源,用户可以在 GitHub 上获取代码,并尝试使用该框架进行 1bit LLM 的推理。

🤝 **未来展望:** 1bit LLM 的未来发展方向包括: * 提升 1bit LLM 的精度:目前 1bit LLM 的精度仍有提升空间,未来可以通过更先进的量化技术和训练方法来提高精度。 * 扩展 1bit LLM 的应用场景:1bit LLM 可以应用于更多场景,例如语音识别、机器翻译、图像生成等。 * 开发更强大的 1bit LLM:未来可以开发更大规模的 1bit LLM,以提高模型的性能和能力。

微软开源 1bit 大模型推理框架!

现在 1000 亿参数大模型量化后单 CPU 可跑,速度可达每秒 5-7 个 token。

比如在苹果 M2 新品上运行 BitNet b1.58 3B 模型,be like:

就是今年爆火论文 The Era of 1-bit LLMs 的官方代码实现,开源不到一周 GitHub 已揽获 7.9k Star

传统大模型参数以 16 位浮点数(如 FP16 或 BF16)形式的存储,而 BitNet b1.58 将其统统变成了三进制,也就是 {-1, 0, 1}

这里的“1.58 bit”指每个参数可以用 1.58 位的信息来表示。

转换之后,矩阵中的计算就只会涉及到加法,因此会让大模型在保持一定精度的同时,显著减少所需的存储空间和计算资源,也显著提升了在本地设备上运行 LLM 的可能性。

这个项目开源后,在 X 上也受到了一波高度关注。

千亿参数模型量化后单 CPU 可跑

bitnet.cpp 是 1bit LLM(例如 BitNet b1.58)的官方推理框架。

该框架配备了一系列优化内核,支持在 CPU 上进行快速且无损的 1.58bit 模型推理,未来将扩展支持 NPU 和 GPU。

bitnet.cpp首版主要支持 CPU 推理

具体性能改进方面,在 ARM CPU 上,该框架可实现 1.37 至 5.07 倍的加速,而且更大的模型将有更显著的性能提升。

同时,它能将能耗降低 55.4% 至 70.0%,进一步增强效率。

在 x86 CPU 上,加速效果介于 2.37 至 6.17 倍之间,能耗减少 71.9% 至 82.2%

网友们也发现了华点,在 x86 上的性能增益量比 ARM 更大。

此外,bitnet.cpp 能使千亿参数模型量化后单 CPU 可跑,速度可达每秒 5-7 个 token,接近人类阅读速度。

微软还展示了使用 bitnet.cpp 推理框架支持的不同 1 bit LLM。

6 页论文,引入 1 bit LLM

1 bit LLM 的实现方法,微软在一年前就有相关研究,称为 BitNet(一种 Transformer),用 BitLinear 替换了 nn.Linear

今年二月,BitNet 原班人马在上一篇论文的基础之上做了优化,提出 BitNet b1.58,在原始 BitNet 的基础上增加了一个额外的 0 值

然后这篇内容只有 6 页的论文引发热议:

BitNet b1.58 模型的权重被量化为三元值 {-1, 0, 1},相当于在二进制系统中使用了 1.58 bit 来表示每个权重

采用了 absmean 量化函数来约束权重,将权重矩阵通过其平均绝对值进行缩放,然后四舍五入到最接近的整数值(-1、0 或 1)。

激活量化中,激活值被缩放到 [−Qb, Qb] 的范围,以此来消除零点量化。

在架构设计上,BitNet b1.58 借鉴了 Llama,使用了 RMSNorm、SwiGLU、旋转位置编码等组件,并移除了所有偏置项。这种设计使其能够轻松集成到主流的开源框架中。

实验中,与 Llama 相比,BitNet b1.58 在矩阵乘法方面节省了 71.4 倍的计算能耗。

这种方法发布后,也有不少人在这项研究的基础之上进行探索。

其中一个问题是,BitNet b1.58 将每个参数仅用三元值表示,但是所有这些都需要从头开始训练模型,并不是谁都有预算来进行 LLM 预训练。

而 Huggingface Transformers 最近整合了 BitNet b1.58,运用了一些技巧,使得现有模型可以直接微调到 1.58bit

感兴趣的童鞋可以自行查阅。

不过也有网友指出了这种方法的局限:

总之,1 bit LLM 具有巨大的潜力。

但也正如网友所言,1 bit LLM 关键还得是能在实践中证明自己。

参考链接:

本文来自微信公众号:微信公众号(ID:QbitAI),作者:西风,原标题《微软开源爆火 1.58bit 大模型推理框架!千亿参数模型量化后单 CPU 可跑,速度每秒 5-7 个 token》

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

1bit LLM 大模型推理 模型量化 BitNet 微软开源
相关文章