当前位置:   article > 正文

在阿里云部署、微调chatGLM,配置langchain chatGLM2的过程_阿里云部署chatglm

阿里云部署chatglm

此前在视频中介绍了在阿里云上部署、微调chatGLM、chatGLM2、langchain chatGLM2的过程,这里概述部署过程以便大家参考

视频地址:

在阿里云上部署chatGLM-6B:https://www.bilibili.com/video/BV1K14y1m7Hu

在阿里云上微调chatGLM-6B:https://www.bilibili.com/video/BV15s4y1c7QW

在阿里云上部署chatGLM2和langchain chatGLM2:https://www.bilibili.com/video/BV1EW4y1f7GA

先领取阿里云机器学习平台的免费使用资格
在这里插入图片描述

创建机器学习平台,若是首次申请试用应该直接带你去了机器学习界面,则可跳过此步
在这里插入图片描述

打开交互式建模

在这里插入图片描述
创建实例
在这里插入图片描述

配置实例名称、选择GPU规格,我选择NVIDA V100这款(我不确定以后有哪些可选的规格,原则上只要显存够大都可以)
在这里插入图片描述

镜像这里选择的是pytorch:1.12-gpu-py39-cu113-ubuntu20.04

而数据集和专用网络没有设置,也不影响后面的测试,尝试添加过专用网络但是会提示资源暂时不足

等待实例初始化,待实例初始化完毕后,打开实例
在这里插入图片描述

进入terminal终端

更新git-lfs

apt-get update

apt-get install git-lfs

在这里插入图片描述

这里极容易报错,如果报错就初始化git

git init

git lfs install

下载chatGLM-6B源代码

git clone https://github.com/THUDM/ChatGLM-6B.git

进入chatGLM-6B文件夹,安装chatGLM的依赖

pip install -r requirements.txt
在这里插入图片描述

创建model文件夹

cd ChatGLM-6B

mkdir model

cd model

下载模型文件

git clone https://huggingface.co/THUDM/chatglm-6b

如果显存不够也可下载量化后的模型

git clone https://huggingface.co/THUDM/chatglm-6b-int4
(这里下载模型文件需要等待几个小时,我先下载模型文件再上传到阿里云上出出现莫名的错误)
修改web_demo.py里的模型路径

将模型路径改程自己的chatGLM路径,这里我改成model/chatGLM-6B
在这里插入图片描述

启动web_demo:python web_demo.py

顺利即可弹出对话网页,也亦可使用cli_demo或api_demo进行终端对话或创建api

微调过程

准备语料或下载官方语料(官方语料下载地址:https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1)

上传语料,可传至ptuning文件夹
在这里插入图片描述

打开train.sh文件

将train_file,validation_file值改为自己的训练语料和推断语料,我这里都是train.json

若train.json放在其他目录下则补齐相对路径

修改model_name_or_path为自己chatGLM模型的路径,我的是…/model/chatglm-6b

修改per_device_train_batch_size为自己的显存大小,这里设成16

修改训练步长,我这里将max_steps改为500,将save_steps改为50

修改上方的python3为python
在这里插入图片描述

其它保持默认即可,当然感兴趣也可以研究着改

保存文件(ctrl + s)

在terminal里定位到ptuning文件夹

cd ChatGLM-6B

cd ptuning

然后调用train.sh开始训练

bash train.sh(此步会提示几个没装的依赖,提示什么就pip install什么即可)
在这里插入图片描述

装好依赖后再执行bash train.sh,开始训练

等待训练完毕,训练完毕后可检查output里的checkpoint文件夹已经生成了bin文件
在这里插入图片描述

此时可进行推断,修改ptuning里的evaluate.sh文件

将python3改为python

将validation_file和test_file改为自己的训练语料和推断语料,我这里都是train.json

修改model_name_or_path为chatGLM原本的模型路径…/model/chatglm-6b \

修改STEP为自己的步长,如训练时没修改步长则不需要动,我这里将其改为500

确认CHECKPOINT和自己output里生成的文件夹名称一致

保存文件(ctrl + s)
在这里插入图片描述

进入terminal界面,执行

bash evaluate.sh

会得到推断的结果,可用来对训练出的模型进行评估

接下来加载训练的模型,打开web_demo.sh文件

修改python3为python

将model_name_or_path改为原本的大模型所在的路径,

我这里是…/model/chatglm-6b

将ptuning_checkpoint改为自己训练得到的模型路径

我这里是output/adgen-chatglm-6b-pt-128-2e-2/checkpoint-500

然后保存文件(ctrl + s)
在这里插入图片描述

进入terminal界面,执行

bash web_demo.sh

顺利则已经弹出对话界面,此时可与微调后的模型对话
在这里插入图片描述

在前面阿里云上部署chatGLM2和langchain chatGLM2

与部署chatGLM一样先安装

安装并初始化git-lfs(若在前面的机器上部署则无需此步)

apt-get update

apt-get install git-lfs

git init

git lfs install

l然后oad chatGLM2源文件

git clone https://github.com/THUDM/ChatGLM2-6B.git
在这里插入图片描述

然后安装其依赖

cd ChatGLM2-6B

pip install -r requirements.txt

然后新建个目录用来下载模型文件,若连接不到huggingface则需多试几次

mkdir model

cd model

git clone https://huggingface.co/THUDM/chatglm2-6b
在这里插入图片描述

然后配置web_demo中模型的路径
在这里插入图片描述

接着运行配置好的web_demo.py

顺利则已打开chatGLM2的网页对话

接下来开始部署langchain chatGLM2

可在terminal里按(ctrl + c)结束当前任务,

接着返回到顶层,下载langchain chatGLM的源代码

git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git
在这里插入图片描述

接着进入下载好的langchain-ChatGLM,下载embedding模型,langchain chatGLM默认的是text2vec模型,而闻达这里则推荐m3e模型,大家可以多做些尝试

cd langchain-ChatGLM

git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
在这里插入图片描述

返回langchain chatGLM最上层的目录,安装其依赖

pip install -r requirements.txt

接着配置config文件夹里的model_config.py,设置chatGLM2和text2vec的模型路径
在这里插入图片描述

在这里插入图片描述

把LLM_MODEL也改程chatGLM2-6B

我这里打开了LOAD_IN_8BIT以量化方式加载模型,否则V100的显卡有些不够用

接着运行webui.txt

python webui.txt

因为开启了量化,会报错,要求安装以下两个以来,根据提示先后安装即可

pip install accelerate

pip install bitsandbytes

接着再运行python webui.txt即可打开langchain chatGLM2的界面

可以与LLM模型对话,也可加载知识库,加载bing

另有朋友反应此时会出现

ValueError: If you want to offload some keys to cpu or disk, you need to set llm_int8_enable_fp32_cpu_offload=True.

的错误,我没有出现,可能是GPU出现了问题,可以重启一下机器试试,我联系同志时问题已解决,我感觉可能是这个问题

至此,我们完成了chatGLM的部署、微调、chatGLM2的部署以及langchain chatGLM2的部署和使用,以后继续给大家分享有趣的东西 作者:Joker大金宝 https://www.bilibili.com/read/cv24931671/ 出处:bilibili

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/255413
推荐阅读
相关标签
  

闽ICP备14008679号