P-Tuning v2:一种普遍有效的提示调整方法

 人工智能咨询培训老师叶梓 转载标明出处

预训练语言模型通过微调(fine-tuning)来适应特定任务虽然效果显著,但存在训练成本高、参数存储量大等问题。为了解决这些问题,清华大学的研究者们提出了一种名为P-Tuning v2的提示调整(prompt tuning)方法,该方法在不同规模的模型和多种自然语言理解(NLU)任务中表现出与微调相媲美的性能,同时大幅减少了训练时的存储和内存使用。

图1显示在SuperGLUE开发集上,不同规模的预训练模型(从330M到10B参数)在RTE、BoolQ和CB任务上的平均得分。P-Tuning v2的关键特点包括:

  • 多层面的提示调整:与传统的仅在输入层进行提示调整的方法不同,P-Tuning v2在模型的每一层都添加了提示,使得模型能够更直接地响应任务特定的需求。
  • 参数效率:P-Tuning v2只需要调整极小比例的参数(0.1%-3%),大大降低了训练时的内存成本和任务存储成本。
  • 通用性和简单性:P-Tuning v2在不同规模的模型和多种NLU任务上都表现出色,证明了其通用性和作为未来研究强基线(strong baseline)的潜力。

论文链接:https://arxiv.org/pdf/2110.07602

方法

图 2 展示了P-Tuning v2与其他提示调整方法的区别。图中橙色块表示可训练的提示嵌入(trainable prompt embeddings),而蓝色块表示由冻结的预训练语言模型存储或计算的嵌入。这种设计使得P-Tuning v2在不同规模和任务上都能达到与微调相媲美的性能。

(a):这一部分展示了Lester et al. (2021) 和 P-tuning 方法的结构,主要用于处理简单任务,且模型规模为10亿参数级别。在这种方法中,可训练的提示嵌入被添加到输入序列中,而预训练模型的参数则被冻结。尽管Lester et al. (2021) 和 Liu et al. (2021) 在许多自然语言处理(NLP)应用中表现出色,但在模型规模和任务上的普遍性不足,限制了它们替代微调的能力。特别是对于中等规模的模型(参数量从100M到1B),提示调整的性能远不如微调。

(b):这一部分展示了P-tuning v2 方法的结构,它适用于大多数模型规模和任务。P-Tuning v2采用了深度提示调整策略。与之前的方法相比,P-Tuning v2在模型的多个层次上引入了可训练的连续提示,而不仅仅是输入层。这种策略不仅增加了可训练参数的数量,提高了任务特定性能,而且通过在更深层次添加提示,直接增强了模型预测的能力。

如图2所示P-Tuning v2的结构中,提示被添加到不同的Transformer层作为前缀标记。一方面,P-Tuning v2具有更多的可训练任务特定参数(从0.01%到0.1%-3%),这允许更多的任务特定容量,同时保持参数效率;另一方面,添加到更深层次的提示对模型预测有更直接的影响。

为了实现最佳性能,P-Tuning v2在优化和实现方面进行了细致的调整。例如:

重参数化:研究发现其对不同任务和数据集的效果不一。在某些数据集(如RTE和CoNLL04)上,使用MLP(多层感知机)作为重参数化编码器可以带来一致的性能提升;而在其他数据集(如BoolQ和CoNLL12)上,MLP的效果则不明显。

提示长度: 提示长度在P-Tuning v2中起着至关重要的作用。研究者们发现,不同的NLU任务通常需要不同长度的提示来达到最佳性能。简单分类任务倾向于较短的提示,而复杂序列标注任务则需要更长的提示。

多任务学习: P-Tuning v2支持多任务学习,这可以在微调各个任务之前,通过共享连续提示共同优化多个任务,从而提供更好的初始化,进一步提升性能。

表 1 展示了P-Tuning v2与现有提示调整方法的概念比较。表中列出了不同方法在任务、重参数化、深度提示调整和多任务学习等方面的支持情况。P-Tuning v2在这些方面都表现出了较高的灵活性和适应性。

通过这些优化和实现细节,P-Tuning v2不仅在技术上实现了显著的改进,而且在实际应用中也展现出了广泛的适用性和高效性。研究者们的这些发现为未来NLU任务的研究和应用提供了新的视角和工具。

想要掌握如何将大模型的力量发挥到极致吗?2024年10月26日叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。

留言“参加”即可来叶老师的直播间互动,1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

实验

表 2 展示了 P-Tuning v2 在不同模型规模上的表现。研究者们使用了从 335M 到 10B 不同规模的模型进行实验,包括 BERT-large、RoBERTa-large、GLMxlarge/xxlarge。

在 SuperGLUE 基准测试中,P-Tuning v2 在小于 10B 规模的模型上超越了 Lester et al. (2021) 和 P-tuning,与微调(fine-tuning)的性能相匹配。特别是在 RTE 任务上,P-Tuning v2 显著优于微调。

对于更大的模型规模(2B 到 10B),P-Tuning v2 与微调之间的性能差距逐渐缩小。在 10B 规模上,P-Tuning v2 显示出与微调相当的性能,但仅需要 0.1% 的任务特定参数。

表 3 展示了 P-Tuning v2 在命名实体识别(NER)、抽取式问答(Extractive QA)和语义角色标注(SRL)等任务上的表现。

P-Tuning v2 在所有任务上通常与微调相当。特别是在 QA 任务上,P-Tuning 和 Lester et al. (2021) 显示出较差的性能,这可能是因为 QA 任务的复杂性。多任务学习为 P-Tuning v2 在大多数任务上带来了显著的性能提升,除了 QA 任务。

表 4 比较了在 RoBERTa-large 模型上使用 [CLS] 标签与线性头和使用 verbalizer 与语言模型头的效果。研究者们发现,使用 [CLS] 标签与线性头与使用 verbalizer 与语言模型头在性能上没有显著差异。

图 3 展示了在 BERT-large 模型上进行的关于提示深度的消融研究。研究者们探讨了在不同 Transformer 层添加连续提示的影响。结果显示,将相同数量的提示添加到更接近输出层的深层(例如,17-24 层)比添加到较浅层能带来更好的性能。

通过这些实验,研究者们证明了 P-Tuning v2 在不同规模的模型和多种 NLU 任务上的普遍有效性。P-Tuning v2 通过深度提示调整,不仅提高了模型的性能,还显著减少了所需的任务特定参数数量,使其成为一种高效的参数调整方法。这些发现为未来 NLU 任务的研究和应用提供了新的视角和工具。

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

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

相关文章

colab+ngork本地访问多模态大模型

allenai/Molmo-7B-D-0924 1)colab准备环境,我这里用的是l4 2)安装对应的python库 !pip install transformers Pillow requests einops!pip install accelerate>0.26.0 bitsandbytes!pip install --no-deps accelerate bitsandbytes !p…

怎么将手机备忘录传送至电脑

在数字化时代,手机备忘录已成为我们生活中不可或缺的一部分。无论是记录购物清单、工作事项,还是灵感闪现的瞬间,手机备忘录都能随时记录下这些宝贵的信息,帮助我们防止遗忘。然而,有时候我们需要将这些备忘录内容转移…

数字影像技术平台推动可持续发展创意产业

在这个日新月异的数字时代,数字影像技术平台正以前所未有的力量,为可持续发展创意产业注入勃勃生机与无限可能。它们不仅是技术革新的前沿阵地,更是推动社会进步、促进文化繁荣的绿色引擎。 从高清细腻的VR体验,到震撼人心的AR互…

Tailwind Css的使用

1.Tailwind Css是什么 官网解释:Tailwind CSS 的工作原理是扫描所有 HTML 文件、JavaScript 组件以及任何 模板中的 CSS 类(class)名,然后生成相应的样式代码并写入 到一个静态 CSS 文件中。 我的理解是利用Tailwind CSS 提供的…

共享单车轨迹数据分析:以厦门市共享单车数据为例(十)

副标题:共享单车与地铁站出入口分布情况探究——以厦门市为例 假期结束了,我们满血复活,继续更新! 本篇文章我们讨论共享单车与地铁出入口的关系,在上一篇文章中,我们讨论了综合得分指数最高的地铁站——…

利用可解释性技术增强制造质量预测模型

概述 论文地址:https://arxiv.org/abs/2403.18731 本研究提出了一种利用可解释性技术提高机器学习(ML)模型性能的方法。该方法已用于铣削质量预测,这一过程首先训练 ML 模型,然后使用可解释性技术识别不需要的特征并去…

安装echarts报错:request to https://registry.npmjs.org/echarts-gl failed

Hello!欢迎各位新老朋友来看小弟博客,祝大家事业顺利,财源广进!! 主题:安装echarts报错:request to https://registry.npmjs.org/echarts-gl failed 第一:报错问题:链接…

Codeforces Round 923 (Div. 3) F. Microcycle

题目 【坑点】:不能先用拓扑排序去掉“线头”,然后找权重最小的边所在的环。因为去掉线头后,可能有的边不在环内。 e.g.有六条无向边 1 - 2 , 2 - 3, 1 - 3, 4 - 5, 5 - 6, 4 - 6, 1 - 4, 边1 - 4不在环内 wa代码: #include &…

【FPGA开发】Modelsim仿真精度的坑

问题所在 最近在使用黑金的AXU3EG板卡对着正点原子ZYNQ7020的例程进行移植学习。但在编写tb代码以及使用modelsim进行仿真时出了问题,发现我的实际波形与正点的对不上,仔细测量一下波形发现,我的系统时钟是6ns周期,而不是理想中的…

儿童(青少年)可以参加哪些含金量高的比赛?

随着素质教育的推进,越来越多的家长和老师开始关注如何培养孩子的综合素质和能力。而参加各类比赛,不仅可以锻炼孩子的思维、动手能力和团队合作精神,还能帮助孩子在学习的过程中找到兴趣点和成就感。尤其是一些含金量高的比赛,不…

QT实现QMessageBox中文按钮

这是我记录Qt学习过程心得文章的第二篇,主要是为了方便QMessageBox弹出框的使用,通过自定义的方式,将其常用的功能,统一封装成一个函数,还是写在了Skysonya类里面。 实现代码: //中文提示对话框 bool Sky…

DAMA数据管理知识体系(第12章 元数据管理)

课本内容 12.1 引言 图12-1 语境关系图:元数据概念理解 元数据的信息范围很广,不仅包括技术和业务流程、数据规则和约束,还包括逻辑数据结构与物理数据结构等。它描述了数据本身(如数据库、数据元素、数据模型)&#x…

noexcept

作用 性能优化:当一个函数声明为noexcept时,编译器可以假设该函数不会抛出异常,从而避免生成与异常处理相关的额外代码。这可以减少程序的运行时开销,特别是在那些不使用异常的代码路径上。 使用 通const一样,声明和…

java动态规划背包问题

代码功能 在不超过给定背包容量(capacity)的前提下,从一系列具有特定重量(weights)和价值(values)的物品中选择若干物品,使得这些物品的总价值最大化。 类定义:定义了一…

C++实现AVL树增删查

目录 1. AVL的概念 (1)名字的由来 (2)什么是AVL树 (3)实现方法 (4)为什么高度差是1 (5)对比二叉搜索树 2. AVL树的结构 3. AVL树的功能 (1…

芝法酱学习笔记(0.7)——harbor与项目容器化部署

前言 之前我们主要讲的jar包部署。使用jar包部署可能导致不同服务互相争抢资源(隔离性),不同服务可能需要不同的jdk环境,有时也会造成困扰。故在微服务时代,我们通常使用docker部署 一、docker安装 docke相关的知识…

新硬盘第一次使用需要怎样做?

无论是组装新电脑,还是给现有电脑增加存储空间,我们需要进行一些安装硬盘和设置硬盘的操作。对于没有相关经验的用户来说,对于拿到手的新硬盘会感到手足无措,不知道应该从哪里开始。今天小编详细介绍一下新硬盘第一次使用时的流程…

Qt-窗口布局按钮输入类

1. 窗口布局 Qt 提供了很多摆放控件的辅助工具(又称布局管理器或者布局控件),它们可以完成两件事: 自动调整控件的位置,包括控件之间的间距、对齐等; 当用户调整窗口大小时,位于布局管理器内的…

AI没有是非观的原因

人工智能没有价值观的原因主要可以归结为只有数据驱动的被动性相关算法,没有主动干预性及其反事实关系: (1)数据被动驱动 AI的学习、分析、预测只依赖于大量的数据,并通过模式识别和统计分析建立关联。而这些数据本身可…

【算法】链表:2.两数相加(medium)+模拟

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法 (模拟) 4、代码 1、题目链接 2. 两数相加 - 力扣(LeetCode) 2、题目介绍 3、解法 (模拟) 理解题目要求: 我们有两个链表,每个链表代表一个…