巨屌 推特 微软开源爆火1bit大模子推理框架!千亿参数模子量化后单CPU可跑
西风 发自 凹非寺巨屌 推特
量子位 | 公众号 QbitAI
微软开源1bit大模子推理框架!
刻下1000亿参数大模子量化后单CPU可跑,速率可达每秒5-7个token。
便是本年爆火论文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枢纽还得是能在实际中评释我方。
参考承接:[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 · 头条号签约
关爱咱们巨屌 推特,第一时刻获知前沿科技动态