阿里云部署ChatGLM-6B及ptuning微调教程

2024-05-12 19:12

本文主要是介绍阿里云部署ChatGLM-6B及ptuning微调教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、模型部署

1.进入阿里云人工智能平台PAI。

2.申请免费试用。

3.打开交互式建模 PAI-DSW。

4.新建实例。

5.填写配置。

6.实例准备完成后点击打开。

7.打开实例后点击Teminal。

8.在Teminal中依次输入以下命令并执行。

apt-get update
apt-get install git-lfs
git lfs install
git init
git-lfs init
git lfs install

9.继续在Teminal中输入以下命令来获取项目文件,执行完成后点击Notebook检查项目文件是否成功获取。

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

如果获取太慢或者获取失败,就在github上下载好代码的压缩包到本地上传并进行解压。

unzip ChatGLM-6B-main_0515.zip

10.回到Teminal进入项目文件创建一个model文件夹用于存放模型,创建完成后进入model文件夹拉取模型,由于huggingface可能连接不稳定,这里采用国内的modelscope社区来拉取模型。对应的命令如下。

cd ChatGLM-6B
mkdir model
cd model
git clone https://www.modelscope.cn/ZhipuAI/ChatGLM-6B.git

11.执行完成后点击Notebook进入model文件夹检查模型是否拉取完整,发现模型与项目文件同名,我们将其改为小写。(记得仔细检查下模型是否拉取完整)

若拉取失败,也可用上述方法将文件下载到本地再上传。

12.回到Teminal输入以下命令返回上一级项目文件目录安装依赖。

cd ..
pip install -r requirements.txt

13.安装完成后点击Notebook,在项目文件目录下修改web_demo.py文件(主要是修改模型路径),修改完成后使用 Ctrl + s 保存。

14.最后回到Teminal运行web_demo.py文件。

python web_demo.py

15.执行后可能会出现以下报错,原因是gradio版本过高,需安装一个低版本的gradio。

pip install gradio==3.39.0

16.再次尝试执行web_demo.py文件,得到了一个url,点击url进入模型的web界面,再进行问答测试发现成功部署。

二、模型微调

1.首先来看下github上给出的微调数据集格式。

我们根据其格式编写一些自己的微调数据并保存为train.json文件到桌面,具体如下图所示。

2.回到项目文件,我们看到项目文件已经给了一个ptuning的文件夹。

3.将自己编写的微调数据文件train.json从桌面拖入到ptuning文件夹中。

4.修改ptuning目录下的train.sh文件。

5.点击Teminal输入以下命令进入ptuning目录下运行train.sh文件,进行微调训练。

cd ChatGLM-6B
cd ptuning
bash train.sh

如果提示出现缺少模块错误,提示缺啥就装啥(使用 pip install xx 安装)。训练的过程和训练完成后的界面如下图所示。

6.训练完成后点击Notebook,发现ptuning目录下多出了一个output文件夹,进入output文件夹看到的checkpoint-500 就是我们最后训练得到的微调模型。

7.(该步骤可以跳过)可以对evaluate.sh文件进行修改并运行来对训练得到的微调模型进行评估。

修改完成后点击Teminal,还是在ptuning目录下执行。评估完成后会在output文件中生成generated_prediction.txt文件来汇报评估结果。

bash evaluate.sh

8.最后修改ptuning目录下的web_demo.sh文件,再去Teminal中ptuning目录下输入命令运行。修改的参数和运行的命令如下。

bash web_demo.sh

9.运行完成后同样也得到一个url,点击url进入微调好的模型的web界面,进行问答测试。问的姓名与自己编写的数据有点差别,但星座准确地答出来了,这与训练过程有关,不过也算有点微调效果了。

最后说下自己也是入门学习大模型,可能理解表述有问题,欢迎指教。以上内容学习于B站up主:Joker大金宝。视频链接如下,如有侵权,联系删除。

在阿里云上部署chatGLM-6B_哔哩哔哩_bilibili

在阿里云上微调chatGLM-6B_哔哩哔哩_bilibili

这篇关于阿里云部署ChatGLM-6B及ptuning微调教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983494

相关文章

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1