项目简介
bitnet.cpp 是 1 位LLMs (例如 BitNet b1.58)的官方推理框架。它提供了一套优化的内核,支持 CPU 上 1.58 位模型的快速无损推理(接下来将支持 NPU 和 GPU)。
bitnet.cpp 的第一个版本是支持 CPU 上的推理。bitnet.cpp 在 ARM CPU 上实现了1.37 倍到5.07 倍的加速,较大的模型获得了更大的性能提升。此外,它还能将能耗降低55.4%至70.0% ,进一步提高整体效率。在 x86 CPU 上,加速范围为2.37 倍至6.17 倍,能耗降低71.9%至82.2% 。此外,bitnet.cpp 可以在单个 CPU 上运行 100B BitNet b1.58 模型,实现与人类阅读相当的速度(每秒 5-7 个令牌),从而显着增强在本地设备上运行LLMs的潜力。更多详情请参阅技术报告。
The tested models are dummy setups used in a research context to demonstrate the inference performance of bitnet.cpp.
测试的模型是在研究环境中使用的虚拟设置,用于演示 bitnet.cpp 的推理性能
支持模型
❗️我们使用Hugging Face上现有的 1 位LLMs来演示 bitnet.cpp 的推理功能。这些模型既不是由微软训练也不是由微软发布的。我们希望 bitnet.cpp 的发布能够在模型大小和训练代币方面激发大规模环境中 1 位LLMs的开发。
Model | Parameters | CPU | Kernel | ||
---|---|---|---|---|---|
I2_S | TL1 | TL2 | |||
bitnet_b1_58-large | 0.7B | x86 | ✔ | ✘ | ✔ |
ARM | ✔ | ✔ | ✘ | ||
bitnet_b1_58-3B | 3.3B | x86 | ✘ | ✘ | ✔ |
ARM | ✘ | ✔ | ✘ | ||
Llama3-8B-1.58-100B-tokens | 8.0B | x86 | ✔ | ✘ | ✔ |
ARM | ✔ | ✔ | ✘ |
安装
要求
python>=3.9
cmake>=3.22
clang>=18
使用 C++ 进行桌面开发
适用于 Windows 的 C++-CMake 工具
Git for Windows 适用于 Windows 的 Git
适用于 Windows 的 C++-Clang 编译器
MS-Build 对 LLVM 工具集的支持 (clang)
对于 Windows 用户,请安装Visual Studio 2022 。在安装程序中,至少打开以下选项(这也会自动安装所需的附加工具,例如 CMake):
对于 Debian/Ubuntu 用户,您可以使用自动安装脚本进行下载
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
conda (highly recommend)
项目链接
https://github.com/microsoft/BitNet
扫码加入技术交流群,备注「开发语言-城市-昵称」
合作请注明
关注「GitHubStore」公众号