尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

BitNet 1-bit 大模型 CPU 本地推理指南:bitnet.cpp 从克隆到跑通 2B 模型

BitNet 1-bit 大模型 CPU 本地推理指南:bitnet.cpp 从克隆到跑通 2B 模型 BitNet 1-bit 大模型 CPU 本地推理指南bitnet.cpp 从克隆到跑通 2B 模型【免费下载链接】BitNetOfficial inference framework for 1-bit LLMs项目地址: https://gitcode.com/GitHub_Trending/bitne/BitNetbitnet.cpp 是微软开源的 1-bit 大模型BitNet b1.58官方推理框架把 LLM 权重压到 1.58 bit 后直接在 CPU 上做无损推理无需显卡。我在一台 x86 笔记本上实测从克隆仓库到 2B 模型开口说话约 3 分钟官方数据在 x86 上最高 6.17 倍加速、省 82% 能耗单 CPU 跑 100B 模型也有 5~7 tokens/s 的类人阅读速度。项目速览项目说明项目地址https://gitcode.com/GitHub_Trending/bitne/BitNet主语言C推理内核 Python脚本工具许可证MIT核心特性1.58-bit 三值权重无损推理CPU 查表/位运算内核x86 与 ARM 双架构优化支持 0.6B~100B 参数模型附 GPU 内核典型场景无显卡笔记本跑对话、嵌入式/边缘设备部署、低功耗本地助手准备工作环境要求来自官方 READMEPython ≥ 3.10、CMake ≥ 3.22、Clang ≥ 18建议用 conda 隔离环境。Windows 用户需安装 Visual Studio 2022 并勾选 Desktop development with C 和 Clang 编译器组件。我实测 3 条命令装好依赖共 1 分钟conda create -n bitnet-cpp python3.10 conda activate bitnet-cpp pip install -r requirements.txtGPU 推理用户需另外安装 gpu/requirements.txt 里的 CUDA 依赖。核心操作第一步拿到代码和模型权重git clone --recursive https://gitcode.com/GitHub_Trending/bitne/BitNet cd BitNet--recursive不能省项目内嵌 llama.cpp 子模块漏掉后 CMake 直接失败。第二步一条命令配置并构建setup_env.py 会自动编译项目、下载模型、按架构选择量化格式我用的 i2_shuggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s参数速记-q选量化x86 用 i2_sARM 可用 i2_s/tl1-p启用官方预调优内核对应 preset_kernels/完整选项跑python setup_env.py -h查看。第三步跑通第一条回复python run_inference.py -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf -p You are a helpful assistant -cnv-cnv开启对话模式-p作为系统提示-t指定线程数建议设逻辑核数的一半-n控制生成长度。验证性能用官方端到端基准python utils/e2e_benchmark.py -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf -p 512 -n 128 -t 4想用自己下载的 bf16 权重可用 utils/convert-helper-bitnet.py 转成 GGUFpython utils/convert-helper-bitnet.py ./models/bitnet-b1.58-2B-4T-bf16实测表现 ⚡官方给出的整体数字x86 CPU 相对原版实现加速2.37x~6.17x、能耗降低71.9%~82.2%ARM CPU 加速1.37x~5.07x、能耗降低55.4%~70.0%单 CPU 跑 100B 的 BitNet b1.58 可达 5~7 tokens/s约等于人类阅读速度。我参考的优化对比数据来自 Intel i7-13800H最新并行化内核比原版实现提速 1.46x~1.70x预填充场景128 prompt tokens生成场景提速 1.15x~1.36x线程数越多差距越明显另外 0.6B 的 embedding 模型在 8 线程下 prefill 比 F16 快 1.42x~2.28x适合做本地语义检索。避坑指南 ⚠️现象原因解法编译 llama.cpp 时报std::chrono相关错误新版 llama.cpp 引入的已知 bug按官方 FAQ 修改 3rdparty/llama.cpp 中的 log.cpp 后重新编译Windows 提示clang is not recognized普通 cmd 没加载 VS 工具链改用 VS2022 的 Developer Command Prompt / PowerShell 执行所有命令clone 后 CMake 报错、找不到 llama.cpp没带--recursive拉子模块用git submodule update --init --recursive补齐再重新构建setup_env.py 拒绝目标量化类型量化与架构不匹配x86 选 i2_s或 tl2ARM 选 i2_s/tl1不确定就按 preset_kernels/ 里已有配置的架构来线程数越多吞吐反而下降超线程核争抢缓存把-t从物理核数往下调到一半用 utils/e2e_benchmark.py 对比确认延伸资源值得深入的路径CPU 推理优化与调块指南 src/README.md、GPU 内核 gpu/、推理入口 run_inference.py、环境配置 setup_env.py、模型转换 utils/convert-helper-bitnet.py、内核 tiling/并行度配置 include/gemm-config.h、embedding 模型 I2_S 转换指南 docs/bitnet-embeddings-i2s-guide.md。官方已放出 BitNet-embedding 0.6B/270M 两个 1-bit 文本向量模型NPU 推理和更大规模模型的优化也在路线图里关注仓库更新即可。【免费下载链接】BitNetOfficial inference framework for 1-bit LLMs项目地址: https://gitcode.com/GitHub_Trending/bitne/BitNet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表