本想部署LLAMA模型,但是基于显卡和多卡的要求,很难部署在个人笔记本上,因此搜索发现有一个量化版本的LLAMA.cpp,部署过程和踩过的坑如下:
1.配置环境
(1)在GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++中下载cpp到本地
(2)创建conda环境
conda create --name llama.cpp python=3.9 -y
pip install -r requirements.txt
(3)安装Cmake
在安装之前我们需要安装mingw, 避免编译时找不到编译环境, 按下win+r快捷键输入powershell,
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
scoop bucket add extras
scoop bucket add main
scoop install mingw
紧接着安装cmake
首先下载CMake官网下载地址:Download CMake
因为在安装过程中选择了自动添加环境,所以安装完后不用手动添加环境了,但是此时必须得重启电脑,变量才能使用,否则无法对Cmake安装进行测试。重启电脑后,打开cmd黑窗,输入cmake,能够显示cmake的一些信息即为安装成功,如下图:
Windows下CMake安装教程_window 安装cmake-CSDN博客
2.权重部署量化
先说结论,尝试了两种方法都不行,后来用的别人编译好的文件
(1)第一种方法
cmake . -G "MinGW Makefiles"
cmake --build . --config Release
但是会报错缺少头文件,搜了N个博客,依旧无法解决
D:\application\llama.cpp\ggml.c:290:10: fatal error: intrin.h: No such file or directory
290 | #include <intrin.h>
(2)第二种方法
mkdir build
cd build
cmake ..
cmake --build . --config Release
报错Error: could not load cache,无法解决
(3)采用编译后的文件
LLama2 CPU Windows 部署-小白踩坑合集-CSDN博客
链接:https://pan.baidu.com/s/1NUeZNT3SlT5ZeSaW1WNvEA
提取码:hbib
在nyanko7/LLaMA-7B at main (huggingface.co)中下载以下几个文件
并在llama.cpp根目录下创建org-models文件夹,将checklist.chk和tokenizer.model放在其中,再在org-models文件夹中创建7B文件夹,将consolidated.00.pth和params.json放入其中。
(4)量化
将7B模型(14G左右)转换成 ggml FP16模型,执行
python convert.py org-models\7B\
在 org-models\7B\中生成ggml-model-f16.gguf 文件,大约14G左右,将刚才转换好的FP16模型进行4-bit量化:
quantize.exe org-models\7B\ggml-model-f16.gguf org-models\7B\ggml-model-q4_0.gguf q4_0
在org-models\7B\中生成量化后的文件ggml-model-q4_0.gguf,然后进行推理
main.exe -m org-models\7B\ggml-model-q4_0.gguf -n 128
更换提示词
main.exe -m org-models\7B\ggml-model-q4_0.gguf --prompt "Once upon a time"
以上参考于