LLM基础模型系列:Fine-Tuning总览

由于对大型语言模型,人工智能从业者经常被问到这样的问题:如何训练自己的数据?回答这个问题远非易事。生成式人工智能的最新进展是由具有许多参数的大规模模型驱动的,而训练这样的模型LLM需要昂贵的硬件(即许多具有大量内存的昂贵GPU)和花哨的训练技术(例如,完全分片的数据并行训练)。

幸运的是,这些模型通常分两个阶段进行训练——预训练和微调。其中前一个阶段(要)昂贵得多。鉴于高质量的预训练LLMs很容易在网上获得,大多数人工智能从业者可以简单地下载一个预训练的模型,并专注于使这个模型(通过微调)适应他们想要的任务。

“就所需的硬件和为不同任务托管独立实例的存储/交换成本而言,微调庞大的语言模型的成本高得令人望而却步。”

模型的大小并没有在微调过程中改变。因此微调一个LLM虽然比预训练便宜,可是也不是易事,仍然需要训练技术和硬件来处理这样的模型。每次微调运行都会创建一个完全独立的“副本”。

参数高效微调(PEFT)是微调一种比较好的技术,它不是端到端地训练完整的模型,而是固定预训练的模型权重,并且在微调期间仅调整少量特定于任务的参数。这种方法大大减少了内存开销,简化了存储/部署过程,并允许使用更易于访问的硬件进行微调LLMs。

微调与转移学习

首先先来明确两个概念,微调和转移学习。转移学习是将一个通用的预训练模型应用到全新的但是相关领域的过程。而微调是将通用的预训练模型进一步的训练。一般而言,微调是包含转移学习的。

上图展示了预训练,特征提取和微调的过程,预训练就是使用训练数据直接训练基础模型,比较常见的有T5,BloombergGPT,GPT-4。特征提取一般是利用基础模型进行内容的Embedding,然后在另接其他的模型进行预测,例如Bert。微调是利用训练数据训练完基础模型,然后采用微调技术(例如更新部分参数,更新所有层或者额外添加层)进行二次训练。

微调和Prompt Engineering(通过提示词优化结果,基础模型的参数是冻结的,经常在论文中会用雪花图标标识)不同,它重新精校模型参数的数值。若是全部精校所有的参数,读者需要大量的计算资源。

上图为2018年的一篇论文的插图,有三幅图片分别代表着:a为预训练,b为全量参数微调,c为分类器微调。

Instruction-tuned就是全量微调中的一种,FLAN在基础模型上面,通过指令调整(在通过指令描述的数据集集合上微调语言模型)可以显著提高未见任务的零样本性能。它采用 137B参数预训练语言模型,并在通过自然语言指令模板表达的60多个NLP数据集上对其进行指令调整。

FLAN 显著提高了其未修改版本的性能,并在评估的25个数据集中的20个数据集上超越了零样本175B GPT-3。FLAN 甚至在 ANLI、RTE、BoolQ、AI2-ARC、OpenbookQA和StoryCloze上的表现远远优于少样本 GPT-3。消融研究表明,微调数据集的数量、模型规模和自然语言指令是指令调整成功的关键。大白话而言,它将这些数据集根据不同的模版构建不同的指令训练样本,然后再次训练模型:

全量微调是美味的,但是若没有太多的计算资源,那么存在两种方法可以在有限的资源下将模型调教得较为服帖。一 种是X-shot Prompt,这点在介绍Dspy的时候说过了。另外一种是高效参数微调(微调部分参数),简称PEFT(Parameter-efficient fine tuning)。本系列还是会将重点放在PEFT的技术上面。

PEFT概览

最后先来看看PEFT的技术分类和全景图,大致可分为四类:

  • Additive PEFT:通过注入新的可训练模块或参数来修改模型架构;Selective PEFT:使选择部分的参数子集在微调期间可训练,其余的冻结;

  • Reparameterization PEFT:将原来的参数重新结构化,比如用低轶矩阵重新表示以进行训练,然后等效地将其转换推理。

  • Hybrid PEFT,它结合了不同PEFT方法的优点,建立了一个统一的PEFT模型。

上图为各种算法,都是围绕着各种主流微调技术的微调方法,比如之前的文章已经介绍过的LoRA,后续将围绕这根主线开展学习之旅。

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

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

相关文章

51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)

硬件:STC8051U34K64 RA8889开发板(硬件跳线变更为SPI-4模式,PS101,R143,R141短接,R142不接) STC8051U34K64是STC最新推出来的单片机,主要用于替换传统的8051单片机,与标…

达梦数据库中的线程和进程

达梦数据库中的线程和进程 在达梦数据库中,线程和进程的概念与操作系统中的定义类似,但有一些特定的实现细节和用途。以下是达梦数据库中线程和进程的一些关键点: 进程(Process): 在达梦数据库中&#x…

oracle哪些后台进程不能杀?

oracle 有很多的后台进程,在遇到特殊情况的时候如锁表,如果等待的是一个后台进程,那这时就需要考量是不是能杀掉这个后台进程?杀掉这个后台进程会不会引起实例崩溃?本着实践出真知,本文针对oracle 11g&…

RK3588编译rkmpp,拉取海康威视网络摄像头264码流并运行yolo

硬件:EVB评估版 SOC:Rockchip RK3588 背景: 由于项目需要,需要拉取264码流,并通过将yolov5s.pt将模型转化为rknn模型,获取模型分析结果。取流可以通过软件解码或者硬件解码,硬件解码速度更快&…

插片式远程 I/O模块:热电阻温度采集模块与PLC配置案例

XD系列成套系统主要由耦合器、各种功能I/O模块、电源辅助模块以及终端模块组成。有多种通讯协议总线的耦合器,例如Profinet、EtherCAT、Ethernet/IP、Cclink IE以及modbus/TCP等。I/O 模块可分为多通道数字量输入模块、数字量输出模块、模拟量输入模块、模拟量输出模…

[leetcode]minimum-cost-to-reach-destination-in-time 规定时间内到达终点的最小费用

. - 力扣&#xff08;LeetCode&#xff09; class Solution { private:// 极大值static constexpr int INFTY INT_MAX / 2;public:int minCost(int maxTime, vector<vector<int>>& edges, vector<int>& passingFees) {int n passingFees.size();ve…

2024年文化研究与数字媒体国际会议 (CRDM 2024)

2024年文化研究与数字媒体国际会议 (CRDM 2024) 2024 International Conference on Cultural Research and Digital Media 【重要信息】 大会地点&#xff1a;珠海 大会官网&#xff1a;http://www.iccrdm.com 投稿邮箱&#xff1a;iccrdmsub-conf.com 【注意&#xff1a;稿将…

STL(一)

书写形式&#xff1a;string (const string& str, size_t pos, size_t len npos); 举例&#xff1a; int main(){ string url("https://mp.csdn.net/mp_blog/creation/editor?spm1000.2115.3001.4503") string sub1(url,0,5);//从下标为0开始向后5个字符&…

Hvv工具推荐——IWannaGetAll

OA基本上是每次hvv中都会被突破的&#xff0c;基本上也都会爆出各种各样的0day&#xff0c;如果真的0day防不住&#xff0c;那我们必须要把1day、nday做一遍检查。 IWannaGetAll 是一款专门针对主流OA&#xff08;办公自动化&#xff09;系统的漏洞检测和利用工具。 IWannaGe…

【正点原子K210连载】第二十一章 machine.UART类实验摘自【正点原子】DNK210使用指南-CanMV版指南

1&#xff09;实验平台&#xff1a;正点原子ATK-DNK210开发板 2&#xff09;平台购买地址https://detail.tmall.com/item.htm?id731866264428 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第二十一章 machine.…

05:定时器中断

中断 1、定时器T0中断2、案例&#xff1a;通过定时器T0中断来实现灯间隔1s亮灭 1、当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求&#xff0c;要求CPU暂停当前的工作&#xff0c;转而去处理这个紧急事件&#xff0c;处理完以后&#xff0c;再回到原来被中断的地方…

Android 使用 Debug.startMethodTracing 分析方法耗时

参考 Generate Trace Logs by Instrumenting Your App 官网提供了 trace 工具来分析方法耗时。 生成 trace 文件 package com.test.luodemo.trace;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.os.Debug; import android.uti…

Elasticsearch:Node.js ECS 日志记录 - Winston

这是继上一篇文章 “Elasticsearch&#xff1a;Node.js ECS 日志记录 - Pino” 的续篇。我们继续上一篇文章来讲述使用 Winston 包来针对 Node.js 应用生成 ECS 向匹配的日子。此 Node.js 软件包为 winston 记录器提供了格式化程序&#xff0c;与 Elastic Common Schema (ECS) …

axios使用sm2加密数据后请求参数多了双引号解决方法

axios使用sm2加密数据后请求参数多了双引号解决 背景问题描述解决过程 背景 因项目安全要求&#xff0c;需对传给后端的入参加密&#xff0c;将请求参数加密后再传给后端 前期将axios降低到1.6.7后解决了问题&#xff0c;但最近axios有漏洞&#xff0c;安全要求对版本升级&…

软航文档控件VUE示例运行及控件替换方法记录

目录 示例运行 步骤一、npm install 步骤二、npm run dev 软航文档控件替换 附 vue小白记录一下软航文档控件VUE示例的运行方法以及示例中控件的替换过程。 示例运行 在已经安装好VUE环境的电脑上&#xff0c;VUE环境部署可以参考另一篇&#xff1a;配置VUE环境过程中 …

PHP红包拓客微信小程序系统源码

&#x1f389;红包狂欢&#xff0c;客源滚滚来&#xff01;红包拓客微信小程序&#xff0c;营销新利器&#x1f680; &#x1f9e7;一、创意红包&#xff0c;吸引眼球 你还在为如何吸引顾客而烦恼吗&#xff1f;红包拓客微信小程序来帮你&#xff01;&#x1f381; 它以创意红…

怎样在 C 语言中实现栈?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&#xff0c;看过的人都说好。 文章目…

IT运维也有自己的节日 724向日葵IT运维节,三大版本如何选?

“724运维节”&#xff0c;是2016年由开放运维联盟发起倡议&#xff0c;广大运维人员共同投票产生的属于运维人自己的节日。 对于运维人最大的印象&#xff0c;那就是工作都需要7x24小时待命&#xff0c;是名副其实的“日不落骑士”&#xff0c;这也是大家选择724这一天作为运…

【chatgpt消费者偏好】是什么驱动了游客持续旅游意愿?推文分享—2024-07-08

今天推文的主题是【chatgpt&消费者意愿】 第一篇&#xff1a;文章主要研究了什么因素驱动旅游者继续使用ChatGPT进行旅行服务&#xff0c;并从人类拟态的角度探讨了旅游者对ChatGPT的感知和使用意图。第二篇&#xff1a;本文探讨了ChatGPT-4在生成针对TripAdvisor上发布的…

【car】深入浅出学习机械燃油车知识、结构、原理、维修、保养、改装、编程

汽车的五大总成通常是指发动机、变速器、前后桥、车架和悬挂系统。 发动机&#xff1a;是汽车的动力来源&#xff0c;负责将燃料的化学能转化为机械能&#xff0c;驱动汽车行驶。常见的发动机类型有内燃机&#xff08;如汽油发动机、柴油发动机&#xff09;和电动机&#xff0…