部署+微调开源大模型(保姆级教程)
部署+微调GLM开源大模型
创建阿里云服务器
1、登录阿里云-计算(https://www.aliyun.com/),完成学生认证,申请三个月的免费服务器使用时间。学生认证通过后,可以领取一次300元的折扣券,如下图:
2、点击上方的“产品”,在产品类别里面搜索“人工智能与机器学习”,“人工智能平台PAI(原机器学习平台)”

3、点击管理控制台,在“模型开发与训练”中找到"交互式建模(DSW)",然后点击新建实例,填写实例名称,配置信息如下:这里请注意镜像版本;自动创建的实例默认的系统盘大小为100GB,如果要增加系统盘是需要额外收费的,而且系统盘扩容后,是不允许再缩容的。可以根据自己的实际情况设置系统盘大小,建议先设置为100GB,空间不够后续再增加;可以用折扣券直接抵扣增加系统盘产生的费用,不用的时候切记及时关掉实例,。

注意:服务器的计算时和普通计算时不一样(根据服务器的配置:1小时=*服务器计算时),所以不用的时候一定要关闭服务器,不然会产生额外的费用。
部署大模型
1、首先更换源地址
打开终端,永久更换源地址:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 换回默认源pip config unset global.index-url

2、下载大模型
创建文件夹models:mkdir models
跳到文件夹models下面:cd models
安装git:apt update
apt install git-lfs
克隆chatGLM3-6b大模型:git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
等待一段时间,中间如果出现下载过慢的情况需要换源, 终止程序运行(Ctrl +c)
会出现“处理 delta中:100%(58/58),完成”
最终结果会出现“过滤内容100%”即完成
3、下载项目
返回/mnt/workspace目录:cd ..
mkdir webcodes
cd webcodes
下载chatglm3-6b web_demo项目:git clone https://github.com/THUDM/ChatGLM3.git
跳转目录:cd ChatGLM3/
安装依赖:pip install -r requirements.txt
如果出现了警告,和错误不用管,问题不大,版本不兼容问题。可以再重新运行以下这段代码。
安装成功后的最后两行显示代码:
[notice] A new release of pip is available: 23.3.2 -> 24.2
[notice] To update, run: pip install --upgrade pip
4、修改大模型路径
去/mnt/workspace/webcodes/ChatGLM3的项目里面,打开basic_demo,找到里面的cli_demo.py,对”THUDM/chatglm3-6b“进行修改,改成要修改的路径。
把当前路径转到root@dsw-437932-5b87b8f7f-tsdrx:/mnt/workspace/models/chatglm3-6b# 下,
输入pwd,显示当前路径。将/mnt/workspace/models/chatglm3-6b,用它来替换THUDM/chatglm3-6b。然后ctrl+s保存

5、运行大模型
将路径转到webcodes/ChatGLM3/basic_demo下(转路径的方法:cd+空格+文件夹名称+/)
启动:python cli_demo.py

6、启动web页面
打开webcodes/ChatGLM3/composite_demo下client.py文件,按照步骤4进行修改路径,然后保存。
在终端将路径转到webcodes/ChatGLM3/composite_demo下,输入命令:streamlit run main.py

7、可能出现的问题
启动web页面后报错:No module named 'huggingface_hub.inference._text_generation
解决办法:运行pip install "huggingface_hub<0.22.0"
微调大模型
安装MiniConda(如果在自己的服务器上,已经安装了Ancona,则可忽略此步骤)
默认已经完成了上面实验的部署,并能够正确运行。为了规范性,MiniConda安装的路径最好安装在root@dsw-437932-5b87b8f7f-tsdrx:/mnt/workspace#)下。
1、下载MiniConda:
运行wget [https://repo.anaconda.com/miniconda/Miniconda3- latest-Linux-x86_64.sh](https://repo.anaconda.com/miniconda/Miniconda3- latest-Linux-x86_64.sh)
2 安装MiniConda:
bash Miniconda3-latest-Linux-x86_64.sh
安装过程中,一直按enter键,然后会提示你接受 Anaconda 的许可协议,输入yes即可。
接下来会提示让你输入安装位置的路径名,输入”Minconda”即可

3、安装完成后
将 Miniconda 添加到系统 PATH 变量中,输入 yes

4、激活conda:
source ~/.bashrc

5、验证是否已正确安装:
conda --version

LLAMA-Factory的部署
1、克隆llama-factory项目:
git clone https://github.com/hiyouga/LLaMA-Factory.git
安装的路径在(root@dsw-437932-5b87b8f7f-tsdrx:/mnt/workspace#)下
2、创建环境:
conda create -n llama_factory python=3.10
激活环境: conda activate llama_factory
3、切换到该目录下:
cd LLaMA-Factory/
4、安装依赖:
pip install -e .[torch,metrics]
5、启动
路径为:(llama_factory) root@dsw-437932-5b87b8f7f-tsdrx:/mnt/workspace/LLaMA-Factory#
输入命令:CUDA_VISIBLE_DEVICES=0 USE_MODELSCOPE_HUB=1 python src/webui.py, 然后点击链接

这里就是本次微调的图形化界面

6、总结
以后每次简单的启动步骤:刚开始要在主环境下
(1)conda activate llama_factory #激活
(2)cd LLaMA-Factory/ #跳转到该目录下((llama_factory) root@dsw-437932-5b87b8f7f-tsdrx:/mnt/workspace/LLaMA-Factory#)
(3)CUDA_VISIBLE_DEVICES=0 USE_MODELSCOPE_HUB=1 python src/webui.py
微调模型
1、添加数据集接口:
首先是找到文件夹LLaMA-Factory下的data文件夹,data文件夹是用来存要进行微调训练的数据的。其中,dataset_info.json是管理各种数据集合的文件,要引入自己的数据集合,需要在该文件中进行操作。

编辑dataset_info.json,在最后一行创建自己的数据集接口

注意:在 json文件中,所有的字符都要用英文,而且注意语法规则,如在花括号内的最后一行的最后位置不能存在字符,如果新加一个”数据接口”需要在前一个”数据接口”的花括号后面添加”,“并且在所添加的接口结尾添加花括号,花括号后面不再添加任何符号。
2、导入自己的数据集
可以先让chatgpt写一个简单的json格式的数据,上传到LLaMA-Factory下的data文件夹。然后打开dataset_info.json,如果出现打不开的情况,说明”数据接口”格式不对,应该是标点符号的问题,修正后即可。

上传完成后,在LLaMA Board中刷新一下页面,就可以在”数据集”那里找到self_cognition.json,最后需要修改一些配置:模型名称选择ChatGLM3-6B-Chat,训练轮数根据自己的数据集大小选择

然后点击”开始”按钮,就可以进行训练微调了。
3、查看微调后的模型
在”高级设置”中还存在一个Chat,训练完成后可以使用它来看训练的效果。这里一定要确保检查点路径选择正确,否则加载的模型可能加载错误。检查点路径的命名方式以日期时间命名。首次微调不用选择。

加载模型后,就可以提问问题了。
4、模型的导出
在模型完成训练后,打开”高级设置”下的”Export”,设置导出目录#export/train。因为进行微调是在LLaMA-Factory文件夹下,所以只输入export/train,默认就在该文件夹下。如果想要找到导出的微调后的大模型,就在该路径下寻找;选择”适配器路径”,点击一下,会默认显示,直接选择就可以。如果模型导出失败,可能是硬盘空间不够的问题,可以尝试增加系统盘空间重新导出。

4.1把微调模型在终端运行:
按照部署大模型的步骤4修改路径,按照步骤5运行
4.2把微调模型在web端运行:
按照部署大模型的步骤6
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)