大模型预训练与微调

一、基础知识

  1. 机器学习数学原理:梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。
  2. 深度学习
  • 神经网络:神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。详见地址:神经网络——最易懂最清晰的一篇文章-CSDN博客
  • 超参数
    • 学习率:每次迭代的步长,决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。学习率越高,步长越大。

    • batch:当训练数据过多时,无法一次将所有的数据送入计算,所以需要将数据分成几个部分(多个batch),逐一地送入计算训练。即每次输入网络进行训练的批次(batch number)

    • batch_size:每个batch里面样本的大小。即一次训练所选取的样本数。同时多张卡上训练的图片数量。

      • 一般GPU性能好的时候,batchsize越大,准确率越高

      • 通过并行化提高内存的利用率,提高训练速度
      • 单个epoch的迭代次数减少了,参数调整慢,若达到相同的识别精度,需更多的epoch
      • 适当batch size使梯度下降方向更明确
      • 当数据量较小时,1个batch的训练方式收敛效果较好
    • mini-batch size:每张卡上训练的图片数量。

    • epoch:表示将输入的数据进行前向和后向传播的一个过程。其设置的大小与数据集的多样化程度有关,多样化程度越强,epoch越大。

    • iterations:完成一次epoch所需要的batch个数。即batch number就是iterations。

【注】因为CPU和GPU内存架构是以2的幂进行组织的,所以经常选择批的大小为2的幂次。且batch size 越大,训练速度则越快,内存占用更大,但收敛变慢。

3.Token

Token是对输入文本进行分割和编码时的最小单位。它可以是单词、子词、字符或其他形式的文本片段。

4.Embeding嵌入

嵌套是一种相对低维的空间,可以将高维矢量映射到这种低维空间中。通过使用嵌套,可以让在大型输入(比如代表字词的稀疏矢量)上进行机器学习变得更加容易。
在理想情况下,嵌套可以将语义上相似的不同输入映射到嵌套空间里的邻近处,以此来捕获输入的语义。一个模型学习到的嵌套,也可以被其他模型重用。

二、大模型预训练

预训练(Pre-training)是语言模型学习的初始阶段。在预训练期间,模型会接触到大量未标记的文本数据,例如书籍、文章和网站。在大量未标记文本数据上训练语言模型。预训练目标是捕获文本语料库中存在的底层模式、结构和语义知识。

1.预训练的主要特点:

(1)无监督学习:预训练通常是一个无监督学习过程,模型在没有明确指导或标签的情况下从未标记的文本数据中学习。

(2)Masked Language Modeling:模型经过训练以预测句子中缺失或屏蔽的单词,学习上下文关系并捕获语言模式

(3)Transformer架构:预训练通常基于Transformer的架构,因为这种架构擅长捕获远程依赖关系和上下文信息

2.预训练的主要下游任务如下:

(1)文本生成:预训练模型可以生成联欢且有上下文相关的文本,使他们对聊天机器人、虚拟助手和内容生成等应用程序有价值

(2)情感分析:通过对带有情感标签的数据集的预训练模型进行微调,他们可用于对文本输入的情感进行分类,协助完成客户反馈分析和社交媒体监控等任务

(3)命名实体识别:可以对预训练模型进行微调,以从文本中识别和提取命名实体,从而促进新闻文章或法律文件中的实体识别等任务

三、大模型微调

微调(Fine-tuning)是指在预训练(Pre-training)阶段之后,使用特定任务的有标签数据对模型进行进一步的训练和调整参数,以使其在目标任务上获得更好的性能。

1.模型微调步骤

(1)冻结部分参数:为了保持与训练模型的初始表示能力,通常会冻结部分参数,特别是底层的参数,使其在微调过程中保持不变。

(2)更新顶层参数:针对目标任务的特定要求,通常会添加一个或多个新的层,这些层称为顶层(top layers)。这些顶层将与与训练模型链接,并更具目标任务的标签数据进行训练。在微调过程中,主要是更新这些顶层参数。

(3)调整参数:在微调过程中,通过反向传播算法和优化方法(如随机梯度下降),根据目标任务的损失函数来调整模型的参数。由于预训练模型已经通过大规模无监督学习进行了初始化,微调过程通常只需要较少的训练数据和较少的迭代次数。

2.大模型SFT(supervised fine tuning)

动作:Fine-tuning需要微调整个预训练整个预训练语言模型,且额外添加了新的参数,而Prompting则可以将整个预训练语言模型的参数保持固定,而只需要添加prompt来预测效果即可。

P-tuning:将Prompt转换为可以学习的Embedding层,并用MLP+LSTM的方式来对Prompt Embedding进行一层处理

P-tuning V2:每一层都加入可训练的prompts,只对prompt部分的参数进行训练,而语言模型的参数固定不变

3.提示工程-prompt

prompt engineering:通过开发和优化提示词,帮助语言模型用于各种应用场景和研究领域。

1.one shot、few shot。

2.思维链(CoT):是一种改进的提示策略,用于提高LLM在复杂推理任务中的性能,如算术推理、常识推理和符号推理。

3.Freeze微调:通过用于计算机视觉领域,不同于文本微调方法,这种方法的核心思想是冻结部分模型层,以保留模型在预训练任务中学到的特征。

4.指令微调(IT):增强模型的能力和可控性。IT使用(INSTRUCTION,OUTPUT)对进一步训练LLM,其中INSTRUCTION表示模型的人工指令,OUTPUT表示遵循INSTRUCTION的期望输出。

5.基于强化学习的进阶微调方法RLHF

(1)监督微调(SFT):使用精选的人类回答来微调预训练的语言模型以应对各种查询

(2)奖励模型微调:使用一个包含人类对同一查询的多个答案打分的数据集来训练一个独立的,通常比SFT小的奖励模型RW

(3)RLHF训练:利用PPO算法,根据RW模型的奖励反馈进一步微调SFT模型

RLHF是实现难度最大的微调方法。

6.LoRA

(1)在原始预训练语言模型(PLM)旁增加一个旁路,做一个先降维再升维的操作,以此模拟内在秩

(2)训练的时候固定PLM的参数不变,只训练降维矩阵和升维矩阵,即优化器只优化右路的参数

(3)模型的输入、输出维度不变,两边共同模型的输入,输出时将与plm的参数叠加

(4)用随机高斯分布初始化,用全0矩阵初始化

(5)矩阵全零初始化,右路结果会接近于0,使得模型优化的初始点就和原本的大模型保持一致

和其他大部分高效微调方法一样,固定预训练语言模型的参数,额外增加新的参数来学习,不同的是新增的模块是一个低秩的模块,即增加低秩分解的矩阵来适配下游任务

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

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

相关文章

浅谈ps/2键盘

文章目录 说明基础知识操作系统中断类型工作机制优点应用 CPU对IO设备的轮询机制轮询机制的工作原理轮询机制的特点轮询机制的优、缺点与中断机制的对比 N-Key Roller(全键无冲)应用领域实现原理技术限制 PS/2接口简介USB设备&PS/2设备的工作机制PS/…

【在线oj系统】02-开发环境版本说明

目录 一、前置环境版本介绍 二、SpringCloud组件停更/替换/更新 服务注册和发现 服务调用和负载均衡 分布式事务 服务熔断和降级 服务链路追踪 服务网关 分布式配置管理 三、客户端版本 一、前置环境版本介绍 使用Cloud的版本决定Boot的版本,SpringCloud的…

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律(Moores law)是由英特尔(Intel)创始人之一戈登摩尔提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;而经常被引用的“18个月”&#xf…

【02358单片机原理及应用】第一、二章考试复习知识点期末复习自考复习

单片机原理及应用考试复习知识点 第1章 计算机基础知识 考试知识点: 1、各种进制之间的转换 (1)各种进制转换为十进制数 方法:各位按权展开相加即可。 (2)十进制数转换为各种进制 方法:整…

将VM虚拟机Ubuntu20.04系统扩容

一、拓展虚拟机硬盘空间 随着学习的深入,虚拟机里面的内容越来越多,我们可能会面临着硬盘空间不足的问题。今天我们就来沉浸式体验一把给虚拟机扩容。 二、拓展VM虚拟机硬盘前须知 在硬盘拓展时需要注意的一点是有快照的话拓展不了说是,先删除…

分类规则挖掘(一)

目录 一、分类问题概述(一)分类规则挖掘(二)分类规则评估(三)分类规则应用 二、k-最近邻分类法 一、分类问题概述 动物分类:设有动物学家陪小朋友林中散步,若有动物突然从小朋友身边…

深度学习500问——Chapter08:目标检测(7)

文章目录 8.3.8 RFBNet 8.3.9 M2Det 8.3.8 RFBNet RFBNet有哪些创新点 1. 提出RF block(RFB)模块 RFBNet主要想利用一些技巧使得轻量级模型在速度和精度上达到很好的trade-off的检测器。灵感来自人类视觉的感受野结构Receptive Fields(RFs…

gin-vue-blog 前后端分离项目(已经部署)

gin-vue-blog 前台: 后台: 1.数据库设计:https://blog.csdn.net/m0_73337964/article/details/138137629?spm1001.2014.3001.5501 2.RESTFUL API路由实现:https://blog.csdn.net/m0_73337964/article/details/138321631?spm1…

5G Advanced and Release18简述

5G Advanced 5G-Advanced, formally defined in 3GPP Release 18, represents an upgrade to existing 5G networks. 先睹robot总结的5G Advanced的advancements: Enhanced Mobility and Reliability: 5G-Advanced will support advanced applications with improved mobility…

【人工智能Ⅱ】实验6:目标检测算法

实验6:目标检测算法 一:实验目的与要求 1:了解两阶段目标检测模型 RCNN或Faster RCNN模型的原理和结构。 2:学习通过RCNN或Faster RCNN模型解决目标检测问题。 二:实验内容 常用的深度学习框架包括PyTorch和PaddleP…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130,总分400,复试表现中规中矩(初试分数查到才开始复习复试,希望大家汲取教训,初试考完就可以录取开始准备复试),交大初试比重很高,良心学校&#x…

STM32G474 CMAKE VSCODE FREERTOS 导入

一. 文件准备 1. 首先下载 freertos FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download 2. 移动 FreeRTOS-Kenel 到 moto_control 文件夹下。 3. 将 FreeRTOSConfig.h 放到 /Core/Inc 下面 4. 由于 FreeRTOSConfig.h 中使用了…

数据库(MySQL)—— 事务

数据库(MySQL)—— 事务 什么是事务事务操作未控制事务测试异常情况 控制事务一查看/设置事务提交方式:提交事务回滚事务 控制事务二开启事务提交事务回滚事务 并发事务问题脏读(Dirty Read)不可重复读(Non…

【LLM第二篇】stable diffusion扩散模型、名词解释

最近在整理大模型的相关资料,发现了几个名词,不是很懂,这里整理一下: stable diffusion(SD)模型: 扩散模型(Diffusion model)的一种,主要用于生成高质量的图像&#xf…

分布式与一致性协议之一致哈希算法(三)

一致哈希算法 如何使用一致哈希算法实现哈希寻址 我们一起来看一个例子,对于1000万个key的3节点KV存储,如果我们使用一致哈希算法增加1个节点,即3节点集群变为4节点集群,则只需要迁移24.3%的数据,如代码所示 package mainimpor…

IoTDB 入门教程 基础篇⑧——数据库管理工具 | IDEA 连接 IoTDB

文章目录 一、前文二、下载iotdb-jdbc三、IDEA驱动四、IDEA连接数据库五、数据库应用六、其他 一、前文 IoTDB入门教程——导读 二、下载iotdb-jdbc 下载地址org/apache/iotdb/iotdb-jdbc:https://maven.proxy.ustclug.org/maven2/org/apache/iotdb/iotdb-jdbc/ 本…

Hive大数据任务调度和业务介绍

目录 一、Zookeeper 1.zookeeper介绍 2.数据模型 3.操作使用 4.运行机制 5.一致性 二、Dolphinscheduler 1.Dolphinscheduler介绍 架构 2.架构说明 该服务内主要包含: 该服务包含: 3.FinalShell主虚拟机启动服务 4.Web网页登录 5.使用 5-1 安全中心…

022、Python+fastapi,第一个Python项目走向第22步:ubuntu 24.04 docker 安装mysql8集群、redis集群(三)

这次来安装mysql8了,以前安装不是docker安装,这个我也是第一次,人人都有第一次嚒 前言 前面的redis安装还是花了点时间的,主要是网上教程,各有各的好,大家千万别取其长处,个人觉得这个环境影响…

一、Mysql索引的底层数据结构与算法

Mysql索引的底层数据结构与算法 前言一、索引数据结构为什么 MySQL 的索引要使用 B 树而不是其他树形结构?比如 B 树?为什么InnoDB存储引擎选择使用Btree索引结构? 二、索引分类思考:以下SQL语句,那个执行效率高?为什么&#xf…

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域,生成模型一直是研究的热点之一。随着深度学习技术的飞速发展,一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型,它可以学习数据的潜…
最新文章