实测OpenVINO比chatglm3-6b在cpu上运行,简单聊天对话,速度提高明显。
参考网站:https://github.com/THUDM/ChatGLM3/blob/main/Intel_device_demo/openvino_demo/README.md
一、环境配置
(一)克隆OpenVINO GLM3 推理仓库并安装依赖。
git clone https://github.com/OpenVINO-dev-contest/chatglm3.openvino.git
cd chatglm3.openvino
(二)新建一个虚拟环境,然后按照以下安装依赖。
1. 创建虚拟环境的
python3 -m venv openvino_env
该命令的解释如下:
python3
:指定使用Python 3版本的解释器
-m
:这是一个选项,告诉Python解释器以模块的方式运行随后的参数。
venv
:这是Python标准库中的一个模块,用于创建轻量级的虚拟环境。
openvino_env
:这是指定虚拟环境目录的名称。这个目录将会被创建在你运行这个命令的当前目录下,并且包含了Python解释器、标准库以及安装包的副本。
2. 激活虚拟环境
source openvino_env/bin/activate
执行后,前面括号内提示已经使用了openvino_env环境
3. 升级pip
python3 -m pip install --upgrade pip
4. 安装wheel 和 setuptools包
pip install wheel setuptools
5. 安装依赖
pip install -r requirements.txt
二、转换模型
将Huggingface模型转换为OpenVINO IR模型
需要下载模型并转换。
python3 convert.py --model_id THUDM/chatglm3-6b --output {your_path}/chatglm3-6b
可以选择的参数解释:
--model_id
- 模型所在目录的路径(绝对路径);
--output
- 转换后模型保存的地址
三、 量化模型(非必须)我的测试未作量化
python3 quantize.py --model_path {your_path}/chatglm3-6b --precision int4 --output {your_path}/chatglm3-6b-int4
可以选择的参数
--model_path
- OpenVINO IR 模型所在目录的路径。
-- precision
- 量化精度:int8 或 int4。
--output
- 保存模型的路径。
四、运行 ChatGLM3 模型
python3 chat.py --model_path {your_path}/chatglm3-6b --max_sequence_length 4096 --device CPU
可以选择的参数
--model_path
- OpenVINO IR 模型所在目录的路径。
--max_sequence_length
- 输出标记的最大大小。
--device
- 运行推理的设备。
运行效果:
五、常见问题
(一)为什么倒入本地模型还会报 huggingface 链接错误
1. 降级 transformers 库到 4.37.2 版本
查看transformers版本命令:
pip show transformers
如果当前版本高于4.37.2,则降级命令:
sudo pip install transformers==4.37.2
(二)需要安装 OpenVINO C++ 推理引擎吗
1.不需要
(三)一定要使用 Intel 的硬件吗?
1.我们仅在 Intel 设备上尝试,我们推荐使用x86架构的英特尔设备,包括但不限制于:
2.英特尔的CPU,包括个人电脑CPU 和服务器CPU。
3.英特尔的独立显卡。例如:ARC A770 显卡。