1. 引入
OpenVINO 工具套件是Intel开源的工具,可以在CPU上加速 AI推理过程。主要是用在CPU场景下的,在Intel的硬件上使用。
本文在AI PC的CPU上实测一下OpenVINO运行大模型ChatGLM3-6b的运行效果,并记录整个过程。
2. 测试环境
在如下配置的笔记本上进行实测:
- Windows 11 家庭中文版,CPU
- Anaconda3-2024.02-1-Windows-x86_64
- Python 3.11.7
- 内存:32G
3. 安装OpenVINO
上网搜有一堆比较复杂的OpenVINO的安装方法,本文直接使用pip安装,这是最简单的安装方法。
pip install openvino
安装的版本是2024.0.0
4. 使用OpenVINO运行大模型
- 下载大模型
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
- 下载运行大模型的程序
git clone https://github.com/OpenVINO-dev-contest/chatglm3.openvino.git
使用OpenVINO调用大模型进行问答的代码都在这里面了,实测可以直接使用。
- 配置运行环境
cd chatglm3.openvino
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 模型格式转换
python convert.py --model_id THUDM\chatglm3-6b --output output\chatglm3ov
转换前THUDM\chatglm3-6b
大小为46.5G,转换后output\chatglm3ov
减少为11.6G。
- 运行大模型问答交互测试程序
(base) C:\Users\conte\chatglm3.openvino>python chat.py --model_path output\chatglm3ov --device cpu
INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, onnx, openvino
Setting eos_token is not supported, use the default one.
Setting pad_token is not supported, use the default one.
Setting unk_token is not supported, use the default one.
====Compiling model====
The argument `trust_remote_code` is to be used along with export=True. It will be ignored.
Compiling the model to CPU ...
====Starting conversation====
用户: hello
ChatGLM3-6B-OpenVINO:
Hello! How can I help you today?
用户: stop
上面为具体的命令与用户输入hello后模型的输出内容实例。最后用户输入stop即可退出测试程序。
这里命令上将cpu改为gpu就能直接启动GPU运行了,也比较方便。
5. 总结
运行后,CPU是跑满的,32G内存也几乎被占满,启动chat.py后要等待1min,然后即可进行问答,输出token的速度基本每秒2~5个。模型进行格式转换后,确实是变小了很多。
参考
- https://blog.csdn.net/m0_63007797/article/details/136690443