【论文笔记】The Power of Scale for Parameter-Efficient Prompt Tuning

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: The Power of Scale for Parameter-Efficient Prompt Tuning
作者: Brian Lester, Rami Al-Rfou, Noah Constant
发表: EMNLP 2021
arXiv: https://arxiv.org/abs/2104.08691

基本信息

摘要

在这项工作中,我们探讨了“prompt tuning”,这是一种简单而有效的机制,用于学习“soft prompt”以条件化冻结的语言模型执行特定下游任务。

与GPT-3使用的离散文本提示不同,soft prompt是通过反向传播学习的,并且可以调整以包含来自任意数量token示例的信号。

我们端到端的学习方法在少样本学习方面优于GPT-3。

更令人惊讶的是,通过使用T5在模型大小上的消融实验,我们表明提示微调在规模上变得更加具有竞争力:当模型超过数十亿参数时,我们的方法缩小了差距并匹配了模型微调(所有模型权重都进行调整)的强大性能。

这一发现尤其相关,因为大型模型成本高昂且难以共享和部署,而能够重复使用一个冻结模型执行多个下游任务可以减轻这一负担。

我们的方法可以看作是Li和Liang最近提出的“prefix tuning”的简化,我们提供了与这一方法和其他类似方法的比较。

最后,我们表明,使用soft prompt条件化冻结模型可以带来在领域迁移中的鲁棒性优势,并使“prompt ensembling”变得高效。我们发布了代码和模型检查点以重现我们的实验。

Standard model tuning of T5 achieves strong performance, but requires storing separate copies of the model for each end task

prompt tuning、全量微调、使用GPT-3生成提示词三种方法之间的比较。

主要贡献

  1. 提出了prompt tuning,并展示了其在大型语言模型调整机制中的竞争力。
  2. 对许多设计选择进行了消融,并展示质量与鲁棒性随规模提升而提高。
  3. 展示了prompt tuning优于全量微调在领域迁移问题上的表现。
  4. 提出了“prompt ensembling”并展示其有效性。

Prompt Tuning

Model tuning requires making a taskspecific copy of the entire pre-trained model for each downstream task and inference must be performed in separate batches

prompt tuning只需要为每个下游任务训练一个soft prompt,而全量微调需要训练整个模型。

给定一系列 n n n 个token, { x 1 , x 2 , … , x n } \{x_1, x_2, \ldots, x_n\} {x1,x2,,xn},T5 首先做的是嵌入这些token,形成一个矩阵 X e ∈ R n × e X_e \in \mathbb{R}^{n \times e} XeRn×e,其中 e e e 是嵌入空间的维度。soft prompt被表示为一个参数 P e ∈ R p × e P_e \in \mathbb{R}^{p \times e} PeRp×e,其中 p p p 是prompt的长度。然后,soft prompt被连接到嵌入的输入上,形成一个单一的矩阵 [ P e ; X e ] ∈ R ( p + n ) × e [P_e; X_e] \in \mathbb{R}^{(p+n) \times e} [Pe;Xe]R(p+n)×e,然后像往常一样通过编码器-解码器。训练模型以最大化 Y Y Y 的概率,但只有prompt参数 P e P_e Pe 被更新。

Prompt Ensemble

对一个下游任务训练多个Prompt,然后集成多个Prompt而不是多个模型。

实验

Ablations of various hyperparameters on prompt tuning performance (mean and stddev across 3 runs)

各种超参数对prompt tuning性能的影响。

Parameter usage of various adaptation techniques, fixing architecture to T5 1.1 and prompt/prefix length to 1–100 tokens (bands show mean and stddev)

与其他相似方法的比较。在具有可学习参数的方法中,提示调整是最参数高效的,对于超过十亿参数的模型,只需要不到0.01%的任务特定参数。

F1 mean and stddev for models trained on SQuAD and evaluated on out-of-domain datasets from the MRQA 2019 shared task

Mean and stddev of zero-shot domain transfer between two paraphrase detection tasks

领域迁移问题上的表现。

Performance of a five-prompt ensemble built from a single frozen T5-XXL model exceeds both the average and the best among the five prompts

prompt ensemble与prompt平均性能以及单个最好性能的比较。

总结

在这篇论文中,我们展示了prompt tuning是一种将冻结预训练语言模型适应下游任务的竞争性技术。

在流行的SuperGLUE基准上,其任务性能与传统模型调整相当,随着模型规模的增加,差距逐渐消失。

在零样本领域迁移中,我们发现prompt tuning导致了更好的泛化。这很可能表明,冻结通用语言理解参数并将下游学习限制在轻量级参数足迹内,有助于避免对特定领域的过度拟合。

除了任务质量指标之外,我们还讨论了转向冻结预训练模型在存储和服务器成本方面的吸引力。这一举措既实现了高效的多任务服务,也实现了高效的高性能提示集成。

展望未来,我们认为将任务定义参数与通用语言模型参数区分开来是一个令人兴奋的步骤,它为新的研究开辟了许多途径。

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

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

相关文章

前端入门一之BOM、window对象常见事件、定时器、JS执行机制、location对象、navigatior对象、history对象

前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点,这篇是BOM;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 BOM1、BOM概述2、window对象…

LeetCode 56.合并区间

思路: 类似于用最少的箭射气球题目,最主要是要处理区间之间是否有重叠,如果无重叠则加入数组,如果有重叠,则需要重新设判断的边界,与下一个区间继续判断。 难点在于 代码用法 需熟练掌握 思想简单&#…

14.UE5爆炸伤害,场景变暗,时间轴

2-16 爆炸伤害,球体监测,场景变暗、时间轴_哔哩哔哩_bilibili 目录 1.UE5的爆炸伤害 ​2.后期盒子实现场景变暗 1.UE5的爆炸伤害 进入流星火雨的发射物蓝图编辑器中 对我们以前的重叠事件进行回顾,并修改使之实现爆炸伤害的效果 这是我们…

现代无线通信接收机架构:超外差、零中频与低中频的比较分析

写在前面:本博客是对三种接收机架构的学习笔记,仅供个人学习记录使用。内容主要是上网查阅的资料,以及个人的一些理解。如有错误的地方请指出! 文章目录 一、通信机基本架构1、射频发射级的基本组成及完成功能2、射频接收级的基本…

工业4.0时代下的人工智能新发展

摘要:随着德国工业4.0时代以及中国制造2025的提出,工业智能化的改革的时代正逐渐到来,然而我国整体工业水平仍然处于工业2.0水平。围绕工业4.0中智能工厂、智能生产、智能物流这三大主题,结合国内外研究现状,对人工智能…

[ Linux 命令基础 5 ] Linux 命令详解-网络管理命令

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

计算机课程管理:Spring Boot实现的工程认证解决方案

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足,创建了一个计算机管理基于工程教育认…

【eNSP】企业网络架构链路聚合、数据抓包、远程连接访问实验(二)

一、实验目的 网络分段与VLAN划分: 通过实验了解如何将一个大网络划分为多个小的子网(VLAN),以提高网络性能和安全性。 VLAN间路由: 学习如何配置VLAN间的路由,使不同VLAN之间能够通信。 网络设备配置&am…

Ubuntu 的 ROS 2 操作系统安装与测试

引言 机器人操作系统(ROS, Robot Operating System)是一种广泛应用于机器人开发的开源框架,提供了丰富的库和工具,支持开发者快速构建、控制机器人并实现智能功能。 当前,ROS 2 的最新长期支持版本为 Humble Hawksbil…

软件工程笔记一

目录 软件的概念、特性和分类 软件与程序 软件的特性 软件的分类 软件危机与软件工程 软件危机 如何摆脱软件危机? 软件工程概念的提出 什么是软件工程? 软件工程的若干定义 系统工程的目标 软件工程的基本原理 软件工程的目标 软件的质量特性 软件生存…

CEO代码 (CEO Code)

https://caseinterview.com/wp-content/uploads/2015/10/The-CEO-Code-Rules-by-Victor-Cheng.pdf 源自 Victor Cheng CEO们使用一种特殊的语言。这种语言不是英语、西班牙语、普通话或印地语,而是一种置于我们日常语言之上的元语言。 CEO们很快就能识别出谁能说这…

LVGL实现冒泡事件

在LVGL(LittlevGL)中,事件冒泡是一个重要的概念,它允许事件从一个对象传递到其父对象,直到找到一个能够处理该事件的对象或者达到顶层对象。以下是如何在LVGL中实现和使用事件冒泡的概述: 事件冒泡的理解 …

深入理解计算机系统-信息的表示和处理

2.1 信息存储 大多数计算机使用8位的块,或者字节,作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。 内存的每个字节都由一个唯一的数字来表示,称为它的…

JAVA-顺序表ArrayList(实现ArrayList)

1.线性表 线性表 ( linear list ) 是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列... 线性表在逻辑上是线性结构,也就说是连续的一条直线。…

DCN DCWS-6028神州数码 AC 设备配置笔记

DCN DCWS-6028神州数码 AC 设备配置笔记 一、前期准备 PC 电脑网络配置 目的:使 PC 能够访问 AC 的 web 管理控制台。配置详情:web 管理控制台地址为 192.168.1.10,将 PC 电脑 IP 地址配置在 192.168.1.1 - 192.168.1.254 网段内,如 192.168.1.110,子网掩码 255.255.255.…

树概念及结构

树概念及结构 6.1 树概念及结构6.1.1 树的概念6.1.2 树的术语解读6.1.3 树的表示 6.1 树概念及结构 6.1.1 树的概念 类似八股文一样的东西,需要记一下。 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系…

MySQL主从复制原理

MySQL主从复制是一种异步、基于日志的、单向的数据库复制技术,它通过在主服务器上启用二进制日志(binlog)并将其发送给一个或多个从服务器,实现了从服务器与主服务器之间的数据同步。以下是MySQL主从复制原理的详细解释&#xff1…

AMD-OLMo:在 AMD Instinct MI250 GPU 上训练的新一代大型语言模型。

AMD-OLMo是一系列10亿参数语言模型,由AMD公司在AMD Instinct MI250 GPU上进行训练,AMD Instinct MI250 GPU是一个功能强大的图形处理器集群,它利用了OLMo这一公司开发的尖端语言模型。AMD 创建 OLMo 是为了突出其 Instinct GPU 在运行 “具有…

Spring Boot框架:构建符合工程认证的计算机课程

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

实现链式结构二叉树

目录 需要实现的操作 链式结构二叉树实现 结点的创建 前序遍历 中序遍历 后序遍历 计算结点个数 计算二叉树的叶子结点个数 计算二叉树第k层结点个数 计算二叉树的深度 查找值为x的结点 销毁 层序遍历 判断是否为完全二叉树 总结 需要实现的操作 //前序遍历 void …