满足你的个性化需求!ChatGLM4 模型微调教程

一、 大模型 ChatGLM4 简介

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中, GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。

除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的 GLM-4-9B-Chat-1M 模型和基于 GLM-4-9B 的多模态模型 GLM-4V-9B。

GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 表现出超越 GPT-4-turbo-2024-04-09、Gemini 1.0 Pro、Qwen-VL-Max 和 Claude 3 Opus 的卓越性能。

本文将分享ChatGLM4的微调教程,大家可针对特定任务、适应特定领域和数据集特性进行微调,实现对预训练模型的优化升级,更高效地服务于各类实际应用场景。

二、大模型 ChatGLM4 微调步骤

1. 结束当前运行(按键盘上的 Ctrl + C)

image.png

2. 从 github 仓库 克隆项目

  • 克隆存储库:
#拉取代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

image.png

出现以上页面即是克隆项目成功!

请注意,如果 git clone https://github.com/hiyouga/LLaMA-Factory.git 这个链接不存在或者无效,git clone 命令将不会成功克隆项目,并且会报错。确保链接是有效的,并且您有足够的权限访问该存储库。

3. 安装模型依赖库

  • 切换到项目目录、激活 ChatGLM4 虚拟环境、安装依赖
#切换到之前创建好的 ChatGLM4 环境
conda activate ChatGLM4#切换到LLaMA-Factory根目录
cd LLaMA-Factory#安装项目依赖
pip install -e ".[torch,metrics]"

image.png

等待安装完成

image.png

4. 启动 webui.py 文件

注意这里需要在 LLaMA-Factory 的根目录启动

# 启动 webui.py 文件
python src/webui.py

image.png

需要设置 Gradio 服务器名称和端口

# 设置 Gradio 服务器名称和端口
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080# 启动 webui.py 文件
python src/webui.py

image.png

启动端口后就可以访问微调页面了页面如下:

image.png

5. 微调页面操作步骤

5.1 语言切换

image.png

5.2 选择微调模型

image.png

5.3 加载本地模型的文件路径

image.png

5.4 . 准备数据集
  • 复制以下路径进入 算家云文件管理 页面,并打开 identity.json 文件
/ChatGLM4/basic_demo/LLaMA-Factory/data/

image.png

  • 按照以下数据格式进行数据替换

image.png

5.5 选择数据

image.png

5.6 开始微调模型

image.png

image.png

出现以上问题,需要安装 deepspeed 依赖

# 安装 deepspeed 依赖
pip3 install deepspeed

image.png

等待安装完成

image.png

再次启动 webui.py 文件,开始微调模型

# 启动 webui.py 文件
python src/webui.py

image.png

5.7 微调过程展示
  • web 页面

image.png

  • 命令行

image.png

5.8 训练完成

image.png

5.9 模型验证
  • 选择模型检查点

image.png

  • 选择数据集

image.png

  • 开始执行验证模型

image.png

  • 等待执行完成

image.png

5.10 模型加载
  • 加载模型检查点

image.png

  • 输入文本,进行对话

    image.png

5.11 模型合并
  • 加载保存导出模型的文件夹路径

image.png

  • web 完成页面

image.png

  • 命令行完成页面

image.png

四、大模型 ChatGLM4 微调调用

1. 编辑 web_demo.py 文件

# 切换到项目工作目录
cd /ChatGLM4/basic_demo# 激活 ChatGLM4 虚拟环境
conda activate ChatGLM4# 编辑 trans_web_demo.py 文件
vim trans_web_demo.py

image.png

找到以上模型路径,替换为刚刚保存的路径

/root/sj-tmp/GLM-4-9B-Chat-0920-2

2. 启动 web_demo.py 文件

# 切换到项目工作目录
cd /ChatGLM4/basic_demo# 激活 ChatGLM4 虚拟环境
conda activate ChatGLM4# 运行 trans_web_demo.py 文件
python trans_web_demo.py

image.png

3. 访问端口,进行模型测试

image.png

测试结果如下:

image.png

以上就是ChatGLM的微调教程分享,欢迎大家在评论区交流讨论~

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

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

相关文章

TCP基础了解

什么是 TCP ? TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的; 可靠的:无论…

Altair: 轻松创建交互式数据可视化

Altair: 轻松创建交互式数据可视化 Altair 是一个基于 Vega-Lite 的 Python 数据可视化库,它旨在简化数据可视化的创建过程,尤其适用于统计图表的生成。Altair 强调声明式编码方式,通过简单的语法,用户能够快速创建复杂的交互式图…

conda-pack迁移虚拟环境

conda-pack打包迁移环境 源机器上: # 创建并激活环境 conda create --name myenv python3.8 conda activate myenv# 安装所需包 conda install numpy pandas# 打包环境 conda install -c conda-forge conda-pack conda pack -n myenv -o myenv.tar.gz 目标机器上&a…

paddle

paddlepaddle 安装环境 查看虚拟环境 创建一个名叫paddle的虚拟环境 conda env list conda create -n paddle python3.8激活 conda activate paddle打开paddlepaddle官网 选择windowcondacpu复制代码 conda install paddlepaddle2.6.2 --channel https://mirrors.tuna.tsi…

如何测量分辨率

一、什么是分辨率? 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率,但是相机在在不同的对比度的情况下还原低,中和高频率的能力,也可以显示全面综合的信息。…

API开发:Flask VS FastAPI

在当今的Web开发领域,选择合适的框架对于构建高效、稳定且易于维护的API至关重要。Flask和FastAPI是两个备受关注的Python Web框架,它们各自具有独特的特点和优势,适用于不同的开发场景。 文章目录 一、简介二、性能表现三、开发效率&#xf…

HCIA-Access V2.5_4_1_1路由协议基础_IP路由表

大型网络的拓扑结构一般会比较复杂,不同的部门,或者总部和分支可能处在不同的网络中,此时就需要使用路由器来连接不同的网络,实现网络之间的数据转发。 本章将介绍路由协议的基础知识、路由表的分类、静态路由基础与配置、VLAN间…

气象与旅游之间的关系,如果借助高精度预测提高旅游的质量

气象与旅游之间存在密切的关系,天气条件直接影响旅游者的出行决策、旅游体验和安全保障。通过高精度气象预测技术,可以有效提升旅游质量,为游客和旅游行业带来显著的优势。 1. 提高游客出行决策效率 个性化天气服务:基于高精度气象预测,旅游平台可以提供个性化的天气预报服…

【计算机视觉基础CV】03-深度学习图像分类实战:鲜花数据集加载与预处理详解

本文将深入介绍鲜花分类数据集的加载与处理方式,同时详细解释代码的每一步骤并给出更丰富的实践建议和拓展思路。以实用为导向,为读者提供从数据组织、预处理、加载到可视化展示的完整过程,并为后续模型训练打下基础。 前言 在计算机视觉的深…

第一次面试到第一份offer的经历分享

更多大厂面试经验的视频经验分享看主页 目录: 话不多说,进入正题 从去年九月份开始面试 到现在第一份offer中间经历了大概5个月的时间 我会将我面试过的公司跟一些比较经典的问题分享出来 公司: 1.360 2.奇安信: 3.安询 4.安腾信息技术公司 5.深思科技…

数据结构之线性表1

2.1 线性表的定义和基本操作 1.线性结构的特点是:在数据元素的非空有限集中, (1)存在惟一的一个被称做“第一个”的数据元素; (2) 存在惟一的一个被称做“最后一个”的数据元素; &a…

信息安全实训室网络攻防靶场实战核心平台解决方案

一、引言 网络安全靶场,作为一种融合了虚拟与现实环境的综合性平台,专为基础设施、应用程序及物理系统等目标设计,旨在向系统用户提供全方位的安全服务,涵盖教学、研究、训练及测试等多个维度。随着网络空间对抗态势的日益复杂化…

关于分页的样式问题

在最近写网页的时候遇到了一个关于样式的问题,今天我来跟大家来说一下。像是分页中的颜色效果,斑马纹颜色要注意颜色不要过于深。 这种的颜色就有一点深看着很不舒服,应将当前的颜色改为淡一点的,也可以利用rgba调整透明度&#x…

一分钟快速了解什么是AEO海关认证

一分钟快速了解什么是AEO海关认证——这一术语,对于国际贸易领域的从业者而言,无疑是一个充满分量与价值的标签。AEO,即“Authorized Economic Operator”,中文译为“经认证的经营者”,是海关对信用状况、守法程度和安…

在Ubuntu中配置mysql,并允许外部访问数据库

在虚拟机中安装 MySQL 并允许外部访问,可以按照以下步骤操作: 1. 更新系统包 首先,确保你的系统是最新的,使用以下命令更新包列表: sudo apt update sudo apt upgrade2. 安装 MySQL Server 安装 MySQL 服务&#x…

Python图注意力神经网络GAT与蛋白质相互作用数据模型构建、可视化及熵直方图分析...

全文链接:https://tecdat.cn/?p38617 本文聚焦于图注意力网络GAT在蛋白质 - 蛋白质相互作用数据集中的应用。首先介绍了研究背景与目的,阐述了相关概念如归纳设置与转导设置的差异。接着详细描述了数据加载与可视化的过程,包括代码实现与分析…

Java学习笔记(13)——面向对象编程

面向对象基础 目录 面向对象基础 方法重载 练习: 继承 继承树 protected super 阻止继承 向上转型 向下转型 区分继承和组合 练习 小结: 方法重载 如果有一系列方法,功能类似,只是参数有所不同,就可以把…

线性池学习

一、什么是进程?什么是线程? 1. 进程的定义 从操作系统的角度解释: 进程是操作系统分配资源和调度执行的基本单位。每个进程都是操作系统中一个独立的实体,拥有自己的内存空间、文件描述符、代码、数据等资源。进程是程序在执行…

go 自己写序列化函数不转义

以map[int32]string转化为[]byte为例 背景:算法传给我一个map[int32]string类型的值(map的值本身是json转化成的string),我需要把这个值生成一个文件上传到OSS,但是发现通过url下载下来的文件里面有转义字符。 原因&a…

Facebook 与数字社交的未来走向

随着数字技术的飞速发展,社交平台的角色和形式也在不断演变。作为全球最大社交平台之一,Facebook(现Meta)在推动数字社交的进程中扮演了至关重要的角色。然而,随着互联网的去中心化趋势和新技术的崛起,Face…