户外 高潮 微软开源爆火1.58bit大模子推理框架!千亿参数模子量化后单CPU可跑,速率每秒5-7个token
微软开源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。
av男同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户外 高潮