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

GPT助手的训练流程四个主要阶段( GPT Assistant training pipeline )

GPT助手的训练流程四个主要阶段( GPT Assistant training pipeline )

flyfish

四个阶段

预训练(pre-training)
监督微调(supervised fine tuning, SFT)
奖励建模(reward modeling)
强化学习(reinforcement learning)

每个阶段又分为三个部分(从上到下):数据集、算法和输出的模型。

翻译图,最后附上原图

在这里插入图片描述
GPT助手(GPT Assistant)的训练流程,分为四个主要阶段:预训练(Pretraining)、有监督微调(Supervised Finetuning)、奖励建模(Reward Modeling)和强化学习(Reinforcement Learning)。每个阶段的详细内容如下:
一. 预训练阶段(Pretraining Stage)

  1. 数据集(Dataset):
    原始互联网数据(Raw Internet Data) :使用来自互联网的原始文本数据,数据量达到万亿级别的单词(tokens)。这些数据量巨大但质量较低,涵盖了各种类型的内容。

  2. 算法(Algorithm):
    语言建模(Language Modeling) :模型通过预测文本序列中的下一个token来进行训练。这是标准的自回归语言模型训练方式。

  3. 模型(Model):
    基础模型(Base Model) :经过预训练的基础语言模型,例如GPT、LLaMA、PaLM等模型,经过数月使用成千上万块GPU训练而成。这些模型可以独立部署并用于各种任务。

  4. 备注(Notes):
    使用了数千块GPU,耗费数月时间训练 。这些基础模型是诸如GPT、LLaMA、PaLM等。

二. 有监督微调阶段(Supervised Finetuning Stage)

  1. 数据集(Dataset):
    展示数据(Demonstrations): 由人工编写的理想助手响应数据集,包含约10到10万个问题及其响应。这些数据量相对较少,但质量非常高。

  2. 算法(Algorithm):
    语言建模(Language Modeling) :继续通过语言建模的方式,对模型进行微调,专注于学习这些高质量的问答对。

  3. 模型(Model):
    微调模型(SFT Model): 在基础模型的基础上,通过有监督微调训练得到的模型,例如Vicuna-13B。这些模型可以用于更具体的任务并部署。

  4. 备注(Notes):
    使用了1到100块GPU,耗时数天进行训练 。例如Vicuna-13B模型,经过微调后可以部署。

三. 奖励建模阶段(Reward Modeling Stage)

  1. 数据集(Dataset):
    比较数据(Comparisons): 使用由人工编写的10万到100万个回答的好坏对比数据。这些数据量虽然较少,但质量非常高,用于训练模型区分高质量和低质量的回答。

  2. 算法(Algorithm):
    二值分类(Binary Classification): 训练奖励模型,预测根据用户偏好进行奖励的结果。该模型用来评估和指导模型生成更好的回答。

  3. 模型(Model):
    奖励模型(RM Model): 通过二值分类训练得到的奖励模型,它不能独立部署,主要用于强化学习阶段的模型优化。

  4. 备注(Notes):
    使用了1到100块GPU,耗时数天进行训练 。此模型用于指导强化学习阶段的训练。

四. 强化学习阶段(Reinforcement Learning Stage)

  1. 数据集(Dataset):
    提示数据(Prompts): 使用由人工编写的约1到10万个提示语句进行训练。数据量较少但质量很高,帮助模型在特定上下文中生成更优质的响应。

  2. 算法(Algorithm):
    强化学习(Reinforcement Learning): 使用奖励模型指导生成token,通过生成使奖励最大化的token序列来优化模型的表现。

  3. 模型(Model):
    强化学习模型(RL Model): 经过强化学习训练的最终模型,初始化自微调模型,并利用奖励模型进行优化。这些模型可以在实际应用中部署,如ChatGPT、Claude等。

  4. 备注(Notes):
    使用了1到100块GPU,耗时数天进行训练 。最终模型例如ChatGPT、Claude,可以进行部署和实际应用。

原图

在这里插入图片描述

http://www.lryc.cn/news/426239.html

相关文章:

  • 网络如何发送一个数据包
  • 【Harmony OS 4.0】向上滑动加载案例
  • SQL基础教程(八)SQL高级处理
  • [论文笔记] Data-Juicer: A One-Stop Data Processing System for Large Language Models
  • 期末速成复习资料——操作系统
  • Android之Service与IntentService区别
  • 【MySQL】表的设计
  • NC 用两个栈实现队列
  • 用后端实现一个简单的登录模块2 前端页面
  • MySQL慢查询的查找语法
  • SQL中的聚合方法与Pandas的对应关系
  • 计算机毕业设计选题推荐-计算中心高性能集群共享平台-Java/Python项目实战
  • 仿RabbitMq实现简易消息队列基础篇(future操作实现异步线程池)
  • 经典算法题总结:数组常用技巧(双指针,二分查找和位运算)篇
  • 版本控制基础理论
  • 微分方程(Blanchard Differential Equations 4th)中文版Section1.4
  • 求职Leetcode算法题(7)
  • ActiveMQ、RabbitMQ、Kafka、RocketMQ在事务性消息、性能、高可用和容错、定时消息、负载均衡、刷盘策略的区别
  • HanLP分词的使用与注意事项
  • Python 的进程、线程、协程的区别和联系是什么?
  • 实时数据推送:Spring Boot 中两种 SSE 实战方案
  • 数据守护者:SQL一致性检查的艺术与实践
  • jenkins配置+vue打包多环境切换
  • idea和jdk的安装教程
  • HTML静态网页成品作业(HTML+CSS)——电影网首页网页设计制作(1个页面)
  • 大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库
  • LabVIEW VI 多语言动态加载与运行的实现
  • Unity引擎基础知识
  • 练习题- 探索正则表达式对象和对象匹配
  • Java集合提升