大模型训练步骤:预训练;增量预训练;微调;RLHF或者DPO

参考:https://blog.csdn.net/chengxuyuanyy/article/details/140949825
开发阶段分类
模型分成3个阶段:

(1)、第一阶段:(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练GPT模型,以注入领域知识。

(2)、第二阶段: SFT(Supervised Fine-tuning)有监督微调,构造指令微调数据集,在预训练模型基础上做指令精调,以对齐指令意图。

(3)、第三阶段 : RLHF和DPO二选一。

各个阶段功能介绍
(Continue PreTraining)增量预训练

在大模型整个流程中,增量预训练是属于后期预训练(Post-pretraining)的范畴。Post-pretraining(后期预训练)是一种在模型的初始预训练和最终微调之间进行的训练方法。这种方法通常用于进一步适应模型以处理特定类型的数据或任务。以下是详细介绍,参考了之前对SFT和RLHF的描述方式:

1、后期预训练(Post-pretraining)

Post-pretraining是在通用预训练模型的基础上,对模型进行额外训练的过程,通常是为了使模型更好地适应特定的领域或任务。
这个过程使用的数据集通常比预训练阶段的数据集更专注于某个领域或任务,但比微调阶段使用的数据集更大、更广泛。
训练方法可以是监督学习,也可以是自监督学习,具体取决于可用数据的类型和训练目标。
Post-pretraining的目标是在不过度专化到某个特定任务的同时,提高模型对特定领域的理解和表现。
2、训练过程
在Post-pretraining阶段,模型通常会在一个包含大量领域特定数据的数据集上进行训练。
这个阶段的训练可以包括多种任务,如语言建模、文本分类、实体识别等,这些任务都是为了提升模型在特定领域的表现。
训练过程中,模型的参数会根据领域特定数据集进行调整,以便更好地捕捉和理解领域内的语言模式和知识。
3、优势与目标

Post-pretraining允许模型在保持通用性的同时,增强对特定领域的理解,这有助于模型在后续的微调阶段更快速地适应特定任务。
与 SFT 相比,Post-pretraining在微调之前提供了一个中间步骤,有助于模型更平滑地过渡到特定任务上。
与 RLHF 相比,Post-pretraining不依赖于复杂的奖励机制或人类反馈,而是通过大量的领域特定数据来提升模型性能。
总结来说,Post-pretraining是一个介于预训练和微调之间的训练阶段,它使用大量的领域特定数据来进一步调整模型,使其更好地理解特定领域的语言和任务。这个阶段不需要复杂的奖励机制,而是通过传统的监督或自监督学习方法来实现模型性能的提升。
微调 (Fine-tuning)

在这个阶段,预训练模型(可能经过了Post-pretraining)被进一步训练,以优化它在一个特定任务上的表现。

微调通常在一个相对较小的、特定任务的数据集上进行,这个数据集包含了明确的标签,模型通过监督学习来进行优化。

微调的目的是调整模型的参数,使其能够在特定任务上做出准确的预测。

SFT 监督微调
SFT (Supervised Fine-Tuning) 是微调的一种形式,强调在有监督的环境下进行。

在SFT阶段,我们使用特定领域的数据或私有化数据对预训练模型进行改良。这一阶段需要指令微调数据,数据集通常由输入(用户问题)和输出(标准答案)两个字段构成。标准答案通常由专家标注获得。

1、SFT是一种简单的微调方法,它使用带有正确答案的数据集来继续训练一个预训练的模型。

2、这种方法依赖于大量的标注数据,即每个输入都有一个预先定义的正确输出。

3、微调的目的是使模型更好地适应特定的任务或领域【垂直领域】,比如特定类型的语言理解或生成任务。

4、SFT通常不涉及复杂的策略或奖励函数,只是简单地最小化预测输出和真实输出之间的差异。

RLHF 人类反馈强化学习

RLHF是一种利用人类反馈来训练强化学习模型的方法。在RLHF中,模型通过与人类交互获得反馈,这些反馈作为奖励信号来指导模型的行为。RLHF通常用于训练能够生成更自然、更符合人类偏好的文本或其他输出的模型。这种方法特别适用于需要模型理解和适应人类偏好的场景。

1、RLHF (Reinforcement Learning from Human Feedback) 是一种更复杂的训练方法,它结合了监督学习和强化学习。

2、在RLHF中,模型首先通过监督学习进行预训练,然后通过人类提供的反馈来进行强化学习。

3、人类反馈可以是对模型输出的评分,或者是在模型输出之间做出选择的偏好。

4、强化学习部分涉及到定义一个奖励函数,该函数根据人类反馈来调整模型的行为,以优化长期的奖励。

5、RLHF的目标是训练出一个在没有明确标签的复杂任务中表现良好的模型,这些任务可能需要更细致的判断和调整。
模型对齐

对齐阶段目的是进一步优化模型,使其更符合实际应用需求。在这个阶段,我们收集用户反馈数据(如点赞或点踩),并基于这些数据进行模型的进一步训练。
对齐阶段的数据格式与SFT阶段不同:
通常包含对同一问题的接受(accept)和拒绝(reject)两种答案。
问题解决策略及部署

在SFT阶段,模型被训练以识别“想要的答案”,但未明确告知“不想要的答案”。为解决这一问题,我们通过收集用户反馈和日志数据,在对齐阶段告诉模型哪些答案是不可接受的。
经过SFT和对齐阶段的训练,我们可以得到一个优化后的模型,这个模型可以部署上线。在对齐过程中,我们可以使用一些常见的方法,如PPO(Proximal Policy Optimization)和DPO(Distributional Proximal Optimization)。DPO由于训练过程相对简单,已成为对齐阶段的主流算法。
总的来说,SFT更侧重于直接从标注数据中学习,而RLHF则试图通过人类的反馈来引导模型学习更复杂和更细粒度的行为。RLHF通常被认为是一种更接近人类学习方式的方法,因为它不仅仅依赖于标签数据,还依赖于人类对模型输出的评价和偏好。
RLHF与模型对齐区别

总的来说,模型对齐阶段可以视为一个更广泛的概念,而RLHF是一种特定的实现方式,特别是在强化学习领域。两者在实践中可能会有交集,但它们侧重点和应用方式有所不同。

1、联系:

两者都涉及到根据反馈来调整模型的行为,以提高模型的性能和适应性。

2、区别:

技术实现:对齐阶段可能不仅限于强化学习,还可以包括监督学习或其他类型的学习;而RLHF明确使用了强化学习框架。

反馈来源:对齐阶段的反馈可以来自用户的实际使用情况,而RLHF的反馈通常来自与模型交互的人类评估者。

目标:对齐阶段的目标是使模型的输出与用户期望对齐,而RLHF的目标是通过人类反馈来优化模型的决策过程。

技术创新与发展
RLHF:

基本精神是利用人类指导的力量有效地训练人工智能模型。传统的强化学习模型通过与环境交互产生的奖励来学习,而 RLHF 则不同,它引入了人类反馈作为宝贵的指导来源。这种反馈可以帮助人工智能系统导航复杂的决策空间,与人类价值观保持一致,并做出更明智和道德的选择。

DPO:

RLHF 是一个复杂且经常不稳定的过程,那我们是否可以通过直接优化语言模型来实现对其行为的精确控制,而无需使用复杂的强化学习,也可以有效学习到人类偏好呢?

DPO就是通过利用奖励函数与最优策略之间的映射关系,证明这个受限的奖励最大化问题可以通过单阶段的策略训练来精确优化来达到这个目的的。
它通过直接优化模型以生成首选响应,将问题表述为使用人类偏好对数据集的分类任务,本质上是在人类偏好数据上解决一个分类问题。DPO是稳定的、性能和计算成本轻量级的,无需拟合奖励模型,在微调期间从 LM 中采样,或执行显着的超参数调整。
在这里插入图片描述
DPO是一种单阶段算法,可直接优化 LLM以生成首选响应。具体的实现手段是通过增加偏好样本的对数概率与减小非偏好样本响应的对数概率。DPO 最大化生成首选完成的概率并最小化生成非首选完成的概率。它不涉及多轮训练。

增量预训练(Continue Pretraining)
增量预训练也叫领域自适应预训练(domain-adapter pretraining),即在所属领域数据上继续预训练。

自适应预训练(domain-adapter pretraining)的方法可以分为三类:Prompt-based方法、representation-based方法和model mixed-based方法。

1、Prompt-based 方法
在使用模型全局tuning的方式适应下游任务时,预训练模型的泛化性能会被严重削弱,因此Prompt-based方法在保持预训练模型参数权重不变的条件下, 增加额外可学习的Prompt tuning 模块来实现对下游任务的泛化,这样就能较好地保持原模型的泛化性能。

在使用模型全局tuning的方式适应下游任务时,预训练模型的泛化性能会被严重削弱,因此Prompt-based方法在保持预训练模型参数权重不变的条件下, 增加额外可学习的Prompt tuning 模块来实现对下游任务的泛化,这样就能较好地保持原模型的泛化性能。

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

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

相关文章

多网络选择路由(windows环境)

问题 情况是这样的,公司环境需要连接网线才能连接内网,也能上网,但是网速贼慢,我就连接了自己的热点,但是还是很慢,但是一拔掉网线就快了,但是连不上内网环境了。 解决思路 我猜我访问外网时…

idea解决properties中文乱码

问题: 我的IDEA已经将文件的字符集设置成了UTF-8,但是中文在*.properties文件中还是会出现乱码,后来经同事指点修改了一项配置就ok了!话不多说,看下面的对比就清楚了。 设置方法: Settings -> Editor…

BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)

BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab) 目录 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多…

V8内存的限制

如大家所熟悉的,在一般的后端开发语言中,在基本的内存使用上没有什么限制,然而在 Node 中通过JavaScript 使用内存时就会发现只能使用部分内存(64 位系统写约 1.4GB,32 位系统下约为 0.7GB)。 在这样的限制…

【RabbitMQ】

课程背景 一.初始MQ 1.同步调用 2.异步调用 1.解耦合:如果需要扩展业务,那就扩呗,让扩展的服务去监听消息队列就可以了 2.无需等待:只管发消息,发完就不管了,干别的事去了 3.故障隔离:接收消息…

emWin图片旋转

图片取模: 源码: /* ********************************************************************************************************* * 声明图片 *********************************************************…

ElasticSearch在Windows单节点部署及使用

文章目录 初始化ES服务下载启动验证 Kibana可视化使用ES下载启动验证使用创建第一个索引添加文档查询文档 ES优点 初始化ES服务 下载启动 访问官网https://www.elastic.co/downloads/elasticsearch 点击Windows,开始下载elasticsearch-8.17.4-windows-x86_64.zip…

Qt弹出新窗口并关闭(两个按钮)

参考:Qt基础 练习:弹出新窗口并关闭的两种实现方式(两个按钮、一个按钮)_qt打开一个窗口另一个关闭-CSDN博客 实现:两个按钮,点击第一个按钮open window打开一个新窗口,点击第二个窗口close wi…

今日 GitHub 热门项目大赏,你 pick 谁?

GitHub 作为全球最大的开源代码托管平台,每天都有无数新奇且强大的项目涌现。今天就为大家精选几个不容错过的热门项目。 微软开源 Hyperlight Wasm:WebAssembly 的新力量 项目地址:hyperlight-wasm 微软开源的 Hyperlight Wasm&#xff0c…

【区块链安全 | 第七篇】EVM概念详解

文章目录 1. EVM 概述以太坊虚拟机(Ethereum Virtual Machine,EVM)的作用EVM 如何执行智能合约账户类型 2. EVM 体系结构栈(Stack)内存(Memory)存储(Storage)Gas 机制 3.…

【C++】AVL树

目录 前言平衡二叉树的定义AVL树的插入AVL树插入的大致过程更新平衡因子调整最小不平衡因子左单旋右单旋左右双旋右左双旋 AVL树的删除AVL树的查找 前言 前面我们在数据结构中学习了树,以及二叉树,还有二叉排序树,这节来学习平衡二叉树。 数…

【洛谷题单】暴力枚举(上)

【前情提要】 此文章包含洛谷题单的枚举题单,共14题,本篇7道题,主要分析思路,并通过这几道题目,进行总结有关枚举的内容。所以内容比较多,可以先收藏起来,慢慢看。 题单链接:暴力枚…

JVM类加载过程详解

文章目录 前言1.加载2.链接验证文件格式验证元数据验证字节码验证符号引用验证 准备解析 3.初始化4.类卸载 前言 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段:加载(Loading)、验证&a…

python之并发编程

并发编程介绍 串行、并行与并发的区别 进程、线程、协程的区别 1. 进程 (Process) 定义:进程是操作系统为运行中的程序分配的基本单位。每个进程都有独立的地址空间和资源(如内存、文件句柄等)。特点: 进程是资源分配的基本单位…

批量优化与压缩 PPT,减少 PPT 文件的大小

我们经常能够看到有些 PPT 文档明明没有多少内容,但是却占用了很大的空间,存储和传输非常的不方便,这时候通常是因为我们插入了一些图片/字体等资源文件,这些都可能会导致我们的 PPT 文档变得非常的庞大,今天就给大家介…

centos 7 LVM管理命令

物理卷(PV)管理命令 pvcreate:用于将物理磁盘分区或整个磁盘创建为物理卷。 示例:sudo pvcreate /dev/sdb1 解释:将 /dev/sdb1 分区创建为物理卷。 pvdisplay:显示物理卷的详细信息,如大小、所属…

b站视频提取mp4方案

引言 对于b站视频,有些视频是不能提取字幕的,所以我们想把对应的视频下载下来,然后进行对应的本地处理,获得所需的自由处理,吞食视频。 整体思路 下载b站客户端 ----> 把缓存路径修改------> 下载所需视频---…

springboot在feign和线程池中使用TraceId日志链路追踪(最终版)-2

文章目录 简述问题feign调用时给head加入traceIdFeignConfig配置FeignConfig 局部生效feign拦截器和配置合并为一个文件(最终版)feign异步调用拦截器配置[不常用] 使用TTL自定义线程池为什么需要TransmittableThreadLocal? 总结参考和拓展阅读…

MySQL数据库单表与多表查询

一.单表查询 1.创建用于数据查询的数据库表 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) NOT NULL DEFAULT 群众,姓名 varchar(20) NOT NULL,出生日期 date NOT NULL,PRIM…

海外紧固件市场格局与发展趋势研究报

一、引言 紧固件作为各类机械装备、建筑结构以及电子设备中不可或缺的基础性零部件,在国民经济的各个领域都有着广泛应用。其市场动态与全球经济发展态势以及各行业的兴衰紧密相连。在全球化进程不断加速、产业分工日益精细的大背景下,深入研究海外紧固…