[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning

news2024/11/26 5:40:05

1. 基本信息

题目论文作者与单位来源年份
The Power of Scale for Parameter-Effificient Prompt TuningBrian Lester等googleConference on Empirical Methods in Natural Language Processing2021

857 Citations

论文链接:https://arxiv.org/abs/2104.08691

论文代码:https://github.com/google-research/prompt-tuning

另外:

google-research/prompt-tuning

official kipgparker/soft-prompt-tuning

mkshing/Prompt-Tuning

corolla-johnson/mkultra

arazd/ProgressivePrompts

2. 要点

研究主题问题背景核心方法流程亮点数据集结论论文类型关键字
语言大模型微调针对之前的GPT-3的硬提示,这个提示可以通过监督数据进行学习的,学习软提示。与prefix-tuning的思想是差不多的,提出了prompt tuning,这里重点研究k个token,另外做了大量的实验对比。1. 在大型语言模型体系中提出“prompt tuning”并展示对于模型调优的竞争力;2. 通过消融实验,质量和鲁棒性,随着规模的增加而提高。3. 在跨域实验上,prompt tuning模型的微调。4. 提出“prompt ensembling” ,并实验证明它的有效性。superGLUE提过了GPT-3的少样本学习。多个下游任务重用一个冻结模型的能力可以减轻这一负担。这个方法可以看成是prefix-tuning的简化。提出prompt tuning,做了实验对比。soft promts, prompt tuning

soft prompts”区别于之前的GPT-3的硬提示,这个提示可以通过监督数据进行学习的。
进一步对调参数的优化:prompt tuning,冻结了整个预训练模型,并且只允许每个下游任务在输入文本中添加额外的k个可调token。

论文实验结果:T5模型在不同训练方式下的结果

pCCjq3V.png

3. 模型(核心内容)

传统模型微调与Prompt微调的区别

对于传统模型:对于每个具体的下游任务要求复制一份完整预训练模型,在推理时也必须是分开的批次。

对于Prompt tuning: 对于每个任务只要求保存一份比较小具体任务的提示,且可以混合多个任务的数据放在一个批次上。

pCCjVkn.png

模型把所有任务定义成文本到文本的生成。例如Prθ;θP (Y |[P; X]),Pr是T5模型,θ表示模型的权重参数,训练时要冻结的,θP为prompt那部分的参数,训练时会更新的,Y表示Token串,P表示prompt, X提示输入token串。

形式化如下的定义:原字符串为n个token, promt为p个token, 在输入时,两者是合并的,所以嵌入时的矩阵变成(p+n)* e 维度。

pCFZc8K.png

4. 实验与分析

pCFrlqg.png

结论:

Prompt参数长度: 当prompt参数长度超过20时,整体模型的效果提升并不是很明显。当预训练模型较大时,不同prompt参数长度的表现差异较小。

**Prompt参数初始化方案:**非随机初始化方法好于随机初始化,而Class Label效果相对更好,

sampled vocab 与 class label 的效果明显好于随机初始化。

  • Random Uniform方案从均匀分布中随机进行初始化;
  • sampled vocab:从T5的语料库中选择最常见的5000个词汇。
  • Class label:从下游任务中取label对应的 token中取。当一个label 存在 multi-token 时,取其平均值。如果数目不足,从sampled中取。

**预训练目标的影响:**作者认为使用这种不自然的sentinels来引导回答的学习方式对prompt不利。取消了预训练中的span corruption任务。

作者采用了 LM Adaptation (试图将T5转变成GPT3的风格),使得模型总是输出一个实际的文本。同时所有任务都被转变成了文本生成任务(与T5的 “text-to-text” 方法相似)。

另外,还有Domain shift实验:使用prompt方法确实比直接微调模型具有更好的泛化效果;

pCFLUsS.png

,Prompt Ensembling:在SueprGLUE任务上集成prompt预测的结果优于平均预测结果。

pCFLfZ4.png

5. 总结

实验还是比较多,有新发现。跟prefix-tuning很相似的。只是用的语言不同。

6. 知识整理(知识点,要读的文献,摘取原文)

一种由下游应用程序训练数据引导的离散单词空间上的搜索算法:AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts

Domain shift实验: 所谓Domain shift其实就是跨域实验,即训练集与测试集的分布是不同的,来测试模型的泛化性能。

**Span Corruption:**Span Corruption是T5 预训练任务之一,其将完整的句子根据随机的span进行掩码。如:原句:“Thank you for inviting me to your party last week”

Span Corruption之后得到输入: “Thank you [X] me to your party [Y] week”;目标:“[X] for inviting [Y] last [Z]”。其中 [X] 等一系列辅助编码称为 sentinels。

sentinel token其实是哨兵。

7. 参考文献

https://zhuanlan.zhihu.com/p/551174711

https://zhuanlan.zhihu.com/p/415168620

made by happyprince

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

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

相关文章

配置SSH远程登录和免密登录

上一篇我们已经讲了如何配置修改Linux的主机名和网络设置,这一篇我们来讲一下配置Linux的SSH免密登录。   首先讲一下我们为什么要配置SSH 免密登录,通过VMware Workstation工具操作虚拟机十分不方便,无法复制内容到虚拟机中,也…

Python使用多进程并行加速业务操作 完整代码

Python使用多进程并行加速业务操作 完整代码 需求分析 完整代码 本demo性能分析 Python中单线程、多线程和多进程的效率对比实验 需求分析 最近在对一个数据集进行处理,共2000条,每条去调一个第三方接口,耗时7-10秒。单线程处理一次要3.…

Vue - 项目编译速度、性能优化、打包体积优化

GitHub Demo 地址 在线预览 Vue - 项目编译速度、性能优化、打包体积优化 序一、编译速度优化1、使用缓存1.1、缓存插件 - HardSourceWebpackPlugin1.2、webpack5 配置cache1.3、cache-loader 插件 2、合理使用source-map3、多线程打包3.1、thread-loader3.2、parallel-webpac…

阿里5面,成功唬住面试官拿了21K,面试也没有那么难吧....

阿里的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。 全程 5 面,前四面技术面,电话面试,最后一面…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--08 Chatbot

08 Chatbot ChatGPT的一种重要功能是作为一个聊天机器人,本节将展示如何和ChatGPT进行对话 1) 不同的角色(Roles) 前面几节的课程中,我们通过如下函数调用ChatGPT的接口,输入用户输入的prompt,返回模型生…

第二章硬件入门之电容

第二章硬件入门之电容 文章目录 第二章硬件入门之电容一、电容是什么?二、实际应用场景常见电容:1.陶瓷电容(无正负极之分)1、旁路2、去耦 2.铝电解电容贴片式插件式3.安规电容x电容Y电容 总结 一、电容是什么? **电容…

【kernel exploit】CVE-2022-2602 UNIX_GC错误释放io_uring注册的file结构-UAF

本文主要参考 [漏洞分析] CVE-2022-2602 io_uring UAF内核提权详细解析 并做一些补充。 影响版本&#xff1a;Linux Kernel < v6.0.3。v6.0.3已修复。 测试版本&#xff1a;Linux-v6.0.2 &#xff08;v6.0.2 测试失败&#xff0c;v5.18.19测试成功&#xff09; exploit及测…

React Fiber 使用 MessageChannel + requestAnimationFrame 模拟实现 requestIdleCallback

由于 requestIdleCallback 兼容性较差且不支持 Safari&#xff0c;React Fiber 需要实现一个 requestIdleCallback polyfill 做浏览器兼容&#xff1b; MDN RequestIdleCallbackMDN RequestAnimationFrameMDN MessageChannel 以下为其使用 MessageChannel requestAnimationF…

vivado中ila的使用方法记录

ILA工具生成方法 一、 ILA工具介绍 在FPGA的开发中&#xff0c;当完成代码设计后&#xff0c;为了验证代码的准确性和各种不同条件下的可靠性&#xff0c;往往需要优先想到通过逻辑仿真进行相关验证。使用逻辑仿真进行验证虽然可以周密的考虑给出不同输入条件下的输出结果或交…

“智慧赋能 强链塑链”—— 汽车行业供应链管理数字化应用探讨

01车企供应链数字化的必要性 汽车供应链是一个复杂的系统&#xff0c;很多汽车企业因为供应链管理不当&#xff0c;造成资源浪费、成本高、客户满意度低等一系列问题&#xff1b;而汽车行业规模技术门槛高、配合协同复杂的特性&#xff0c;决定了其供应链缺口无法在短时间内填…

Three.js系列-报错export ‘Geometry‘ (imported as ‘THREE‘) was not found in ‘three‘

今天遇到报错export ‘Geometry’ (imported as ‘THREE’) was not found in ‘three’ port Geometry (imported as THREE) was not found in three (possible exports: ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, …

为什么大家都不用postman而选择 Apifox呢?

丢掉 Postman&#xff0c;Apifox 更香 作为开发者&#xff0c;丢掉 Postman 和 Jmeter吧&#xff0c;这款国产 API 工具更香&#xff0c;更安全&#xff01;一键即可导入 Postman 数据&#xff01; 一、Apifox 是什么&#xff1f; 1、Apifox 定位 Apifox Postman Swagger …

Altium Designer(AD)局域网内使用解冲突

1. Altium Designer 版本 AD15.0.8&#xff0c;电路设计软件&#xff0c;硬件工攻城狮必备技能&#xff0c;软件攻城狮也要会一点点 2. AD软件出现“Your license is already used on computer “LAPTOP-F99R6OR1” using product “AltiumDesigner” 用同事的安装包解压安装的…

Mysql 索引详细解析——底层->应用

1、索引的数据结构 1.1 概述 索引&#xff08;index&#xff09;是帮助Mysql高效获取数据的数据结构。 索引的本质&#xff1a; 索引是数据结构。简单理解为“排好序的快速查找数据结构”&#xff0c;满足特定查找算法。这些数据结构以某种方式指向数据&#xff0c; 这样就可…

期末计算机网络知识点总结

开篇提示: 因为博主图床使用的是GitHub进行存储的&#xff0c;因此当出现图片无法加载&#xff0c;可以尝试更换网络&#xff0c;或者用其他上网方法。当时想用 Gitee进行存储&#xff0c;但一直失败&#xff0c;过一段时间再试几次。目前这篇博文会一直更新&#xff0c;补充新…

Python的内置函数和保留字(关键字)

目录 内置函数 关键字&#xff08;保留字&#xff09; 内置函数 Python 解释器自带的函数叫做内置函数&#xff0c;这些函数可以直接使用&#xff0c;不需要导入某个模块。 将使用频繁的代码段封装起来&#xff0c;并给它起一个名字&#xff0c;以后使用的时候只要知道名字就可…

虹科分享 | 《面向金融行业的商业智能解决方案》白皮书

在以数据为中心的商业环境中&#xff0c;金融业面临着众多挑战&#xff0c;包括瞬息万变的市场动态、监管要求以及客户期望。金融行业从各种来源生成大量数据&#xff0c;包括交易、客户互动、市场数据和内部运营等。然而&#xff0c;如果缺乏有效的数据管理和分析&#xff0c;…

算法修炼之筑基篇——筑基二层后期(初步理解解决贪心算法)

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇 &#x1f353;专栏&#xff1a;算法修炼之筑基篇 ✨博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了&#xff0c;下来…

【opencv】无法打开源文件opencv.hpp | bug记录

问题描述 今天这个bug其实比较搞笑&#xff1a; 原因分析&#xff1a; 那就是我们的VS软件没有识别到安装的库。肯定是下面三个环节哪里出错了&#xff1a; 1&#xff09;项目属性里的包含目录&#xff08;include&#xff09; 2&#xff09;项目属性里的库目录(lib) 3&…

随笔记录阿里云开发者社区Java开发高级技能自测20道题

目录 【单选】1.MyBatis中&#xff0c;主要使用哪个Java 接口来执行SQL命令&#xff1f;【单选】2.Spring中ApplicationContext的主要用法是&#xff1f;【单选】3.MySQL中&#xff0c;使用正则表达式查找news表中title以S或Q或L字母开头的所有数据&#xff0c;语句是&#xff…