AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微软开源推理框架:bitnet.cpp ,开启CPU本地运行AI模型新时代
发布日期:2024-10-27 07:34:20 浏览次数: 1815 来源:小兵的AI视界


在人工智能飞速发展的今天,微软的一项创举如同一颗璀璨的新星,照亮了 AI 领域的新征程。10 18 日,科技界迎来了一个令人瞩目的重磅消息:微软开源了 bitnet.cpp,这一具有革命性意义的 1 - bit 大语言模型(LLM)推理框架,为 AI 技术的应用带来了全新的可能性。

一直以来,传统的大语言模型在运行时往往高度依赖庞大的 GPU 基础设施以及大量的电力供应。这不仅导致了高昂的部署和维护成本,还如同一道无形的门槛,限制了众多小型企业和个人用户对先进 AI 技术的探索与应用。然而,bitnet.cpp 的横空出世,犹如一把神奇的钥匙,彻底打破了这一僵局。它具备独特的能力,能够直接在 CPU 上顺畅运行,让用户无需借助 GPU 的强大算力,便可在自己的本地设备上轻松运行具有 1000 亿参数的大语言模型。这一突破意味着,更多的用户能够以更为亲民的成本,亲身领略到强大 AI 技术所带来的无尽便利与魅力。


一、卓越的性能表现


bitnet.cpp 在性能方面的表现堪称卓越,为用户带来了意想不到的惊喜。基准测试的数据犹如一份有力的成绩单,清晰地展示了它的强大实力。ARM CPU ,它可实现 1.37 倍到 5.07 倍的加速,这意味着原本需要较长时间处理的任务,如今能够在更短的时间内高效完成。而在 x86 CPU ,其加速效果更是高达 2.37 倍到 6.17 倍,进一步彰显了其在不同硬件平台上的出色适应性和优化能力。


与此同时,能源消耗方面的大幅降低更是让人眼前一亮。与传统方式相比,bitnet.cpp 减少了 55.4%到 82.2%的能源消耗。这一显著成果不仅为用户节省了能源成本,更为环保型 AI 应用树立了典范。在全球倡导节能减排的大背景下,bitnet.cpp 的出现无疑是顺应时代潮流的创新之举,为 AI 技术的可持续发展提供了有力支撑。


二、保障隐私安全


在当今这个信息高度发达的时代,数据隐私安全已成为人们关注的焦点。bitnet.cpp 在这方面也表现出色,为注重隐私的用户带来了安心之选。通过实现 LLM 的本地运行,它最大限度地减少了向外部服务器发送数据的需求,从而有效地保障了用户的隐私安全。用户无需担心自己的数据在传输过程中可能面临的泄露风险,能够更加放心地使用 AI 技术进行各种任务处理。在数据隐私日益受到重视的当下,这一优势无疑成为了吸引众多用户的重要因素。


三、广泛的应用前景与未来规划


目前,bitnet.cpp 已经成功支持 ARM x86 CPU,为广大用户提供了多样化的选择。然而,微软的雄心壮志不止于此。未来,他们还计划将 bitnet.cpp 扩展至 NPUGPU 和移动设备等更多平台,这一前瞻性的规划将进一步拓展其应用范围,让更多的设备能够受益于这一先进的技术。


在微软的“1 - bit AI Infra”计划中,bitnet.cpp 无疑扮演着举足轻重的角色。它有望重塑 LLM 的计算范式,打破传统硬件限制的束缚,为本地 LLM 的蓬勃发展开辟出一条宽广的道路。这不仅将推动 AI 技术在各个领域的深度渗透,还将激发更多开发者的创新热情,共同探索 AI 技术的无限可能。


四、本地使用指南


1安装准备


1)系统要求
a)对于 Windows 用户,需安装 [Visual Studio 2022](https://visualstudio.microsoft.com/zh-hans/downloads/)。在安装过程中,至少勾选以下选项(这也会自动安装所需的额外工具,如 CMake):


- Desktop - development with C++


- C++ - CMake Tools for Windows


- Git for Windows


- C++ - Clang Compiler for Windows


- MS - Build Support for LLVM - Toolset (clang)


b)对于 Debian/Ubuntu 用户,可以使用自动安装脚本下载相关工具:


在终端中运行 `bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"`


2)软件依赖
确保已安装以下软件:


`python>=3.9`


`cmake>=3.22`


`clang>=18`


2从源代码构建

1)环境准备

克隆bitnet.cpp 仓库、安装项目所需的 Python 依赖项:

git clone --recursive https://github.com/microsoft/BitNet.gitcd BitNet# 创建一个新的 `conda` 环境conda create -n bitnet-cpp python=3.9conda activate bitnet-cpp# 安装相关依赖pip install -r requirements.txt


2)构建项目


你可以选择从 Hugging Face 下载模型并转换为量化的 gguf 格式,然后构建项目。例如,以下命令将下载 `Llama3 - 8B - 1.58 - 100B - tokens` 模型并进行量化和构建:
python setup_env.py --hf-repo HF1BitLLM/Llama3 - 8B - 1.58 - 100B - tokens -q i2_s```
或者,你也可以手动下载模型并使用本地路径运行。首先手动下载模型,例如将其下载到 `models/Llama3 - 8B - 1.58 - 100B - tokens` 目录,然后运行:
huggingface-cli download HF1BitLLM/Llama3 - 8B - 1.58 - 100B - tokens --local-dir models/Llama3 - 8B - 1.58 - 100B - tokenspython setup_env.py -md models/Llama3 - 8B - 1.58 - 100B - tokens -q i2_s

3、推理使用


构建完成后,就可以使用以下命令运行推理:

- `python run_inference.py -m models/Llama3 - 8B - 1.58 - 100B - tokens/ggml - model - i2_s.gguf -p "Daniel went back to the the the garden. Mary travelled to the kitchen. Sandra journeyed to the kitchen. Sandra went to the hallway. John went to the bedroom. Mary went back to the garden. Where is Mary?\nAnswer:" -n 6 -temp 0`


上述命令的输出示例为:


- `Daniel went back to the the the garden. Mary travelled to the kitchen. Sandra journeyed to the kitchen. Sandra went to the hallway. John went to the bedroom. Mary went back to the garden. Where is Mary?`


- `Answer: Mary is in the garden.`


参数说明:


- `-m`:指定模型文件的路径。


- `-p`:输入的提示文本,用于生成回答。


- `-n`:预测生成的令牌数量。


- `-temp`:控制生成文本的随机性的温度参数。


结语


微软开源 bitnet.cpp 的这一举措,无疑为 AI 技术的发展注入了强大的新活力。它让我们真切地看到了在不依赖昂贵硬件的情况下,AI 模型仍然能够高效运行并为用户带来巨大价值的可能性。相信在未来,bitnet.cpp 将如同星星之火,逐渐形成燎原之势,为更多的开发者和用户带来前所未有的便利,推动 AI 技术在各个领域绽放出更加绚丽的光彩。让我们拭目以待,共同见证这一技术为我们的生活和工作带来的翻天覆地的改变。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询