Bitnet.cpp:微软开源1比特推理框架,CPU跑100B模型(Windows / Linux部署)
🍹 Insight Daily 🪺
Aitrainee | 公众号:AI进修生
Hi,这里是Aitrainee,欢迎阅读本期新文章。
前两天,微软开源了Bitnet.cpp,这是一个重磅消息。简单来说,这意味着你现在可以在CPU上运行像72B甚至更大的超级大模型。原因是这些模型的精度已经降低到1位。
Bitnet.cpp是一个超级高效的1位LLM推理框架,你可以在本地设备上以高达六倍的速度运行100B模型,并且能耗降低82.2%。
Bitnet.cpp 未来还会支持 NPU 和 GPU,它在 ARM CPU 上能让模型速度提高 1.37 到 5.07 倍,同时能耗降低 55.4% 至 70%。在 x86 CPU 上,加速幅度在 2.37 倍到 6.17 倍之间,能耗减少 71.9% 至 82.2%。
这个框架能在单个 CPU 上以每秒 5-7 个令牌的速度运行 100B bitnet_b1_58 模型(BitNet框架中的一种1位量化的语言模型)。与人类阅读速度相当,这显著提升了在本地设备上运行大型语言模型的潜力。
简单直接使用 bitnet.cpp 非常简单,主要分为以下几步:
1. 克隆仓库:
git clone --recursive https://github.com/microsoft/BitNet.git
2. 安装依赖:使用
conda
创建环境并安装依赖。3. 构建项目:使用
setup_env.py
脚本下载模型并构建项目。4. 运行推理:使用
run_inference.py
脚本进行推理。例如,运行推理的命令如下:python run_inference.py -m models/Llama3-8B-1.58-100B-tokens/ggml-model-i2_s.gguf -p "Your prompt here" -n 6 -temp 0
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
如果在Windows上,打开一个新的命令提示符或PowerShell窗口。然后,运行以下命令:
Invoke-WebRequest -Uri https://apt.llvm.org/llvm.ps1 -OutFile llvm.ps1
powershell -ExecutionPolicy Bypass -File llvm.ps1
接下来,我们需要创建一个新的conda环境,以便安装所需的依赖。运行以下命令来创建一个名为myenv的环境,并安装Python 3.9:
conda create -n myenv python=3.9 -y & conda activate myenv
git clone --recursive https://github.com/microsoft/BitNet.git && cd BitNet
pip install -r requirements.txt
接下来,我们将下载Hugging Face的模型。运行以下命令:
python3 setup_env.py --hf-repo HF1BitLLM/Llama3-8B-1.58-100B-tokens -q i2 s
这将使用他们提供的setup_env.py脚本进行设置。我们使用的是1.58位的LLM模型。在Hugging Face上,还有许多其他可用的模型。第一次运行这个模型时,它会用C编译代码,大约需要10分钟。
让我运行这个模型。可以看到加载时间非常快,总共处理了53个token,使用CPU的时间也很短。它加载了Llama模型,并应用了适配器,同时告诉我们模型的层数和KV缓存等参数。
🌟希望这篇文章对你有帮助,感谢阅读!如果你喜欢这系列文章请以 点赞 / 分享 / 在看 的方式告诉我,以便我用来评估创作方向。
[1] github:https://github.com/microsoft/BitNet
[2] https://www.reddit.com/r/LocalLLaMA/comments/1g6jmwl/bitnet_inference_framework_for_1bit_llms/
知音难求,自我修炼亦艰
抓住前沿技术的机遇,与我们一起成为创新的超级个体
(把握AIGC时代的个人力量)
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见 ~