678CHAT AI资讯 微软新开源的1.58bit推理框架,让千亿参数模型在单CPU上也能跑,每秒能处理5-7个token!

微软新开源的1.58bit推理框架,让千亿参数模型在单CPU上也能跑,每秒能处理5-7个token!

微软近日宣布开源其1bit大模型推理框架,这一创新技术使得拥有1000亿参数的大型模型在单CPU上即可运行,且速度惊人,每秒可处理5-7个token。这一成果在苹果M2芯片上得到了验证,运行BitNet b1.58 3B模型的表现令人瞩目。

BitNet b1.58模型的开源,是基于今年引起广泛关注的论文《The Era of 1-bit LLMs》的官方代码实现。开源一周内,其在GitHub上的星标数已飙升至7.9k,显示出其受欢迎程度。

传统的大型模型参数通常以16位浮点数(例如FP16或BF16)存储,而BitNet b1.58则采用了三进制表示,即{-1, 0, 1}。这种“1.58 bit”的表示方法意味着每个参数仅需1.58位信息,从而大幅减少了模型的存储需求和计算资源,同时在本地设备上运行大型语言模型(LLM)成为可能。

开源项目bitnet.cpp是专为1bit LLM(如BitNet b1.58)设计的官方推理框架。它包含一系列优化的内核,能够在CPU上实现快速且无损的1.58bit模型推理,并计划未来扩展至支持NPU和GPU。

在性能提升方面,bitnet.cpp在ARM CPU上能够实现1.37至5.07倍的加速,且模型越大,性能提升越显著。同时,能耗降低了55.4%至70.0%,显著提高了效率。在x86 CPU上,加速效果介于2.37至6.17倍,能耗减少71.9%至82.2%。

微软新开源的1.58bit推理框架,让千亿参数模型在单CPU上也能跑,每秒能处理5-7个token!插图

微软还展示了使用bitnet.cpp推理框架支持的不同1 bit LLM,进一步证明了其广泛的适用性。

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将每个参数仅用三元值表示,但所有这些都需要从头开始训练模型,这对于许多研究者来说是一个挑战。不过,Huggingface Transformers最近整合了BitNet b1.58,运用了一些技巧,使得现有模型可以直接微调到1.58bit。

微软新开源的1.58bit推理框架,让千亿参数模型在单CPU上也能跑,每秒能处理5-7个token!插图1

1 bit LLM无疑具有巨大的潜力,但也正如网友所言,其成功与否还需在实践中得到验证。

本文来自网络,不代表678CHAT立场,转载请注明出处:https://www.678chat.com/ai/2703.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部