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

news2024/11/22 17:57:30

一、模型部署

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1667482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某票星球网图标点选验证码YOLOV8识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 图标点选验证码大家都不陌生了,我们来看下数据集 引言与个人想法 先说结论,本文采用的方法能够达到99的准确率,效果图如下 做图标点选其实方法有很多,有的…

活字格中如何打开指定文件夹

如何使用活字格打开指定文件夹 活字格是一款功能强大的电子表格软件,除了基本的表格计算功能之外,还提供了丰富的扩展功能,可以用来实现各种自动化操作。例如,我们可以使用活字格来打开指定的文件夹。 以下是具体的操作步骤&…

完整性验证器:迈向 Starknet 超高可扩展性的一大步

原文:https://www.starknet.io/en/content/the-integrity-verifier-a-leap-toward-starknet-hyperscaling;https://www.starknet.io/en/ecosystem/grant 编译:TinTinLand 核心观点 由 Herodotus 开发的完整性验证器,使开发者能够…

字节跳动后端青训营笔记:Go语言进阶

1.语言进阶&依赖管理 1.1 语言进阶 从并发编程的视角了解Go高性能的本质。 1.1.1 并发&并行 在单核CPU下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,它将CPU的时间片(window下最小约为15毫秒)分给不同的程序使用&#xff0…

Spring-依赖查找

依赖查找 根据名称进行查找 实时查找 BeanFactory beanFactory new ClassPathXmlApplicationContext("beans.xml"); Object bean beanFactory.getBean("personHolder"); System.out.println(bean);xml如下: <bean id"person" class&qu…

数据结构与算法===递归

文章目录 定义适用场景爬楼梯代码实现 小结 定义 递归(Recursion)是指函数的自身调用。 这个算法演变为了程序员之间的梗&#xff0c;所表达的意思近似于“套娃”&#xff0c;表示不断重复引用别人的话从而产生循环。 适用场景 这个应该很多的&#xff0c;像一些树的遍历&am…

谷歌最强AI——Gemini免费使用2个月教程,性能抗衡GPT4

谷歌最强AI——Gemini采用的是Ultra 1.0大模型&#xff0c;功能非常强大&#xff0c;媲美GPT-4&#xff01;谷歌用户只需要绑定虚拟卡&#xff0c;就可以免费使用2个月&#xff01; 谷歌昨夜官宣四项AI新进展&#xff01; 1、最大、功能最强的大模型版本Gemini Ultra 1.0全面…

【Arduino】ESP32/ESP8266 JSON格式解析

目录 1、JSON 2、JSON语法格式 基本概念&#xff1a; 语法规则&#xff1a; 数据类型&#xff1a; 示例&#xff1a; 3、JSON解析 单一对象JSON解析&#xff08;无嵌套&#xff09; JSON数组解析 使用ArduinoJson官网在线工具解析JSON信息 ESP8266闪存存储的JSON解析…

数据分析中大数据和云计算

大数据和云计算 前言一、大数据二、大数据定义三、数据存储单位四、大数据存储技术五、大数据应用技术六、大数据特征七、数据容量八、数据类型的多样性结构化数据半结构化数据非结构化数据 九、获取数据的速度十、可变性十一、真实性十二、复杂性十三、价值十四、云计算十五、…

模型推导:BG/NBD(预测用户生命周期(CLV)模型)

CLV&#xff08;Customer Lifetime Value&#xff09;指的是客户生命周期价值&#xff0c;用以衡量客户在一段时间内对企业有多大的价值。企业对每个用户的流失与否、在未来时间是否会再次购买&#xff0c;还会再购买多少次才会流失等问题感兴趣&#xff0c;本文中的BG/NBD模型…

【intro】Graph Isomorphism Network(GIN)

论文 https://arxiv.org/pdf/1810.00826 abstract 图神经网络(gnn)是一种有效的图表示学习框架。gnn采用邻域聚合方案&#xff0c;通过递归聚合和变换相邻节点的表示向量来计算节点的表示向量。已经提出了许多GNN变体&#xff0c;并在节点和图分类任务上取得了最先进的结果。…

C++实现一个简单的控制cpu利用率的程序

写一个程序&#xff0c;让控制cpu利用率在20%左右 思路很简单&#xff1a;每个循环控制sleep的时间占比 #include <iostream> #include <chrono> #include <unistd.h>int main() {int ratio 20;int base_time 1000;int sleeptime base_time * (100-ratio…

程序员必读书单(CSDN专享)

大家好&#xff0c;我是王有志&#xff0c;一个分享硬核 Java 技术的金融摸鱼侠&#xff0c;欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。 今天是一篇分享资源的汇总&#xff0c;近半年来我总计分享了 202 本&#xff08;将近 10G &#xff09;的计算机领域著作…

web前端之纯CSS实现简单酷炫的照片墙效果、排除元素的伪类、scale

MENU 效果htmlstylescale:not() 效果 html <div class"container"><div class"box"><img src"../../image/1_.jpg"></div><div class"box"><img src"../../image/2_.jpg"></div>…

欢乐钓鱼大师攻略,怎么获取道具?

在《欢乐钓鱼大师》的游戏世界中&#xff0c;道具是提升钓鱼体验、解锁新功能以及完成挑战的关键。通过多种方式获取道具&#xff0c;能够帮助玩家更好地探索游戏世界、挑战自我&#xff0c;以及与其他玩家展开竞争。以下是关于如何获取道具的详细攻略&#xff0c;让你能够在游…

嵌入式全栈开发学习笔记---C语言笔试复习大全16

目录 指针和数组 用指针来表示数组 用数组来表示指针 笔试题19 上一篇复习了指针使用时的相关注意事项&#xff0c;这一篇我们开始复习指针和数组。 说明&#xff1a;我们学过单片机的一般都是有C语言基础的了&#xff0c;网上关于C语言的资料有很多&#xff0c;大家如果对…

问题与解决:大华视频后台播放报错

大华播放器接到BI系统后&#xff0c;实时监控视频后台播放一段时间后&#xff0c;报错如下&#xff1a; The play() request was interrupted because video-only background media was paused to save power. 在谷歌浏览器下&#xff0c;直接用代码运行系统&#xff0c;视频在…

XP316,XP351中控DCS模块

XP316,XP351中控DCS模块。在设计分布式系统时&#xff0c;需要考虑以下原则可靠性&#xff1a;系统应该能够在节点故障的情况下继续工作&#xff0c;同时保证数据的一致性和可靠性。XP316,XP351中控DCS模块&#xff08;2&#xff09;可扩展性&#xff1a;保证用户的响应时间。安…

Tableau学习2.0版——复习

官网下载链接&#xff1a;https://www.tableau.com/zh-cn/support/releases 学生账户申请链接&#xff1a;https://www.tableau.com/zh-cn/academic/students。直接去学信网下载学籍在线验证作为申请证明。 目录 1、可视化原理 2、基础图表制作 2.1 对比分析&#xff08;比…

自动化机器学习——神经网络架构搜索

自动化机器学习——神经网络架构搜索 随着深度学习在各领域的广泛应用&#xff0c;设计高效的神经网络架构变得至关重要。传统的神经网络架构设计通常依赖于人工经验和试错&#xff0c;这种方式往往效率低下且不保证找到最优解。因此&#xff0c;自动化机器学习中的神经网络架…