使用LLaMA-Factory微调ChatGLM3

1、创建虚拟环境

2、部署LLaMA-Factory

(1)下载LLaMA-Factory

https://github.com/hiyouga/LLaMA-Factory

(2)安装依赖
pip3 install -r requirements.txt

(3)启动LLaMA-Factory的web页面

CUDA_VISIBLE_DEVICES=0 python src/train_web.py

得到如下页面:
在这里插入图片描述

3、ChatGLM3模型微调

设置如下参数,点击开始即可:
在这里插入图片描述
点击“预览命令”,可以看到要执行的python脚本,如下所示:

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \--stage sft \--do_train \--model_name_or_path /root/LLaMA-Factory-main/chatglm3\--dataset alpaca_gpt4_zh \--template default \--finetuning_type lora \--lora_target q_proj,v_proj \--output_dir path_to_sft_checkpoint \--overwrite_cache \--per_device_train_batch_size 4 \--gradient_accumulation_steps 4 \--lr_scheduler_type cosine \--logging_steps 10 \--save_steps 1000 \--learning_rate 5e-5 \--num_train_epochs 3.0 \--plot_loss \--fp16

web页面和后台都会显示日志信息
在这里插入图片描述

4、推理测试

在这里插入图片描述
输入微调数据中的问题,回答贴合数据集,微调成功。

5、模型合并导出

在这里插入图片描述
待执行完,即可看到/root/LLaMA-Factory-main/merge路径下有了合并的模型了。

6、使用官方项目运行微调合并后的模型

可以看到也是没问题的。
在这里插入图片描述

7、过程中的问题

(1)合并后的模型无法加载,报错信息如下:
AttributeError: property 'eos_token' of 'ChatGLMTokenizer' object has no setter

解决方法:将源模型中除了bin文件和pytorch_model.bin.index.json 以外的文件全部复制到导出目录中覆盖。

(2)模型微调时使用自己的数据集

该项目目前支持两种格式的数据集:alpaca 和 sharegpt,我是用的是 alpaca 格式,数据集按照以下方式组织:

[{"instruction": "用户指令(必填)","input": "用户输入(选填)","output": "模型回答(必填)","system": "系统提示词(选填)","history": [["第一轮指令(选填)", "第一轮回答(选填)"],["第二轮指令(选填)", "第二轮回答(选填)"]]}
]

在这里插入图片描述
将数据梳理好之后上传到data目录下。

接下来需要修改data/dataset_info.json,对于上述格式的数据,dataset_info.json 中的 columns 格式应为:

"数据集名称": {"columns": {"prompt": "instruction","query": "input","response": "output","system": "system","history": "history"}
}

我这里写的是:

"chatglm3": {"file_name": "chatglm3_train.json","file_sha1": "e655af3db557a4197f7b0cf92e1986b08fae6311","columns": {"prompt": "instruction","query": "input","response": "output","system": "system","history": "history"}
}

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

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

相关文章

Java经典框架之Spring MVC

Spring MVC Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring MVC 入门案例 2. 基…

JVS低代码平台:多级菜单配置的详细教程与演示

多级菜单是软件系统一种常见的用户界面设计,它允许用户通过点击或选择不同的菜单项来执行不同的操作或访问不同的功能。多级菜单通常由多个级别的菜单组成,每个级别都包含一组可选择的菜单项。用户可以通过点击或选择菜单项来进入下一级菜单,…

【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思路

1. 慢 SQL 优化思路 慢查询日志记录慢 SQLexplain 分析 SQL 的执行计划profile 分析执行耗时Optimizer Trace 分析详情确定问题并采用相应的措施 1. 慢查询日志记录慢 SQL 如何定位慢SQL呢? 我们可以通过 慢查询日志 来查看慢 SQL。 ①:开启慢查询日志…

vr虚拟高压电器三维仿真展示更立体全面

VR工业虚拟仿真软件的应用价值主要体现在以下几个方面: 降低成本:通过VR技术进行产品设计和开发,可以在虚拟环境中进行,从而减少对物理样机的依赖,降低试错成本和时间。此外,利用VR技术构建的模拟场景使用方…

蓝桥杯-Excel地址[Java]

目录: 学习目标: 学习内容: 学习时间: 题目: 题目描述: 输入描述: 输出描述: 输入输出样例: 示例 1: 运行限制: 题解: 思路: 学习目标: 刷蓝桥杯题库日记 学习内容: 编号96题目Ex…

Find My文具盒|苹果Find My技术与文具盒结合,智能防丢,全球定位

文具盒,学生用来装钢笔、铅笔、尺子、橡皮等文具的盒子。质地种类很多,一般有木质、铁质、塑料等制品,形状各异,多为长方体形状。文具盒能培养学生的管理能力。使用文具盒的过程就是一个管理自己的过程。每次使用文具之前&#xf…

Android/iOS APP备案流程指南

Android/iOS APP备案流程指南 摘要 本文通过详细介绍了工信部对移动互联网应用程序(APP)备案的要求,解释了APP备案的定义、时间节点、办理流程以及腾讯云、阿里云的备案流程,最后提供了常见问题的解答。 引言 随着移动互联网的…

docker部署kafka zookeeper模式集群

单机模式链接:https://blog.csdn.net/wsdhla/article/details/133032238 kraft集群模式链接:部署Kafka_kafka 部署-CSDN博客 zookeeper选举机制举例: 目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5…

博客摘录「 Apollo安装和基本使用」2023年11月27日

一、常见配置中心对比 Spring Cloud Config: https://github.com/spring-cloud/spring-cloud-configApollo: https://github.com/ctripcorp/apolloNacos: https://github.com/alibaba/nacos 对比项目/配置中心 spring cloud config apollo nacos(重点) 开源时间 2014.9 …

Vue使用Element表格Table设置所有单元格内容居中对齐

为单个列的单元格设置居中对齐代码如下&#xff1a; <el-table-columnprop"productInfo.productName"label"中文名"width"100"align"center"></el-table-column>需要设置el-table-column标签里面的属性设置为align"c…

开源分布式搜索引擎ElasticSearch结合内网穿透远程连接

文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保…

基于XLA_GPU的llama7b推理

环境 pytorch-tpu/llamapytorch 2.1.2(cuda117)torch-xla 2.1.1 # llama2 git clone --branch llama2-google-next-inference https://github.com/pytorch-tpu/llama.git # pytorch git clone https://github.com/pytorch/pytorch.git git checkout v2.1.2 # 部分仓库可能下载…

LeetCode刷题---单词规律

解题思路&#xff1a; 首先分别将pattern字符串转为字符数组p&#xff0c;将s字符串根据" "切割为字符串数组s1&#xff0c;判断两个数组的长度是否相等&#xff0c;如果不相等&#xff0c;则返回false。之后对两个数组的每个元素与哈希表做比对&#xff0c;哈希表的…

redis cluster判断key属于那个分片。

一、判断阿里云 redis cluster&#xff0c;的key属于那个分片。 阿里云特有的命令info key 可以查看key属于那个slot&#xff0c;那个分片 命令行查看&#xff1a; xxxx:6379> info key xxxx_compressed_xxx slot:4941 node_index:9 xxxx:6379> cluster keyslot xxxx_…

地图服务器GeoServer的安装与配置

文章目录 1.安装配置Java2.安装配置Tomcat3 安装配置GeoServer GeoServer提供了多种安装配置方式&#xff0c;但是本质上GeoServer是一个基于Java Web的项目&#xff0c;因此我们理论上只需要安装Java&#xff0c;并且将其放置在一个Web服务器&#xff08;例如Apache Tomcat&am…

如何与听力损失者沟通

如何与听力损失者沟通&#xff1f; 当您与有听力损失的人交谈时&#xff0c;请记住&#xff0c;对您来说&#xff0c;简单的沟通可能会让您的同伴感到疲惫。听力损失的人必须积极努力去理解。助听器可能会有所帮助&#xff0c;但调高音量不会使失真的声音更清晰。 通过使用以下…

解放双手!微信这样批量自动添加好友高效且实用

随着私域流量的兴起&#xff0c;越来越多的人开始在微信上进行营销推广&#xff0c;以及维护与客户的关系&#xff0c;尤其是从其他自媒体平台引流到微信的客户&#xff0c;如果还是一个号码一个号码地逐一添加&#xff0c;那可就太麻烦啦&#xff01; 所以&#xff0c;在工作…

56.0/DIV+CSS 布局(详细版)

目录 56.1 本章简介 56.2 实例讲解 56.2.1 菜单制作 56.2.2 美化滚动条 56.2.3 DIV+CSS 布局 56.3 综合示例 56.3.1 总体分析 56.3.2 Header 层 56.3.3 最终代码 56.1 本章简介 本章通过几个实例讲解 DIV+CSS 的应用。 采用表格布局的页面内,为了实现设计的布局,制作者往往…

OAuth2.0 四种授权方式讲解

一、OAuth2.0 的理解 OAuth2是一个开放的授权标准&#xff0c;允许第三方应用程序以安全可控的方式访问受保护的资源&#xff0c;而无需用户将用户名和密码信息与第三方应用程序共享。OAuth2被广泛应用于现代Web和移动应用程序开发中&#xff0c;可以简化应用程序与资源服务器之…

行业报告 | 中国AI大模型成长之路,披荆斩棘创佳绩

原创 | 文 BFT机器人 前言&#xff1a; 相信大家现在对于AI大模型这个概念都清楚&#xff0c;毕竟现在AI大模型渗入到了我们各个生活场景中&#xff0c;这股科技之风吹遍了中国大大小小的城市&#xff0c;近年来看&#xff0c;还有越吹越烈之势。今天小编带你们来了解一下我国…