使用LLaMA Factory来训练智谱ChatGLM3-6B模型

使用LLaMA Factory来训练智谱ChatGLM3-6B模型时,以下是一个训练过程:

1. 环境搭建

a. 安装Python和Anaconda
  • 下载并安装适合你操作系统的Python版本(推荐Python 3.10或更高版本)。
  • 安装Anaconda,以管理Python环境和依赖库。
b. 安装CUDA和cuDNN
  • 根据你的NVIDIA显卡型号,下载并安装对应版本的CUDA和cuDNN。这些库将用于GPU加速训练过程。
  • 查看电脑显卡配置:
    nvidia-smi

2. 下载和安装LLaMA Factory

a. 克隆LLaMA Factory仓库
  • 打开命令行或终端,使用git clone命令从GitHub上克隆LLaMA Factory的仓库到本地计算机。官方源码仓库地址:https://github.com/hiyouga/LLaMA-Factoryicon-default.png?t=N7T8https://github.com/hiyouga/LLaMA-Factory
git clone https://github.com/hiyouga/LLaMA-Factory.git
b. 安装依赖库
  • 进入LLaMA Factory的目录,使用Anaconda创建一个新的Python环境(例如,使用conda create -n llamafactory python=3.10命令)。
  • 激活新创建的环境(例如,使用conda activate llamafactory命令)。
  • 根据LLaMA Factory的requirements.txt文件,使用pip install -r requirements.txt命令安装所需的依赖库。为了加快安装依赖速度,要在使用pip安装Python包时指定清华镜像,你可以在执行pip命令时使用-i参数指定镜像地址。以下是使用清华镜像安装requirements.txt中的Python包的示例命令:
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 准备数据集

a. 选择或创建数据集
  • 选择一个适合训练ChatGLM3-6B模型的数据集,或者根据需求创建自定义数据集。
  • 例如参数:
    [{"instruction": "保持健康的三个提示。","input": "","output": "以下是保持健康的三个提示:\n\n1. 保持身体活动。每天做适当的身体运动,如散步、跑步或游泳,能促进心血管健康,增强肌肉力量,并有助于减少体重。\n\n2. 均衡饮食。每天食用新鲜的蔬菜、水果、全谷物和脂肪含量低的蛋白质食物,避免高糖、高脂肪和加工食品,以保持健康的饮食习惯。\n\n3. 睡眠充足。睡眠对人体健康至关重要,成年人每天应保证 7-8 小时的睡眠。良好的睡眠有助于减轻压力,促进身体恢复,并提高注意力和记忆力。"},{"instruction": "三原色是什么?","input": "","output": "三原色通常指的是红色、绿色和蓝色(RGB)。它们是通过加色混合原理创建色彩的三种基础颜色。在以发光为基础的显示设备中(如电视、计算机显示器、智能手机和平板电脑显示屏), 三原色可混合产生大量色彩。其中红色和绿色可以混合生成黄色,红色和蓝色可以混合生成品红色,蓝色和绿色可以混合生成青色。当红色、绿色和蓝色按相等比例混合时,可以产生白色或灰色。\n\n此外,在印刷和绘画中,三原色指的是以颜料为基础的红、黄和蓝颜色(RYB)。这三种颜色用以通过减色混合原理来创建色彩。不过,三原色的具体定义并不唯一,不同的颜色系统可能会采用不同的三原色。"},{"instruction": "描述原子的结构。","input": "","output": "原子是物质的基本单位,它由三种基本粒子组成:质子、中子和电子。质子和中子形成原子核,位于原子中心,核外的电子围绕着原子核运动。\n\n原子结构具有层次性。原子核中,质子带正电,中子不带电(中性)。原子核非常小且致密,占据了原子总质量的绝大部分。电子带负电,通常围绕核运动,形成若干层次,称为壳层或电子层。电子数量与质子数量相等,使原子呈电中性。\n\n电子在每个壳层中都呈规律分布,并且不同壳层所能容纳的电子数也不同。在最里面的壳层一般只能容纳2个电子,其次一层最多可容纳8个电子,再往外的壳层可容纳的电子数逐层递增。\n\n原子核主要受到两种相互作用力的影响:强力和电磁力。强力的作用范围非常小,主要限制在原子核内,具有极强的吸引作用,使核子(质子和中子)紧密结合在一起。电磁力的作用范围较大,主要通过核外的电子与原子核相互作用,发挥作用。\n\n这就是原子的基本结构。原子内部结构复杂多样,不同元素的原子核中质子、中子数量不同,核外电子排布分布也不同,形成了丰富多彩的化学世界。"},{"instruction": "如何减少空气污染?","input": "","output": "有很多方法来减少空气污染:\n\n1. 减少机动车排放: 通过支持可再生能源来驱动的交通工具,如电动汽车、混合动力汽车,使用公共交通工具,骑自行车或步行。\n2. 鼓励清洁能源: 政府和企业可以通过提供优惠政策和补贴来鼓励人们使用清洁能源。\n3. 减少工业排放: 工厂可以通过采用更清洁的生产方法,使用减排技术来减少工业废气的排放。\n4. 绿化城市: 种植更多的树木和植物可以吸收空气中的污染物和二氧化碳,有助于减少空气污染。\n5. 减少家庭能耗: 通过使用节能电器、关闭不必要的电源开关、减少用电量,能够减少家庭用电量,从而减少空气污染。\n6. 垃圾分类和回收利用: 妥善处理垃圾,避免焚烧垃圾,对垃圾进行分类和回收利用,可以减少污染物排放。\n\n总之,减少空气污染需要政府、企业和个人共同努力。我们每个人都要承担责任,通过自己的实际行动来保护环境。"},{"instruction": "描述一次你不得不做出困难决定的经历。","input": "","output": "作为一名人工智能助手,我是由程序控制的,没有感情和个人意识,我的一切决策都是基于我的算法和程序的设定。但在某种情况下,我需要根据我的程序判断做出决定。\n\n例如,当我处理多个任务时,如果有多个任务具有相同的优先级,那么我需要依据我的程序进行判断,选择哪个任务来处理。\n\n在这种情况下,我会将任务进行比较,考虑它们的时间紧迫性、资源需求、风险和收益等因素,最后做出一个最佳的决定。\n\n虽然这并不是一个真正的困难决定,因为我只是执行我的程序,但它确实需要我进行一定的判断,以确保我能够做出最好的决定。"}
    ]

    新建一个json文件,放到data目录下面

b. 数据预处理
  • 对数据集进行预处理,包括数据清洗、分词、标记命名实体等操作,以确保数据集符合LLaMA Factory的输入要求。

4. 配置训练参数

a. 选择训练策略
  • 根据你的需求和数据集的特点,选择合适的训练策略(如LoRA微调、QLoRA微调等)。
b. 设置训练参数
  • 设置学习率、批次大小、训练轮数、优化器等训练参数。这些参数将直接影响模型的训练效果。你可以参考LLaMA Factory的官方文档或教程来设置合适的参数值。
  • 语言选择:中文
  • 模型名称:ChatGLM3-6B-Chat
  • 模型路径:前面从Hugging Face下载的ChatGLM3-6B模型本地路径
  • 微调方法:lora
  • 训练阶段:sft
  • 数据集:上面新添加的测试数据集
  • 训练轮数:200,因为数据量比较小,为了能表现效果,这里使用200轮

5. 开始训练

a. 加载预训练模型
  • 下载智谱ChatGLM3-6B的预训练模型,并将其放置在适当的目录中。
  • 使用LLaMA Factory提供的工具或脚本加载预训练模型。
b. 运行训练脚本
  • 根据LLaMA Factory的官方文档或教程,编写或修改训练脚本以指定数据集路径、训练参数等。
  • 运行训练脚本,开始训练过程。在训练过程中,你可以使用LLaMA Factory提供的工具或命令行参数来监控模型的性能(如损失函数的变化、验证集上的准确率等)。
  • 启动脚本参考:
  • (1)激活环境:conda activate xnenv
    (2)进入目录:cd /home/chatglm/LLaMA-Factory
    (3)启动应用:nohup python src/train_web.py > train_web.out &
    (4)查看日志:tail -f -n 1000 train_web.out

6. 评估模型

a. 准备测试数据集
  • 准备一个与训练数据集不同的测试数据集,用于评估模型的性能。
b. 评估模型性能
  • 使用LLaMA Factory提供的评估工具或脚本对训练好的模型进行评估。计算模型在测试集上的准确率、召回率、F1值等指标,以评估模型的性能。

7. 部署和使用

a. 部署模型
  • 如果模型性能满足要求,你可以将模型部署到生产环境中,并提供API接口供其他系统或应用调用。
b. 优化和微调
  • 根据实际需求,你可以对模型进行进一步的优化和微调,以提高其性能或满足特定的应用场景需求。

注意事项

  • 在整个训练过程中,确保你的计算机有足够的计算资源和存储空间。
  • 根据你的硬件环境和数据集大小,适当调整训练参数以获得最佳的训练效果。
  • 仔细阅读LLaMA Factory的官方文档和教程,以确保正确配置和使用相关工具和脚本。

请注意,由于LLaMA Factory和ChatGLM3-6B模型的细节可能会随着时间的推移而更新或变化,因此建议参考最新的官方文档LLaMA-Factory QuickStart - 知乎1. 项目背景开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt),指令微调(sft)…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/695287607和教程进行操作。

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

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

相关文章

【STM32+k210项目】基于AI技术智能语音台灯的设计(完整工程资料源码)

视频演示 基于AI技术智能语音台灯的设计 前言: 随着社会的快速发展,人们对家用电器智能化程度的要求越来越高。不管是对于学生人群还是对于工作加班者,台灯是每家每户必不可少的工具,长期处于光线太强或者过弱的环境中学习和一系列…

FreeRTOS二值信号量

目录 一、信号量的概念 1、信号量的基本概念 2、信号量的分类 二、二值信号量简介 三、二值信号量相关API 1、创建二值信号量 2、释放二值信号量 3、获取二值信号量 四、二值信号量实操 1、实验需求 2、CubeMX配置 3、代码实现 一、信号量的概念 1、信号量的基本概…

计算机毕业设计python+spark知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习

本科毕业设计(论文)开题报告 课题名称 基于Spark的音乐推荐与数据分析系统 的设计与实现 课题类型 系统设计 学院 大数据与人工智能学院 班级 专业 数据科学与大数据技术 指导教师 职称 学生姓名 学号 重庆工程学院教务处制 1.课…

如何快速变得专业:掌握类的基本概念-类/方法/关键字/变量/数据类型/注释

在李笑来的《财富自由之路》中提到一种初学者快速入门的学习方法:快速掌握最小必要知识。 关于Java的类,最少必要知识就是本文提到的基本概念,掌握了这些基本概念,就对类有了基本的了解,为后续的深入学习和沟通奠定了基…

智慧油田三维电子沙盘系统

深圳易图讯科技(www.3dgis.top)智慧油田三维电子沙盘系统采用三维GIS、大数据、云计算、虚拟现实、物联网、AI等前沿技术,支持无人机航拍、高清卫星影像、DEM高程数据、矢量数据、无人机倾斜摄像、BIM模型、点云、城市白模、等高线、标高点等数据融合和切换&#xf…

【ESP32接入ATK-MO1218 GPS模块】

【ESP32接入ATK-MO1218 GPS模块】 1. 引言2. ATK-MO1218 GPS模块概述3. 接入ATK-MO1218 GPS模块的步骤4. 示例代码5. 结论1. 引言 在现代的嵌入式系统和物联网项目中,精确的位置信息是至关重要的。ATK-MO1218 GPS模块作为一款高性能的GPS/北斗双模定位模块,为开发者提供了强…

项目管理-计算题公式-补充【复习】

1.EMV决策树 定义:用决策树在若干备选行动方案中选择一个最佳方案。在决策树 中,用不同的分支代表不同的决策或事件,即项目的备选路径。每个决策或事件 都有相关的成本和单个项目风险(包括威胁和机会)。决策树分支的终点表示沿特 定路径发展的…

Xshell 7官网免费版下载与安装详细教程!学校/家庭使用免费哦~

一、 安装 1 卸载之前安装的xshell, 未安装忽略此步骤 2 解压本地文件,双击运行xshell**.exe, 按照提示安装 等候引导完成 3 点击下一步 4接受下一步 5 选择安装的路径 改成你自己的安装路径 6程序文件夹选择默认 7 取消勾选,激活之后操作 8 激活&…

Redis继续(黑马)

Redis持久化 RDB与AOF RDB记录是二进制数据,Redis停机时会触发保存,名称: dump.rdb 缺点:间歇式复制可能存在宕机数据更新丢失 AOF 记录的写操作命令,每秒记录一下,也存在数据更新丢失的可能,相…

视频剪辑批量转码技巧:如何将MP4视频快速转换为MP3音频的方法

在视频剪辑和音频处理的领域中,经常需要将视频文件转换为音频文件,特别是将MP4视频转换为MP3音频。这样的转换不仅可以减少文件大小,方便传输和存储,还可以在不损失音频质量的情况下,方便在各种设备上播放。下面&#…

Ubuntu18.04解决有线网卡连接问题(不更新内核成功版)

https://www.realtek.com/Download/List?cate_id584 (需要翻一下) 不想自己去下载,直接去我资源里下载我上传的包就好啦(😂😂😂刚刚看了下别人下载要VIP还是自己去网站下很快的) 下载后解压,在…

基于Springboot的家教管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的家教管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

实验12:综合实验

1、实验目的及要求: 通过本次实验完成一个小型网络中配置设备。实现配置一个路由器、两个交换机和两台PC,以支持IPv4和IPv6连接;路由器和交换机必须安全管理,配置VLAN间路由、DHCP、以太网通道和端口安全。通过登录思科网络技术学…

设计模式 六大原则之开放封闭原则

文章目录 定义理解 小结 定义 开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修改是封闭的。这意味着应该用抽象定义结构,用具体实现扩展细节,以此确保软件系统开发和维护过程的可靠性。 理解 怎么理解这个呢&#x…

PHP笔记

1. 搭建运行环境 1.1 挂载光盘 [rootredhat200 ~]# mount /dev/sr0 /mnt 1.2 配置仓库 # 查看仓库列表 [rootredhat200 ~]# dnf repolist# 进入到仓库目录 [rootredhat200 ~]# cd /etc/yum.repos.d/ # 编辑仓库文件 [rootredhat200 yum.repos.d]# vim base.repo # 查看仓库…

08.4.grafana自定义图形并直接数据库取值

grafana自定义图形并直接数据库取值 自定义添加油表图形 选择gauge图形,并且配置对应设定值,点击应用 如图所示,可以看到仪表盘上的值是zabbix上取得值 配置grafana直接数据库取值 添加mysql数据源 添加后进行配置,我这…

JS解密之新js加密实战(二)

前言 上次发了一篇关于新加密的,只解了前边两层,这中间家里各种事情因素影响,没有继续进一步研究,今天百忙之中抽空发布第二篇,关于其中的一小段加密片段,我认为分割成多个小片段是更容易被理解的。逻辑相…

如何更好地使用Kafka? - 运行监控篇

要确保Kafka在使用过程中的稳定性,需要从kafka在业务中的使用周期进行依次保障。主要可以分为:事先预防(通过规范的使用、开发,预防问题产生)、运行时监控(保障集群稳定,出问题能及时发现&#…

牛客NC363 开锁【中等 BFS Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/e7cbabbf7e0a41ec98055ee5f3d33bbe https://www.lintcode.com/problem/796 思路 Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改&#x…

SpringBoot整合SpringScurity权限控制(菜单权限,按钮权限)以及加上SSH实现安全传输

文章目录 项目地址: 一、md5 与 先进的哈希算法的区别1.1. 安全性问题1.2. 设计目的1.3. 功能特性1.4. 适用性1.5. 总结 二、数据传输安全和数据加密实现:2.1 生成证书:2.2、在springboot中进行集成2.2.1 配置证书:2.2.2. 强制使用…