llama.cpp本地部署qwen2-7b-q8模型(显卡:RTX4090-16G)
以下所有内容都基于C++编写的llama.cpp框架进行操作
1.GitHub下载llama.cpp源码:这里
git clone https://github.com/ggerganov/llama.cpp.git
2.对源码进行编译(编译必须依赖:visual studio 2022,cmake,cuda tookit)
cd llama.cpp
# 执行编译(仅限于cuda环境)
cmake -B build -DGGML_CUDA=ON
# 该指令会编译全部的.exe文件速度过慢,可以选择只编译main.cpp,参考下一条指令
cmake --build build --config Release -j 16
# 该指令只会编译main.cpp
cmake --build build --config Release -j 16 -t llama-cli
#以上指令适用于windows下的cuda编译以及linux上的cuda编译
(如果是windows也可以在生成.sln工程文件后在visual studio中手动编译,两者皆可)
注:windows上编译教程(打开工程文件后执行下列操作)
编译完成后会在llama.cpp\build\bin\Release下生成llama-cli.exe
3.部署模型加简单推理(我使用的模型是qwen2-7B进行q8量化后的gguf模型(关于模型量化后续有时间会写一篇帖子),可以根据自己的需要选择适合的模型)
# cmd进入llama.cpp\build\bin\Release,执行指令
llama-cli.exe -m "gguf模型路径" -ngl "load到gpu的layers数" -i 交互模式 --color 字体颜色 -p prompt内容
# 这是我本地的指令
llama-cli.exe -m "D:\**\**\models\qwen2-7B-q8-cx.gguf" -ngl 29 --color -r "User:" -i -p "User: Hi\nAI: Hello. I am an AI chatbot.\nUser:what's your name?\nAI:My name is qwen2-7B_q8_cx.\nUser:"
效果如图
4.注意事项:在步骤2编译的时候问题是最多的,可以在github上查找相关内容,或者直接留言。
祝大家成功复现,如果没有GP的话,cpu或者AMD的相关gpu也是可以的,详细可以查看llama.cpp官网。