【斯坦福cs324w】中译版 大模型学习笔记九 大模型之Adaptation

news2024/11/21 2:34:19

文章目录

  • 引言
    • Adaptation的必要性
      • 从llm的训练过程分析
      • 从下游任务和原始训练任务之间的差异分析
    • 通用的Adaptation配置
  • 当前主流的Adaptation方法
    • Probing
    • Fine-tuning
    • Lightweight Fine-tuning
      • Prompt Tuning
      • Prefix Tuning
      • Adapter Tuning
  • 参考资料

在特定领域的下游任务中,仅仅使用prompt方法是不够的,我们需要使用特定于任务的数据或领域知识来针对下游任务进⾏适配
image.png

引言

Adaptation的必要性

从两个角度进行说明:llm的训练过程和下游任务与原始训练任务之间的不同之处的分析

从llm的训练过程分析

llm使用的是task-agnostic(任务不可知)的
这给llm带来了灵活性和广泛适用性,但也会出现通用模型在特定任务上不如专门为该任务训练的模型表现好

从下游任务和原始训练任务之间的差异分析

格式不同
举个例子,BERT模型训练过程中使用了MASK标记,但很多downstream task中是不使用这些标记的,比如NLI(自然语言推理)是比较两个句子后产生单一的二进制输出,这和llm根据上下文产生下一个标记是很不同的
主题需求
downstream tasks往往集中在特定的领域,这需要模型有相关的知识
时间转变
模型训练时使用的资料是有时限性、有资料使用的范围限制的
某些downstream task往往需要考虑到最新信息、在训练期间不公开的信息

通用的Adaptation配置

五个步骤
预训练模型(Pre-trained LM)
下游任务数据集(Downstream Task Dataset)
适配参数(Adaptation Parameters)
任务损失函数(Task Loss Function)
优化问题(Optimizaiton Problem)
image.png
image.png
image.png
image.png

当前主流的Adaptation方法

Probing

通常的用法
分析和理解模型内部表示的技术
举个例子:在BERT模型的训练中,我们可以引入一个词性标注分类器,将BERT模型的编码器部分的输出结果作为词性标注分类器的输入,根据分类器结果判断BERT的编码部分是否将模型输入token的词性信息进行了编码
如何进行llm的Adaptation
通过线性的或浅前馈网络学习预训练模型的输出,固定预训练模型的权重,训练probing部分的网络
固定长度表示的策略
处理的问题在于很多下游任务,如分类需要固定长度的输出(如何将L个嵌入向量经过probing之后得到一个向量)
方法一:CLS策略,CLS token对应的嵌入向量作为“序列级”嵌入,CLS token被放在整个token序列的第一个位置
方法二:平均化token策略,对L个token向量求平均之后作为probing网络的输入

Fine-tuning

使用llm的参数 θ \theta θ作为初始值的优化过程
特点
学习率比pre-train过程小,微调时长比pre-train过程小
存储量大,需要存储每个downstream task专门化的llm
性能比probing策略好
fine-tuning过程
收集⼈类书写的示范⾏为,即得到训练数据,进行有监督微调
利用人类反馈进行微调
使用强化学习目标微调

Lightweight Fine-tuning

轻量级微调
目标
减小模型存储需求(不需要存储每一个downstream task对应的llm)和计算负担、保持和全面微调同样的性能
主要方法
提示微调(prompt tuning):用户输入导向模型输出,通过在input上添加可学习的标记嵌入实现
前缀调整(prefix tuning):调整llm输入的又一种方式
适配器调整(adapter tuning):在模型的hidden layer之间插入可训练的adapter
有效性

  1. 提供了一种实现个性化模型的方法,例如通过prefix tuning技术,我们存储N个前缀,实现为N个用户部署模型,这些个性化模型是能够做到并行化运行的
  2. 提升模型鲁棒性,相较于全面微调,lightweight fine-tuning能够改善模型在分布外数据集上的性能

Prompt Tuning

主要用于文本分类任务
原理
通过在输⼊前添加k个可学习的、连续的标记嵌入来⼯作
则得到新的输入长度为 L ′ = L + k L'=L+k L=L+k
初始化策略
随机词汇词嵌入(Embedding of random vecab words)
类标签词嵌入(Embedding of class label words)

Prefix Tuning

用于语言生成任务
具体操作
在输入的开始处加入k个位置,在每个注意⼒层连接额外的可学习权重,作为键(key)值(value)

Adapter Tuning

具体操作
在每个Transformer层之间添加新的学习"bottleneck"层
adapter定义
image.png

参考资料

  1. datawhale so-large-lm学习资料

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Git】轻松学会 Git(一):掌握 Git 的基本操作

文章目录 前言一、创建 Git 本地仓库1.1 什么是仓库1.2 创建本地仓库1.3 .git 目录结构 二、配置 Git三、认识 Git 的工作区、暂存区和版本库3.1 什么是 Git 的工作区、暂存区和版本库3.2 工作区、暂存区和版本库之间的关系 四、添加文件4.1 添加文件到暂存区和版本库中的命令4…

面试官:Redis基本命令有哪些,Redis怎么实现分布式锁?

哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 文章目录 一、Redis基本数据类型与使用场景1、S…

IP地址定位的特点

IP地址定位是一种广泛应用于网络领域的技术,它允许我们确定特定设备或用户在互联网上的位置。这项技术在很多方面都具有重要的特点,本文将深入探讨这些特点。 1.全球性覆盖: IP地址定位IP66_ip归属地在线查询_免费ip查询_ip精准定位平台具有全…

macOS Sonoma 14 正式版(23A344)发布,附黑/白苹果镜像下载地址

系统介绍(系统下载地址:http://www.imacosx.cn/115300.html) 黑果魏叔9 月 27日消息,苹果今日向 Mac 电脑用户推送了 macOS Sonoma 14 正式版(23A344)。 macOS 14正式版系统发布:全新功能与改…

Linux:理解进程的多种状态

文章目录 理解状态运行状态阻塞状态挂起状态Linux系统下的进程状态的解析状态的查看 本篇总结的是进程的多种状态 对于进程的状态理解,在教材上通常是有下面的思维模式图 那么如何理解上面图片中的内容? 理解状态 如何理解状态?其实理解状…

什么是HTTP头部(HTTP headers)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 理解 HTTP 头部(HTTP Headers)⭐ HTTP 头部的分类⭐ HTTP 头部的应用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦&#x…

基于Python Django的公务员考试信息管理系统

文章目录 1 简介2. 技术栈3 功能分析4 功能具体设计4.1 软件功能模块设计4.2数据库设计与实现4.2.1概念模型设计4.2.2数据库逻辑结构设计 5系统详细设计5.1系统功能模块5.2管理员功能模块 六 源码咨询 1 简介 公务员考试信息管理系统的开发运用Python技术,MIS的总体…

8月数据出炉!NOA与激光雷达「分道扬镳」?降本大战升级

对于激光雷达赛道来说,如何在市场整体需求更加偏向强调性价比的背景下,继续维持前装出货的增速,已经成为新的考验。 进入2023年,高阶智驾(中国市场以NOA为代表),继续保持向上势头。8月&#xff…

Archlinux Timeshift的系统备份与还原

服务器在滚挂或误删系统文件,timeshift系统备份与还原的情景: 安装 timeshif 1 yay -s timeshif 备份设置 选择快照类型 此处选择【RSYNC】 选择储存位置 每台设备安装分区不一样,大家安装实际情况选择,一般选择比较大的空间存储,并且最好是机械,这样不容易损坏 设置计…

实战项目:VB实现小鸟快跑小游戏

文章目录: 一:效果演示 二:实现思路 三:代码实现 form1 效果图 代码 form2 效果图 代码 一:效果演示 效果图◕‿◕✌✌✌ 代码下载 二:实现思路 窗口1 就是实现窗口的跳转和关闭窗口2 1.先添加背…

【接口测试】Chrome浏览器F12调试工具抓包详细分析(超细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 调试时使用最多的…

Docker网络+资源控制

一、Docker网络 Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。…

【计算机网络】IP数据报首部格式、最大传输单元MTU、最大分段大小MSS

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多计算机网络知识专栏&#xff1a;计算机网络&#x1f525; 给大家跳段…

【生育险报销】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

计算机视觉与深度学习-图像分割-视觉识别任务03-实例分割-【北邮鲁鹏】

目录 参考定义Mark R-CNN结构思路Mask R-CNN训练阶段使用的Mask样例Mask R-CNN实例分割结果Mask R-CNN检测姿态 参考 论文题目&#xff1a;Mask R-CNN 论文链接&#xff1a;论文下载 论文代码&#xff1a;Facebook代码链接&#xff1b;Tensorflow版本代码链接&#xff1b; K…

51单片机3【单片机的种类】

1.51单片机发展史 1. 发展史 &#xff08;1&#xff09;总结&#xff1a;早期是不分单片机和其他CPU的&#xff0c;早期都是一起的&#xff0c;后来应用级别的高端CPU相继推出用于别的行业&#xff08;PC&#xff0c;手机&#xff09;其中一支专用与低性能&#xff0c;低价格作…

Java基础简单整理

文章目录 Java语言具有以下特点&#xff1a;Java SE vs Java EEJVM vs JDK vs JRE为什么说 Java 语言编译与解释并存&#xff1f;Java 和 C 的区别?Java注释用法&#xff1a;Java标识符Java基本数据类型链接Java字符串类型链接基本类型和包装类型的区别&#xff1f;静态方法为…

Unity实现设计模式——观察者模式

Unity实现设计模式——观察者模式 观察者设计模式定义了对象间的一种一对多的组合关系&#xff0c;以便一个对象的状态发生变化时&#xff0c;所有依赖于它的对象都得到通知并自动刷新。 简单来说就是某个人需要收到通知只需要订阅这个通知&#xff0c;当通知发送时会发送到每…

自定义热加载:如何不停机实现核心代码更新

文章目录 1. 常见的几种实现代码热更新的几种方式对于开发环境我们可以使用部署环境1. 使用 Arthas 的 redefine 命令来加载新的 class 文件2. 利用 URLClassLoader 动态加载3. 通过Java的Instrumentation API 也是可以实现的 2. 实现1. ClassScanner扫描目录和加载类2. 定时任…

system trace

adb shell stopadb shell start //重启adb 数据会干净点adb shell //也试过在adb shell 外面dump system trace&#xff0c;但是同样的参数dump出来看不到如此详细&#xff0c;比如makeApplication的时长&#xff0c;线程执行被中断等atrace -z -b 40000 am wm view res ss g…