BitNet 是什么?

microsoft/BitNet 的 bitnet.cpp 是 1-bit/ternary 模型推理框架,提供针对 I2_S、TL1、TL2 等格式的 CPU/GPU kernels、模型转换和 CLI/server 示例。它面向为 BitNet 架构训练或转换的模型,不是把任意 FP16/INT4 模型无损变成 1.58-bit 的通用压缩器。

⭐ 70 Stars 🍴 5 Forks Python MIT 作者: microsoft
来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/blob/… 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

1-bit 权重希望降低内存带宽、能耗和 CPU 推理成本。官方 2026 年继续发布 CPU 优化、BitNet embedding 模型和 VibeASR.cpp,说明 kernels 已扩展到生成、向量和语音场景。本页依据官方仓库、模型卡与报告说明适用范围。

来源:github.com/microsoft/BitNet;https://huggingface.co/microsoft/BitNet-b…

核心功能

1.58-bit CPU kernels

针对 x86 与 ARM 提供 I2_S、TL1、TL2 等路径;具体模型、架构和量化类型的支持矩阵不同,不能把一个平台的勾选项套到另一个平台。

来源:github.com/microsoft/BitNet
模型转换与预调优

setup_env.py 下载或读取本地模型、转换 GGUF/量化格式并编译匹配 kernel,可选择量化 embedding 和预调优参数。

来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/blob/…
CLI 与本地 server

run_inference.py 调用编译产物做生成或 benchmark,run_inference_server.py 提供本地服务入口;接口、模型文件和上下文参数仍需按仓库说明配置。

来源:github.com/microsoft/BitNet/blob/main/run_inference.py;https://github…
官方 GPU 与 embedding 扩展

仓库包含官方 GPU kernel 文档,并在 2026-07 发布 0.6B/270M 1-bit embedding 模型与 I2_S 转换指南;支持范围与生成模型不同。

来源:github.com/microsoft/BitNet/blob/main/gpu/README.md;https://github.co…

技术架构

项目基于 llama.cpp 的 GGUF、tokenizer 和推理框架结构,在 C/C++ 层加入 BitNet kernel、量化类型与矩阵乘实现。Python setup_env.py 负责依赖检查、模型转换、kernel 配置和 CMake 构建;run_inference.py 再调用编译出的 llama-cli 或 benchmark。CPU 路径按 x86/ARM 与量化格式选择预设 kernel;GPU 子目录维护单独的 CUDA 实现和限制。

来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/blob/…

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) CMake 3.22+ 与 Clang 18+CMake 3.22+ 与… Hugging Face CLI/模型文件与 Python requirementsHugging Face C… 可选 CUDA GPU kernel 或 x86 AVX/ARM NEON CPU 路径可选 CUDA GPU… 1.58-bit CPU kernels 模型转换与预调优 CLI 与本地 server 官方 GPU 与 embedding 扩展官方 GPU 与 embeddi… BitNet 项目本体 核心功能 关键依赖

技术栈

语言C/C++ kernels 与 Python 3.10+ 构建/运行脚本框架llama.cpp 派生推理核心 + GGUF + CMake + Clang
CMake 3.22+ 与 Clang 18+Hugging Face CLI/模型文件与 Python requir…可选 CUDA GPU kernel 或 x86 AVX/ARM NEO…
源码构建;Windows、Linux 与 macOS 的具体编译链不同;MIT 许可
来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/blob/…

快速上手

先固定官方 main 的 commit,因为仓库没有 GitHub Release 资产。用 --recursive 克隆到隔离目录,创建 Python 3.10 环境,安装 CMake 3.22+、Clang 18+ 和 requirements。只从 microsoft 官方 Hugging Face 仓库下载一个明确支持的 GGUF,记录文件 revision/hash;运行 setup_env.py 转换并编译后,先用短 prompt 和固定线程 benchmark。不要执行远程 apt 脚本,也不要先用社区模型或 GPU 路径。
来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/relea…

使用场景

适合评估 ternary LLM 在 CPU/边缘设备上的内存、吞吐和能耗,或实验 BitNet embedding 与专用 GPU kernels。模型质量、prompt 行为、长上下文和工具调用能力取决于具体 checkpoint;框架 benchmark 不能替代任务级准确性评估。

来源:github.com/microsoft/BitNet;https://arxiv.org/abs/2410.16144;https://…

优势与局限

优势

  • Microsoft 官方维护,并公开 CPU/GPU kernels、转换脚本和报告
  • 明确列出模型、架构、平台与量化格式支持矩阵
  • 覆盖生成与 embedding 模型,适合做 1-bit 推理实验
  • 基于 GGUF/CMake 的本地工作流,MIT 许可

局限

  • GitHub Releases 页面为空,README 的 1.0 徽章不提供可复现二进制或 release tag
  • 需要源码构建、Clang 18+、CMake 3.22+ 和递归 submodules,环境门槛高
  • 支持矩阵不统一:某些 embedding、ARM、TL1/TL2 或 GPU 组合不可用
  • 官方最高速度与能耗数字来自特定硬件、模型和 baseline,不能外推到所有 CPU
  • 1.58-bit kernel 不会让任意普通模型自动保持原有质量
  • 模型文件来自 Hugging Face,复现实验需固定模型 revision 与 hash
来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/relea…

最新版本

项目没有 GitHub Release。README 的版本徽章仍为 1.0,并记录 bitnet.cpp 1.0 于 2024-10-17 发布;最近项目新闻是 2026-07-23 的 VibeASR.cpp 和 2026-07-20 的 BitNet embedding 模型。应把源码 commit、submodule commit 和模型 revision 一起固定。

来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/releases

实测与证据

status: docs_only_official_sources_checked_not_built  |  checked_at: 2026-09-23  |  environment: 阅读 Microsoft 官方 README、CPU/GPU 文档、embedding 指南、setup_env.py、requirements、模型卡、技术报告、许可证与 Releases 页面;未克隆 submodules、下载权重或编译。  |  limitations: 没有验证构建、模型 hash、转换正确性、tokenizer、生成质量、速度、能耗、内存、GPU、Windows/ARM 或 server 接口;所有性能数字均保留为官方报告结果。  |  observed_output: README 仍显示版本 1.0,但 GitHub Releases 页面为空;最新仓库新闻是 2026-07-23 的 VibeASR.cpp,BitNet embedding 模型新闻为 2026-07-20。官方要求 Python 3.10+、CMake 3.22+、Clang 18+。

来源:github.com/microsoft/BitNet;https://github.com/microsoft/BitNet/relea…

同类项目对比

相比 llama.cpp,bitnet.cpp 针对 BitNet/ternary 权重增加专用 kernel 和转换流程,适用模型更窄;llama.cpp 支持的普通 GGUF 架构与量化类型更广、生态和预编译发布更成熟。测试明确支持的 1.58-bit 模型时选 bitnet.cpp;运行常见 GGUF 或需要广泛硬件兼容时先看 llama.cpp。

来源:github.com/microsoft/BitNet;https://github.com/ggml-org/llama.cpp

总结评价

bitnet.cpp 适合做明确支持模型的 1-bit 本地推理实验,但安装页不应写成开箱即用。先固定 commit 与模型 hash,在隔离环境完成 CPU 构建,用一组真实任务同时检查质量、速度、内存和能耗;只看项目方最高加速数字没有决策价值。

来源:github.com/microsoft/BitNet;https://arxiv.org/abs/2410.16144

常见问题

bitnet.cpp 能把任意 Llama 模型无损压成 1.58-bit 吗?

不能这样理解。它主要为 BitNet/ternary 架构和列入支持矩阵的模型提供推理与转换;普通模型直接压到三值权重会涉及训练和质量损失问题。

bitnet.cpp 当前最新 release 是哪个?

官方 README 显示 1.0 徽章和 2024-10-17 的 1.0 新闻,但 GitHub Releases 页面没有正式 release 资产。复现时应固定具体 commit 和模型 revision。

官方 6.17 倍速度提升适用于我的电脑吗?

不一定。结果取决于 CPU 指令集、线程数、模型、量化格式、prompt 长度和 baseline。应在同一硬件上用固定模型与参数同时测吞吐、延迟、内存和任务质量。

BitNet embedding 模型在 ARM 上也支持 I2_S 吗?

不能按生成模型的支持情况推断。官方当前矩阵把两个 embedding 模型的 I2_S 支持列在 x86 CPU,ARM 对应项未标支持。

bitnet.cpp 与 llama.cpp 怎么选?

模型明确是 BitNet/ternary 且支持矩阵匹配时用 bitnet.cpp;常见 GGUF 架构、更多量化格式或更成熟的发布生态通常先用 llama.cpp。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件