一、环境准备
1.1 安装Miniforge软件
Miniforge软件包含conda-forge特有的Conda和Mamba的最小安装程序,与Anaconda相比占用空间更小,如果自身电脑已安装了anaconda,在虚拟环境创建时使用conda 即可。
->若本机已有anaconda可直接使用,无需再安装Miniforge,否则会冲突
以查看虚拟环境列表为例:
Miniforge:mamba env list
Anaconda:conda env list
Miniforge的Github网址:https://github.com/conda-forge/miniforge


下载完毕后双击安装

安装路径建议纯英文且路径中不要有空格

安装中,这三个打勾,否则后续要手动配置环境变量

等待安装

安装完成后打开该文件夹,地址栏输入cmd打开命令行(方法二:也可以按住shift键+鼠标右键,选择“在终端中打开”)窗口输入mamba,如果有回显,证明安装成功

1.2 安装Git
进入Git官网->“Downloads”->Windows软件下载界面,选择64位版本,或直接下方链接。
https://git-scm.com/downloads/win


等待安装包下载,下载完毕后双击安装,注意勾选“Git LFS”




接下来根据个人需要选择安装即可,我这都是默认选项直接下一步

同样的操作,在安装好的文件夹下打开命令行终端,输入“git lfs install”,有回显表示Git和Git LFS安装成功。

二、项目创建及部署实验过程
2.1 创建虚拟环境(可选)->这里建议跳转至2.4“注意”先查看下,规划好
mamba create -n chatglm3 python=3.9 【Anaconda同理】

Y->确认创建

创建好后,可以查看虚拟环境列表
mamba env list

2.2 克隆OpenVINO GLM3 推理仓库
先新建一个空文件夹用于存放项目代码,路径不要有中文
ChatGLM3项目Github网址:https://github.com/THuDM/ChatGLM3
https://github.com/THUDM/ChatGLM3/blob/main/Intel_device_demo/openvino_demo/README.md
如果直接复制连接无法打开,这里点进去就是

克隆OpenVINO GLM3 推理仓库
OpenVINO: Intel 开发的高性能 CPU 和 GPU 加速推理方案
git clone https://github.com/OpenVINO-dev-contest/chatglm3.openvino.git
cd chatglm3.openvino
2.3 获取模型权重文件
先新建一个空文件夹用于存放项目代码,路径不要有中文

git lfs install
git clone 魔搭社区
cd chatglm3-6b
git lfs pull


原理:工作时将这些读到显存中使用

2.4 安装项目依赖
进入到代码文件夹中,激活虚拟环境
# 进入代码文件夹
cd chatglm3.openvino
注意:若本机已有anaconda可直接使用,无需再安装Miniforge,否则会冲突,已踩坑。
我的电脑已安装了Anaconda
# 用anaconda创建虚拟环境
conda create -n chatglm3 python=3.9 【标红部分自定义虚拟环境名称】


用PyCharm打开“chatglm3.openvino”项目并挂载刚创建的“chatglm3”虚拟环境
注:
(1)若没有PyCharm软件,在终端操作,一样的。
cd chatglm3.openvino
activate chatglm3 【你自己创建的虚拟环境名称】
pip install wheel setuptools

注:在安装依赖前,记事本打开“requirements.txt”,把>=改成“==”,否则模型转化时会报错。
pip install -r requirements.txt
(2)若想安装PyCharm软件,安装教程参考Win11本机安装Anaconda3和PyCharm教程:
https://blog.csdn.net/u012732010/article/details/143530398?spm=1001.2014.3001.5501

安装项目依赖
pip install wheel setuptools
pip install -r requirements.txt

等待安装,比较漫长
2.5 模型转化
不同框架对于模型格式要求不同,以下将Huggingface模型转换为OpenVINO IR模型
配置命令及语法:
python convert.py --model_id THUDM/chatglm3-6b --output {your_path}/chatglm3-6b-vino
# --model_id 模型所在路径(绝对路径,不能包含中文)
# --output 转化后模型保存的目录路径(不能包含中文)
python convert.py --model_id D:\Program\GLM3\chatglm3-6b --output D:/Program/chat3/chatglm3-6b-vino
# 注意:1.提前创建好chat3文件夹,否则报路径找不到;2.需科学上网。
这里已离线下载好;3.最主要的是要电脑内存够用,本人笔记本电脑硬件配置确实不太行,跑崩溃了,但整套配置思路和命令就是这样。

2.6 量化模型(可选)
不量化情况下,运行模型需要12G左右内存,如果内存空间不足或想获得更快输出,则需要量化模型。
Int4输出很快,int8其次,原始最慢但效果也最好
Int4约需要4G左右内存,Int8约6G左右。
配置命令及语法:
python quantize.py --model_path {your_path}/chatglm3-6b --precision int4 --output {your_path}/chatglm3-6b-int4
# --model_path OpenVINO IR 模型所在目录的路径
# -- precision 量化精度:int8 或 int4
# --output 保存模型的路径
例:python quantize.py --model_path D:\Program\GLM3\chatglm3-6b --precision int4 --output D:/Program/chat3/chatglm3-6b-int4
2.7 运行
配置命令及语法:
python chat.py --model_path {your_path}/chatglm3-6b --max_sequence_length 4096 --device CPU
# --model_path OpenVINO IR 模型所在目录的路径
# --max_sequence_length 输出标记的最大大小
# --device 运行推理的设备,有Intel核显即可选择GPU,速度比CPU快
python chat.py --model_path D:/Program/chat3/chatglm3-6b-int4 --max_sequence_length 4096 --device GPU
1107

被折叠的 条评论
为什么被折叠?



