《AI学习笔记》大模型-微调/训练区别以及流程

阿丹:

        之前一直对于大模型的微调和训练这两个名词不是很清晰,所有找了一个时间来弄明白到底有什么区别以及到底要怎么去使用去做。并且上手实践一下。

大模型业务全流程:

大模型为啥要微调?有哪些微调方式?

模型参数与数据集规模增长-》
模型微调:

允许少量地重新调整预训练大模型的权重参数,或者大模型的输入和输出

有助于降低训练大模型的复杂性,降低重新进行训练的成本。

微调技术

低参数微调(PEFT)

全参微调,普通微调(Full Parameter Fine-Tuning)

SFT有监督微调

Instruction Tuning,指令微调

RLHF,ReinForcement Learning Human Feedback,人类反馈强化学习。

微调的发展:

LLM and LVM 预训练大模型的训练成本非常高,需要庞大的计算机资源和大量的数据

按照微调的参数规模划分:

Full Parameter Fine-Tuing全参数微调和Parameter Efficient Fine-Tuning PEFT,参数高效微调:

FPFT:用预训练模型作为初始化权重,在特定数据集上继续训练,全部参数都更新的方法

PEFT:用更少的计算资源完成模型参数的更新,包括之更新一部分的参数,或者通过对参数进行某种结构化约束,例如稀疏化或者降低参数模型数量。

常用微调(PEFT):

微调进入:PEFT,通过最小微调网络模型中的参数数量和计算复杂度,来提高预训练模型在新任务上的性能,用来缓解大模型预训练的成本。

好处:

        即使计算资源受限制,也可以利用预训练模型的知识来迅速适应新的任务,实现高效的迁徙,学习Transfer Learning。因此,Peft技术可以在提高模型效果的同时,缩短模型训练时间和计算成本。

按照训练的流程划分

按照大模型训练阶段进行微调,或者根据大模型微调的目标来区分:

提示微调、监督微调、人类反馈强化学习的方式

In-Context Learning 上下文学习(向量数据库)

区别预普通的微调fine-tuning。不对LLMS执行任何微调,直接将模型的输入输出拼接起来作为一个prompt,引导模型根据输入的数据结构,给出任务的预测结果。

ICL(上线文学习)能够给予无监督学习的基础上取得更好的模型效果,并且不需要根据特定的任务重新微调Fine-Tuning更新模型参数,避免不同任务要进行重新真正的微调。

按照训练的方式来划分:

预训练Pre-Training:

LLMs预训练过程是无监督的,但是微调过程往往是有监督的,当进行有监督的微调时,模型权重会根据真实的标签差异进行调整。

Supervised find-tuning.SFT:

        有监督微调使用有标签的数据(Label Data)来调整已经训练的LLMs,用来更加适配指定的场景任务。

指令微调Instruction Tuning

指令微调可以被看做是要监督sft的一种特殊的形式

SFT:使用标记数据对预训练模型进行微调的过程,让模型能够更好的执行特定的任务。

IT:通过<指令,输出>对数据集上进一步训练LLMsm的过程,以增强LLMs能力和可控性。

特殊之处在于其数据集的结构,用人类指令和期望的输出组成进行配对,这种数据接口让微调专注于让模型理解和遵循人类的指令。作为有监督的一种特殊方式,专注于通过理解和遵循人类指令来增强大模型的能力和可控性。

经典LLMs训练流程

基于Transformer大模型,ChatGPT以及LIama2,大体都是三个训练步骤:

预训练-》有监督微调-》对齐

1》预训练,模型会学习来自海量、无标注文本数据集知识

2》使用有监督微调方式来细化模型,在后面的推理中更好的遵循特定指令

3》使用对齐技术让LLMs可以更有用更安全的相应用户提示prompt(提问模版)

流程详情:

1、预训练pre

预训练阶段通常需要数十到百亿Token的文本语料库,但训练目标是简单的【下一个单词预测】任务。

自监督训练(无监督学习):让大模型从大规模数据中学习,不依赖人工标注完成训练,因为训练、学习的标签是文本的后续单词,已经在训练的数据集中了。

2、有监督微调 Supervised finetuning

第二阶段是在【下一个单词预测】任务,中区别在于数据集,需要人工标注的指令数据集,模型输入是一个指令或者特殊的数据结构。输出为期望大模型的回复内容。

程序会将指令文本作为大模型的输入,并逐个Token输出,训练目标和预期输出相同。

虽然1阶段和2阶段都采用【next token prediction】训练方式,但是sft的数据集通常比预训练的数据小很多,指令数据需要提供标注结果(权重等),所以没有办法规范大模型应用。

3、对齐 Alignment

第三阶段还是微调,不过主要目标是将大模型配合人类的偏好、价值观进行对齐,也是RLHF机制发挥作用的时候。

PLHF主要包括步骤

1、预训练有监督微调

收集提示词集合,并要求Label(绰号)人员写出高质量的答案,然后使用该数据集监督的方式来微调预训练模型-》产生一个SFT

有监督微调使用有标签的数据(Label Data)来调整已经训练的LLMs,用来更加适配指定的场景任务

2、创建奖励模型

对于每个提示Prompt,要求微调后的LLMs生成多个回复,再让标注人员根据真实的偏好对所有回复进行排序。接着训练奖励模型RM来学习人类的偏好,用于后续优化。

3、PPO进行微调

使用强化学习算法PPO等,根据奖励模型RM提供的奖励分数,对SFT模型进一步优化用于后续的推理。

微调使用场景:

1、定制模型

微调大模型,根据用户自身的具体需求定制模型,从而提高准确性和性能。

2、提高资源利用率

通过减少从头开始构建新模型的方式进行预训练,从而来节省时间、算力资源和其他带来的成本。

3、性能提升

微调的过程,可以让用户的独特的数据集,来增强训练模型的性能。

4、数据优化

可以充分利用客户的数据,调整

总结:

有一些微调其实也是训练的一种,用来提高回复的效果。

还有其他的提示词和模版也是微调的一部分。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jeecg | 如何解决 ERR Client sent AUTH, but no password is set 问题

最近在尝试Jeecg低代码开发&#xff0c;但是碰到了超级多的问题&#xff0c;不过总归是成功运行起来了。 下面说说碰到的最后一个配置问题&#xff1a;连接redis失败 Error starting ApplicationContext. To display the conditions report re-run your application with deb…

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示与单片机连接的按键的按键值的功能

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示与单片机连接的按键的按键值应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍TM1638键盘数码…

【设计模式】JAVA Design Patterns——Static Content Hosting(静态内容托管模式)

&#x1f50d;目的 将静态内容部署到基于云的存储服务&#xff0c;该服务可以将它们直接交付给客户端。 这可以减少对昂贵计算实例的需求。 &#x1f50d;解释 真实世界例子 全球性的营销网站&#xff08;静态内容&#xff09;需要快速的部署以开始吸引潜在的客户。为了将托管…

【STL】C++ vector基本使用

目录 一 vector常见构造 1 空容器构造函数&#xff08;默认构造函数&#xff09; 2 Fill 构造函数 3 Range 构造函数 4 拷贝构造函数 5 C11构造 二 vector迭代器 1 begin && end 2 rbegin && rend 3 补充排序 三 vector 容量操作 1 size 2 resize …

Gin框架学习笔记(六)——gin中的日志使用

gin内置日志组件的使用 前言 在之前我们要使用Gin框架定义路由的时候我们一般会使用Default方法来实现&#xff0c;我们来看一下他的实现&#xff1a; func Default(opts ...OptionFunc) *Engine {debugPrintWARNINGDefault()engine : New()engine.Use(Logger(), Recovery())…

探秘SpringBoot默认线程池:了解其运行原理与工作方式(@Async和ThreadPoolTaskExecutor)

文章目录 文章导图Spring封装的几种线程池SpringBoot默认线程池TaskExecutionAutoConfiguration&#xff08;SpringBoot 2.1后&#xff09;主要作用优势使用场景如果没有它 2.1版本以后如何查看参数方式一&#xff1a;通过Async注解--采用ThreadPoolTaskExecutordetermineAsync…

LiveGBS流媒体平台GB/T28181用户手册-基础配置:信令服务配置、流媒体服务配置、白名单、黑名单、更多配置

LiveGBS流媒体平台GB/T28181用户手册-基础配置:信令服务配置、流媒体服务配置、白名单、黑名单、更多配置 1、基础配置1.1、信令服务配置1.2、白名单1.3、黑名单1.4、流媒体服务配置 2、搭建GB28181视频直播平台 1、基础配置 LiveGBS相关信令服务配置和流媒体服务配置都在这里…

React 中Redux结合React-Redux使用类组件版本(一)

一、Redux是什么&#xff1f; 1.Redux是一个专门用于状态管理的js库 2.它可以用在React、Angular、Vue的项目中&#xff0c;但基本与React配合使用。 3.作用&#xff1a;集中式管理React应用中多个组件共享的状态。 二、Redux 工作流程 三、Redux的三个核心概念 1.action 动…

在AndroidStudio创建虚拟手机DUB-AI20

1.DUB-AI20介绍 DUB-AL20是华为畅享9全网通机型。 华为畅享9采用基于Android 8.1定制的EMUI 8.2系统&#xff0c;最大的亮点是配置了1300万AI双摄、4000mAh大电池以及AI人脸识别功能&#xff0c;支持熄屏快拍、笑脸抓拍、声控拍照、手势拍照等特色的拍照功能&#xff0c;支持移…

搭建属于自己的 Git 仓库:GitLab

搭建属于自己的 Git 仓库&#xff1a;使用 GitLab 文章目录 搭建属于自己的 Git 仓库&#xff1a;使用 GitLab什么是 GitLab&#xff1f;准备工作安装 Docker使用Docker Compose 快速构建GitLab1、从docker compose快速搭建GitLab2、部署到服务器并访问3、浏览器访问 在现代软件…

Ant Design pro 6.0.0 搭建使用以及相关配置

一、背景 在选择一款比较合适的中台的情况下&#xff0c;挑选了有arco design、ant design pro、soybean、vue-pure-admin等中台系统&#xff0c;经过筛选就选择了ant design pro。之前使用过arco design 搭建通过组件库拼装过后台管理界面&#xff0c;官方文档也比较全&#…

数据库SQL语言实战(十)(最后一篇)

目录 前言 练习题 实验八 实验九 题目一 题目二 总结 前言 本篇练习题的重点有两个&#xff1a; 一、测试提交commit和回滚rollback的作用,了解锁等待、授权等知识。 二、学会复制表结构、学会插入数据&#xff0c;特别是学会如何避免重复插入&#xff0c;也就是如何避…

I2C SPI UART TCP/UDP AD/DA PWM大总结

I2C SPI UART TCP/UDP AD/DA PWM大总结 1. I2C总线描述1.1 基础协议内容1.1.1 通信时序1.1.2 一般通讯时序1.1.3 Burst模式 2. SPI总线2.1 基础协议内容 3. UART4. TCP/UDP5. AD/DA5.1 AD的原理5.2 DA的原理 6. PWM 1. I2C总线描述 I2C的特点&#xff1a;半双工&#xff0c;同步…

起保停电路工作原理

一、电路组成 起保停电路由电源保护设备&#xff08;空气开关&#xff09;、交流接触器、启动按钮、停止按钮和用电设备组成。 起保停电路的组成部分通常可分为四个部分&#xff1a; 保护部分&#xff1a;&#xff08;空气开关&#xff09;在电流或电压超出一定范围时自动切断…

计网期末复习指南:物理层(物理层的任务、香农公式、常用信道复用技术)

前言&#xff1a;本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点&#xff0c;从计算机网络体系结构出发到应用层&#xff0c;每一个协议层通过一篇文章进行总结&#xff0c;本系列正在持续更新中... 计网期末复习指南&#xff08;一&#xff09;&#xff1a;计算机…

SpringBoot学习小结之RocketMQ

文章目录 前言一、架构设计1.1 架构图1.2 消息1.3 工作流程 二、部署2.1 单机2.2 集群 三、Springboot Producter3.1 准备3.2 pom依赖、yml 配置3.3 普通消息3.4 顺序、批量、延迟消息3.5 事务消息 四、Springboot Consumer4.1 配置4.2 普通Push消费4.3 回复4.4 集群和广播4.5 …

兆原数通基于Apache SeaTunnel的探索实践

随着大数据技术的不断发展&#xff0c;数据同步工具在企业中的应用变得愈发重要。为了满足复杂多样的业务需求&#xff0c;找到一款高效、灵活的数据同步工具变得尤为关键。 在这篇文章中&#xff0c;我们将分享兆原数通研发经理李洪军对Apache SeaTunnel的选择、应用及经验。这…

蓝桥杯物联网竞赛_STM32L071KBU6_关于size of函数产生的BUG

首先现象是我在用LORA发送信息的时候&#xff0c;左边显示长度是8而右边接收到的数据长度却是4 我以为是OLED显示屏坏了&#xff0c;又或者是我想搞创新用了const char* 类型强制转换数据的原因&#xff0c;结果发现都不是 void Function_SendMsg( unsigned char* data){unsi…

【代码随想录】动态规划经典题

前言 更详细的在大佬的代码随想录 (programmercarl.com) 本系列仅是简洁版笔记&#xff0c;为了之后方便观看 做题步骤 含义公式初始化顺序检查 确定dp数组以及下标的含义递推公式dp数组如何初始化遍历顺序打印dp数组&#xff08;看哪里有问题&#xff09; 斐波那契数 c…

高性能推理框架漫谈

传统模型分布式推理框架 Tensorflow servingPytorch ServingTriton Server 大语言模型的推理框架 其中&#xff0c; VLLM 后端接入了Ray 框架&#xff0c; 作为调度请求的分发处理&#xff1b;除此之外&#xff0c;还包括Nvidia 最新推出的TensorRT-LLM&#xff0c; 增加了对…