正文
需要明确的是,BitNet b1.58 2B4T 并非完全胜过与之竞争的拥有 20 亿参数的模型,但它的表现似乎的确不俗。根据研究人员的测试,该模型在包括 ARC-Challenge、OpenbookQA、 BoolQ、GSM8K(小学水平数学问题的集合)和 PIQA(测试物理常识推理能力)等在内的基准测试中,超过了 Meta 的 Llama 3.2 1B、谷歌的 Gemma 3 1B 和阿里巴巴的 Qwen 2.5 1.5B。
图:BitNet b1.58 2B4T 与类似尺寸(1B-2B 参数)的领先开放权重全精度 LLM 在各种基准测试中的效率指标和性能的比较
更令人印象深刻的是,BitNet b1.58 2B4T 的运行速度比其他同等规模的模型更快,在某些情况下的速度甚至能达到其他模型的数倍,同时内存占用却只是后者的一小部分。BitNet b1.58 2B4T 的内存大小仅为 0.4GB,CPU 推理延迟是 29ms;而其他同等规模的模型需要 1.4-4.8GB,CPU 推理延迟在 41ms-124ms。
从微软在技术报告中放出的对比图可以看到,BitNet b1.58 2B4T 在性能上几乎与 Qwen 2.5 1.5B 相当,但内存大小仅为后者的 1/6,速度提高了 2 倍。并且,其性能优于需 2GB 内存的 Llama 3.2 1B 模型,且 BitNet b1.58 2B4T 处理 token 的速度还要快 40%。
此外,具有 1000 亿(100B)参数的 BitNet b1.58 模型可以在单个 CPU 上运行,速度可与人类阅读速度相媲美(每秒处理 5-7 个 token),这一结果极大地增强了在本地设备上运行 LLM 的可能性在 Github 上,微软还放出了在苹果 M2 上运行 BitNet b1.58 3B 模型的演示视频:
据介绍,Bitnet 本质上是专为在轻量级硬件上运行而设计的压缩模型。微软表示,在 BitNet 和 BitNet b1.58 上取得的这一新进展,为在速度和能耗方面提高大语言模型(LLM)的效率提供了一种可行的方法,还使得 LLM 能够在广泛的各类设备上进行本地部署。
开源项目地址:
https://github.com/microsoft/BitNet
微软在技术报告中介绍,BitNet b1.58 2B4T 完全是从零开始训练的,架构源自标准 Transformer 模型,其中包含基于 BitNet 框架的重大修改。核心创新在于,将标准的全精度线性层 (torch.nn.Linear) 替换为自定义 BitLinear 层。
传统大模型依赖 32 位或 16 位浮点数存储权重,而该模型将权重压缩至 1.58 位,这是使用绝对平均值 (absmean) 量化方案实现的,将权重量化为三个值:-1、0 和 1,大大减小了模型大小并实现了高效的数学运算。由于三元权重无法使用标准数据类型进行高效存储,因此微软将多个权重值打包成一个 8 位整数并存储在高带宽内存(HBM)当中。这采用了绝对最大 (absmax) 量化策略,应用于每个 token。