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

大语言模型训练方式探索(基于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.kler.cn/news/365817.html

相关文章:

  • 边缘计算路由网关R40钡铼技术3LAN口1WAN口Modbus协议
  • 川渝地区计算机考研择校分析
  • Python实现非线性数据结构-字典、集合、树、图
  • 使用 v-html 指令渲染的标签, 标签内绑定的 click 事件不生效
  • Python的NumPy库简介
  • Python基础知识-模块与包篇
  • ThinkPhp配置中间件解决跨域问题
  • C#WPF的XAML的语法详谈和特性
  • 【C/C++ Qt shared_ptr | make_shared | QSharedPointer 】绕圈圈
  • [Redis] Redis数据持久化
  • [项目详解][boost搜索引擎#2] 建立index | 安装分词工具cppjieba | 实现倒排索引
  • Element 的Table表格实现列合并(记得先排序、element-plus、列合并、线上已投入使用)
  • 同标签实现监听LocalStorage
  • python的文件常识
  • CTF-RE 从0到N:开始之前-c函数手册
  • 什么样的JSON编辑器才好用
  • TDengine 签约新奥新智:写入速度提升10倍,成本降低90%
  • 软件设计师----UML
  • JavaWeb合集16-JWT令牌验证
  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一)
  • 【Sublime Text】设置中文 最新最详细
  • 【Android】Convenient ADB Commands
  • jupyter notebook改变默认启动路径
  • C++:map和set类
  • SQLITE排序
  • Vision Transformer 神经网络在水果、动物、血细胞上的应用【深度学习、PyTorch、图像分类】