LLM模型部署经验分享
作者:大连理工大学 李凯
- 首先,你需要选择一个合适的部署平台,这可以是本地服务器、云服务提供商(如AWS、Azure、Google Cloud等)、边缘设备或者特定的部署服务(如Hugging Face Hub)。
- 在这里我使用的是魔搭平台的云服务器。
- 然后下载你要部署的模型,这里下载的是通义千问。
- 下载并部署玩模型后,我们还可以对模型转换和优化,该文会介绍基于OpenVINO的模型量化实践。
魔搭平台界面
1. 模型部署
注意:将文中所有的/mnt/workspace/LLM/dir
替换为自己的文件目录
1.1 模型下载
- 创建download_model.py文件下载代码
vim download_model.py
# download_model.py文件内容
from modelscope.hub.file_download import model_file_download
model_dir = model_file_download(
model_id='qwen/Qwen1.5-0.5B-Chat-GGUF',
file_path='qwen1_5-0_5b-chat-q5_k_m.gguf',revision='master',
cache_dir='/mnt/workspace/LLM/dir')
- 执行该Python文件
python download_model.py
1.2 下载llama.cpp
-
使⽤git命令克隆llama.cpp项⽬
git clone https://github.com/ggerganov/llama.cpp
-
编译llama.cpp项目
cd llama.cpp make -j
1.3 加载模型,并执行
-
在llama.cpp⽬录中执⾏命令
./main -m /mnt/workspace/LLM/dir/qwen/Qwen1.5-0.5B-Chat-GGUF/qwen1_5-0_5b-chat-q5_k_m.gguf -n 512 --color -i -cml
-
运行示例
2. 基于OpenVINO的模型量化实践
注意:请将文中的{your_path}
全部替换为自己的文件目录
2.1 安装基本环境
-
克隆远程仓库到服务器
git clone https://github.com/OpenVINO-dev-contest/Qwen2.openvino.git
克隆完成后记得进入克隆的文件夹继续以下步骤。
-
环境配置
python3 -m venv openvino_env source openvino_env/bin/activate python3 -m pip install --upgrade pip pip install wheel setuptools pip install -r requirements.txt
2.2下载模型
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download --local-dir-use-symlinks False Qwen/Qwen1.5-0.5B-Chat --local-dir {your_path}/Qwen1.5-0.5B-Chat
下载量较大,请耐心等待。
2.3 转换模型
python3 convert.py --model_id Qwen/Qwen1.5-0.5B-Chat --precision int4 --output {your_path}/Qwen1.5-0.5B-Chat-ov
这个过程中也会下载权重模型,过程较长,慢慢等待下载。
该过程会进行大量警告信息,但是不会影响到模型的导出,无需担心。
2.4 加载模型并执行
python3 chat.py --model_path {your_path}/Qwen1.5-0.5B-Chat-ov --max_sequence_length 4096 --device CPU
如若出现以下界面,则代表加载成功:
2.3. 运行示例
总结
至此我们的实验就已经圆满完成,在该实验中,其实最困难的就是写对文件目录,只要每条命令的文件目录信息不出错,该实验就很容易完成。