GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

2023-11-29 11:15

本文主要是介绍GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

文章目录

  • GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF
    • Pretraining 预训练阶段
    • Supervised FineTuning (SFT)监督微调阶段
    • Reward Modeling 奖励评价建模
    • Reinforment Learning RLHF 强化学习

大模型常遇到一些概念性的问题,比如: 什么预训练?什么是pretraining?什么是Base model,什么是SFT model?
CPT和ChatGPT是一样的吗?

以GPT为例,LLM训练流程分为4个阶段:预训练,监督微调训练,奖励评价训练,强化学习。分别生成预训练模型(Base model,基础模型),如GPT3,GPT4;监督精调模型SFT模型,RM奖励评价模型,和最后的生成模型,如ChatGPT。

Andrej Karpathy的这张总结的很好,下面以此作为阐述。
GPT训练流程

Pretraining 预训练阶段

预训练阶段通过互联网的海量数据,训练一个算法基本原型,获得自然语言隐含的大量通用特征。可以理解第一步是粗调,相当于从粗矿中炼矿,从原油中炼油。

训练数据:
来自互联网的大量文本数据,具有低质量,数量巨大特点,TB级别。以LLaMA模型为例,训练数据共1.4T tokens。
数据来源种类也多样化,绝大部分是互联网抓取公开的数据,还有github,wikipedia,arXiv等专业网站数据。
模型类型:
自然语言建模,生成模型,预测下一个token(算法的处理单位,可以是词语,符号,短语,句子等)
训练结果:
base model 基本模型
计算资源:
算力需要很大,1000块以上的GPU;
训练周期:
训练时间耗费几个月,占据训练时间的99%
代表模型:
预训练模型代表,如GPT,LLaMA等等

Supervised FineTuning (SFT)监督微调阶段

预训练的训练数据良莠不齐,直接用到业务场景效果不是很好,接下来需要对模型进行精调。因此训练数据中,问题覆盖应该具有多样性,而且问题可能有很多种回答。也可以用辅助模型的最佳的回应作为引导标注,满足监督训练的条件。

训练数据:
训练数据需要人工标注,人工编写的问题和回答,形成问答对。数据质量高,但数量少。在10~100K量级。
模型类型:
自然语言建模,预测下一个token。基于base model建模的,生成SFT 模型。
训练结果:
SFT model SFT精调模型
计算资源:
算力根据模型和场景,1-100块的GPU资源;
训练周期:
训练以天为单位,几天到几十天。

Reward Modeling 奖励评价建模

在监督微调阶段,获得精调的自然语言模型,一个问题有多种回答,到底哪种最符合呢?这就需要建立明确的价值观体系,好坏之分的标准。在标准尺度的基础上,进一步判别不同回答的优劣,根据训练者的价值,筛选和奖励最好的回答。这个阶段的关键是评价。

增加答案的价值观判断,本质上是选择最佳路径,在多种回答中,按分数排序,选择最好的问题答案。

训练数据:
训练数据需要标注,人工编写的问题和答案,形成具有价值观偏好的问答对,要训练模型哪个是好的,哪个是不好的回答。数量质量高,但数量少。在10-1000K的量级。
模型类型:
二值分类评价模型,区分好和不好的回答。基于SFT模型,生成RM模型。
训练结果:
RM模型,奖励评价模型不能单独部署。
计算资源:
算力根据模型和场景,1-100块的GPU资源;
训练周期:
训练以天为单位,几天到几十天。

Reinforment Learning RLHF 强化学习

在SFT和RM模型基础上,用强化学习模型,根据人工编写问题答案对,和奖励评价模型,对SFT精调模型进行强化训练。多种路径中选择最佳路径,多种答案中,选择最大奖励的答案。

训练数据:
训练数据和前面一样需要标注,通过价值观偏好RM模型获得评分。数量质量高,但数量少。在10-100K量级。
模型类型:
强化学习模型,预训练模型一样结果形式,奖励最大的,生成下一个token。
训练结果:
带价值观判断的生成模型,代表模型:如:ChatGPT,Claude等。
计算资源:
算力根据模型和场景,1-100块的GPU资源。
训练周期:
训练以天为单位,几天到几十天。

点个赞 点个赞 点个赞

觉得有用 收藏 收藏 收藏

End


GPT专栏文章:
GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

决策引擎专栏:
Falcon构建轻量级的REST API服务

决策引擎-利用Drools实现简单防火墙策略

这篇关于GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/432608

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx