当前位置: 首页 > news >正文

大语言模型训练方式探索(基于llma3模型)

文章目录

  • 前言
  • 一、基于代码解读数据划分与模型变换
    • 1、参数添加
    • 2、验证集划分方法
    • 3、Trainer初始化参数改动
  • 二、基于代码添加评估方法模块
    • 1、训练评估与保存
    • 2、验证评估与保存
  • 三、基于代码添加resume方法
  • 四、基于代码使用torchrun模式训练
  • 五、基于代码使用wandb训练
  • 六、基于代码使用deepspeed训练
    • 1、deepspeed理解
    • 2、zero配置文件
      • 1、zero2配置文件与解读
      • 2、zero3配置文件与解读
      • 3、zero2与zero3的区别
        • 1. zero2与zero3差异
        • 2. zero中的auto配置配置说明
        • 3. zero3特有配置参数
        • 4. zero2与zero3内存管理
        • 5、小结
    • 3、deepspeed使用细节
      • 1、单机单卡与单机多卡
      • 2、deepspeed与huggingface使用zero参数优先级
    • 4、deepspeed训练命令
      • 1、deepspeed的sh脚本训练
        • 1、deepspeed的sh脚本训练
        • 2、完整大模型deepspeed的sh脚本训练
      • 2、deepspeed的vscode框架训练方法
      • 3、zero3训练探索

前言

前面已经构建了大语言模型代码,本篇文章在此基础上探索不同模块功能,包含数据划分加工处理、评估方法、resume训练、torchrun训练、wandb使用方法以及deepspeed训练方法。

一、基于代码解读数据划分与模型变换

假如我们想划分验证集,huggingface已有方式可以调用。我将直接给出代码,至于详细可参考我的huggingface教程专栏。

1、参数添加

我们使用test_size参数划分我们读取数据比列,如下:

@dataclass
class DataTrainingArguments:test_size: Optional[Union[

http://www.mrgr.cn/news/58392.html

相关文章:

  • 设置K8s管理节点异常容忍时间
  • 装了Ubuntu和Windows双系统,如何设置默认启动Windows
  • 做题进度
  • Java中如何应用序列化 serialVersionUID 版本号呢?
  • RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测
  • vue通过JSON文件生成KML文件源码
  • 使用docker-compose部署一个springboot项目(包含Postgres\redis\Mongo\Nginx等环境)
  • java中this的内存原理是?
  • 伦敦银是24小时交易吗?
  • 《证据规定》之鉴定人拒不出庭的法律后果
  • 100 个常见网络基础知识普及
  • 爱回收品牌ID查询接口技术实现与代码示例
  • 雷池社区版有多个防护站点监听在同一个端口上,匹配顺序是怎么样的
  • 病毒分析-SysTracer工具监控进行行为
  • 自动化测试:等待方式
  • Java泛型Generic
  • HuYa 2.1.18.4| 聚合多平台的电视直播软件
  • OpenFace安装教程及踩坑记录 (Ubuntu20.04—2024.10.24)
  • 私域小程序怎么运营,如何引流?(三)
  • 基于神经网络的农业病虫害损失预测
  • 双十一好用的家居好物有哪些?这五款产品绝对值得入手!
  • ue5实现数字滚动增长
  • 【K8S系列】Kubernetes Service 基础知识 详细介绍
  • 数据结构概述
  • 全位解读:“数据要素”的那些事!
  • 只想简单跑个 AI 大模型,却发现并不简单