这个项目能做什么
bitnet.cpp是面向BitNet b1.58等1比特大语言模型的官方推理框架。它提供一套优化内核,旨在支持CPU和GPU上1.58比特模型的快速无损推理,NPU支持将在后续推出。该项目基于llama.cpp框架构建,其内核基于T-MAC首创的查找表方法打造。
README中提及的核心能力包括:
- 支持三值/1比特模型的CPU推理,据称在ARM CPU上相比全精度模型有1.37倍至5.07倍的加速,能耗降低55.4%-70.0%;在x86 CPU上加速比为2.37倍至6.17倍,能耗降低71.9%-82.2%。
- 可在单块CPU上运行100B参数的BitNet b1.58模型,推理速度据称与人类阅读速度相当(每秒5-7个token)。
- 2025年5月发布了官方GPU推理内核。
- 支持的量化类型包括I2_S和TL1,不同内核对模型和架构(x86对比ARM)的支持存在差异。
- 支持通过辅助脚本将.safetensors格式的检查点模型转换为GGUF格式。
- 提供基准测试工具(e2e_benchmark.py)以及针对不支持的布局的虚拟模型生成工具。
- 支持指令模型的对话/聊天模式。
官方重点推广的模型包括BitNet-b1.58-2B-4T(24亿参数,在4T token上训练完成)、BitNet-embedding-0.6B和BitNet-embedding-270M。官方列出的支持社区模型包括bitnet_b1_58-large、bitnet_b1_58-3B、Llama3-8B-1.58-100B-tokens,以及Falcon3和Falcon-E系列模型。
安装需要Python 3.10及以上版本、CMake 3.22及以上版本、Clang 18及以上版本,推荐使用conda进行环境配置。构建步骤包括递归克隆仓库、安装Python依赖、下载模型,以及选择对应量化类型后运行setup_env.py。推理通过run_inference.py运行,支持配置提示词、生成token数量、线程数、上下文大小、温度以及对话模式等参数。
README还包含常见问题解答,涵盖常见构建问题,例如llama.cpp中的std::chrono错误,以及Windows系统下在conda环境中配置Clang的方法。该项目采用MIT许可证发布。
评论
0 评分人数达到10人后显示
登录后参与讨论。