BitNet Vibe 项目

微软开源 1-bit 大模型推理框架

BitNet - 微软开源 1-bit 大模型推理框架

项目简介

BitNet(仓库名 microsoft/BitNet)是微软研究院于 2024 年正式开源的 1-bit 大语言模型官方推理框架 bitnet.cpp。该项目提供了一整套面向 1.58-bit 量化 LLM 的高性能推理内核,支持在 CPU 和 GPU 上进行快速、无损的 1-bit 模型推理,NPU 支持计划在下一阶段开放。BitNet 同时发布了官方三态 BitNet b1.58-2B-4T 主模型(2.4B 参数 / 4 万亿训练 token)、BitNet-embedding-0.6B 与 BitNet-embedding-270M 两款 1-bit 嵌入模型,以及覆盖 Llama 3 8B / Falcon3 全系列 / Falcon-E 等社区 1-bit 模型的统一推理管线。BitNet 把"百亿参数大模型跑在单块笔记本 CPU 上"从理论变成现实——它能让 100B 规模的 BitNet b1.58 模型仅靠单颗 CPU 即可达到 5-7 tokens/秒的人类阅读速度,刷新了边缘端 LLM 部署的能耗与算力门槛。

核心功能

  • 极低比特量化推理:原生支持 1.58-bit 三值权重(-1, 0, +1)模型,在几乎不损失精度的前提下将模型体积与显存占用压缩到 FP16 的 1/10 左右,是当前业界最激进的 LLM 量化方案。
  • 跨架构 CPU 加速:在 x86 CPU 上相对 FP16 实现 2.37x-6.17x 推理加速,能耗降低 71.9%-82.2%;在 ARM CPU 上达到 1.37x-5.07x 加速,能耗降低 55.4%-70.0%,让 MacBook、树莓派乃至手机都能跑得动大模型。
  • 官方 GPU 内核:提供官方 GPU 推理 kernel(gpu/README.md),支持在 NVIDIA GPU 上加速部署 1-bit 模型,与 CPU 路径共享同一套模型格式。
  • 多 Kernel 量化支持:内置 I2_S(2-bit signed)、TL1(ternary level 1)、TL2(ternary level 2)三种量化策略,覆盖官方 BitNet 模型与社区 Llama 3-8B-1.58、Falcon3 系列等 10+ 主流 1-bit 模型。
  • 在线 Demo 与本地一键运行:通过 Azure 部署的在线 Demo(demo-bitnet-h0h8hcfqeqhrf5gf.canadacentral-01.azurewebsites.net)可即刻体验,同时提供 setup_env.py 脚本从 Hugging Face 拉取模型并自动完成量化。
  • 统一模型目录管理:一张表格清晰列出官方 + 社区共 8 款 1-bit 模型的参数规模、CPU 架构、Kernel 支持情况,便于开发者按需选择。

技术实现

BitNet 的核心技术在于其针对 1.58-bit 权重量身定制的 low-bit 矩阵乘 kernel。bitnet.cpp 通过把 FP16 矩阵乘转换为只对 {-1, 0, +1} 三种值执行的位运算(加法/减法/跳过),把权重读取带宽与算术强度降到极致,从而在访存受限的 CPU 上获得反超 FP16 的速度。项目采用 C++17 + CMake 构建体系,要求 clang>=18 + cmake>=3.22 + Python>=3.10;模型权重通过 huggingface-cli 拉取后由 setup_env.py 调用 I2_S 或 TL1 量化器固化成本地二进制。底层 kernel 区分 x86(AVX2/AVX-512)和 ARM(NEON/SVE)两套汇编实现,能在普通笔记本 CPU 上跑出 100B 模型 5-7 tokens/秒的"人类阅读速度"。GPU 路径则利用 CUDA 的低精度矩阵乘扩展,把 1-bit 权重打包到 int8/int4 寄存器里再批量解码。项目同时把 Embedding 层替换为 1-bit 量化版本,推出 BitNet-embedding-0.6B / 270M,验证了 ternary 权重在表征任务上的无损性,这是首个证明 1-bit 嵌入可用的工作。

快速上手

  • 克隆仓库(含子模块)并进入目录:git clone --recursive https://github.com/microsoft/BitNet.git && cd BitNet
  • 创建并激活 conda 环境,安装 Python 依赖:conda create -n bitnet-cpp python=3.10 && conda activate bitnet-cpp && pip install -r requirements.txt
  • 从 Hugging Face 拉取官方 GGUF 模型到本地:huggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T
  • 运行环境准备脚本完成量化(I2_S):python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s
  • 启动对话/推理 CLI 即可在本地与 1-bit 模型交互(Windows 需使用 VS2022 Developer Command Prompt)

适用人群

  • 边缘端 / 端侧 AI 工程师:想在手机、嵌入式设备、低功耗笔记本上跑大模型,又受限于内存/电池容量的开发者。
  • AI 基础设施研究员:研究 LLM 量化、低比特训练、推理 kernel 优化的研究人员与高校团队。
  • 效率敏感的个人开发者:希望在 M1/M2 MacBook、普通 x86 笔记本上零成本运行 7B-100B 模型的 AI 爱好者。
  • 企业 LLM 部署架构师:寻求显著降低 GPU 集群能耗与 TCO,希望把 1-bit 模型作为辅助推理路径的工程负责人。
  • Hugging Face 生态贡献者:希望基于官方 GGUF 转换、量化、推理集成到 Transformers / llama.cpp 社区的贡献者。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论