微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

更新时间:2024-10-22 19:21:33作者:hnzkhbsb

西风 发自 凹非寺

量子位 | 公众号 QbitAI

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

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行千亿参数模型量化后单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%,进一步增强效率。

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行6页论文,引入1 bit LLM

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

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

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

微软开源1bit大模型推理框架,千亿参数模型量化后单CPU可轻松运行

参考链接:
[1]https://github.com/microsoft/BitNet
[2]https://x.com/rohanpaul_ai/status/1847814379657462201
[3]https://x.com/rohanpaul_ai/status/1848172443258728860?s=46&t=iTysI4vQLQqCNJjSmBODPw
[4]https://huggingface.co/blog/zh/1_58_llm_extreme_quantization

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关教程

copyright ©  2012-2024 系统家园网 m.hnzkhbsb.com 版权声明