P-Tuning v2,Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks
P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and TasksPrompt tuning 只用冻结的语言模型来调整连续的prompts,大大减少了训练时每个任务的存储和内存使用。但
prompt tuning 对于正常大小的预训练模型来说表现并不理想。
现有的 prompt tuning 方法不能处理困难的序列标记任务,缺乏普适性。
P-Tuning-v2 与微调的性能相匹配,并且只有0.1%-3%的调整参数。
Introduction微调,为目标任务更新整个模型参数集。虽然微调能获得良好的性能,但在训练过程中却很耗费内存,因为必须存储所有参数的梯度和优化器状态。
此外,微调需要在推理过程中为每个任务保留一份模型参数,这很不方便,因为预训练的模型通常很大。
Prompting 另一方面,冻结PLMs的所有参数并使用自然语言 prompts 来查询语言模型。例如,对于情感分析,我们可以将一个样本与一个 prompts 串联起来 “这部电影是[MASK]” ...
PADA: A Prompt-based Autoregressive Approach for Adaptation to Unseen Domains
PADA: A Prompt-based Autoregressive Approach for Adaptation to Unseen DomainsPADA: A Prompt-based Autoregressive Domain Adaptation algorithm, based on the T5 model
作者提出解决的是这个领域适应问题,即一个算法在几个源域上进行训练,然后应用于在训练时未知的未见过的领域的样本(更准确的说这其实是领域泛化问题)。
在训练时,没有任何样本,不管是有标签的还是无标签的,或者关于目标领域的任何其他知识。
给定一个测试样本,PADA首先生成一个独特的 prompt,然后以这个 prompt 为条件,在NLP任务方面给这个样本贴上标签。
prompt 是一个长度不受限制的序列,由预先定义的领域相关特征(DRFs)组成,这些特征是每个源域的特征。直观地说,prompt 是一个独特的签名,它将测试实例映射到源域所跨越的语义空间。
IntroductionNLP算法往往依赖于一个开创性的假设,即训练集和测试集来自相同的基础分布。不幸的是,这个假设 ...
二叉树刷题1
二叉树刷题1[TOC]
树的基础102. 二叉树的层序遍历1234567891011121314151617181920212223242526class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if(root == null) return res; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); while(!queue.isEmpty()){ List<Integer> level = new ArrayList<>(); int currentLevelSize = q ...
Towards a Unified View of Parameter-Efficient Transfer Learning
Towards a Unified View of Parameter-Efficient Transfer LearningICLR2022高分文章
这篇工作将最近提出的多种Parameter-Efficient的迁移学习方法联系在了一起,提出了一个统一的框架,并探索了这些方法成功的关键因素是什么。
统一什么?把Adapter、prompt-tuning、LoRA都定义为预训练模型中添加可调整的特定的隐层状态,只是设计的参数维度、修改函数的计算和位置不同。定义成一个统一的框架,顺便还排列组合出几个小变体。
INTRODUCTION使通用PLM适应下游任务的最常见方法是微调所有模型参数。然而,这导致每个任务都有一份单独的微调模型参数,当为执行大量任务的模型提供服务时,其成本过高。
为了缓解这个问题,已经提出了一些轻量级的替代方案,只更新少量的额外参数,同时保持大多数预训练参数的冻结,如:Adapters、prefix tuning 与 prompt tuning、LoRA 。(下文详细介绍他们)
这些方法都在不同的任务集上表现出与完全微调相媲美的性能,通常是通过更新不到1%的原始模型参 ...
Generalizing to Unseen Domains: A Survey on Domain Generalization
Generalizing to Unseen Domains: A Survey on Domain Generalization机器学习系统通常假定训练和测试分布是相同的。为此,一个关键的要求是开发能够泛化到未见过的分布的模型。近年来,Domain generalization 领域泛化(DG),即 out-of- distribution 泛化,吸引了越来越多的兴趣。
领域泛化处理的是一个具有挑战性的环境,即给定一个或几个不同但相关的领域,目标是学习一个能够泛化到未见过的测试领域的模型。
本文首次对该领域的最新进展进行了回顾。
首先,提供了一个领域泛化的正式定义,并讨论了几个相关的领域。
然后,彻底回顾了与领域泛化相关的理论,并仔细分析了泛化背后的理论。我们将最近的算法分为三类:数据操作、表征学习和学习策略,并对每一类算法详细介绍了几种流行的算法。
第三,介绍了常用的数据集和应用。
最后,我们总结了现有的文献并提出了一些未来的潜在研究课题。
INTRODUCTION传统的ML模型是基于 i.i.d. 假设进行训练的,即训练和测试数据是完全独立分布的。然而,这一假设在现实中并不总 ...
EANN: Event Adversarial Neural Networks for Multi-Modal Fake News Detection
EANN: Event Adversarial Neural Networks for Multi-Modal Fake News Detection社交媒体上的假新闻检测的独特挑战之一是如何识别新出现的事件的假新闻。
大多数现有的方法很难应对这一挑战,因为它们倾向于学习特定于事件的特征,这些特征不能迁移到看不见的事件。
事件对抗神经网络(EANN),它可以提取事件不变的特征,从而有利于对新到达的事件进行假新闻的检测。包括三个主要部分:
多模态特征提取器:负责从帖子中提取文本和视觉特征
假新闻检测器:学习用于检测假新闻的可判别表示
事件鉴别器:去除事件的特定特征,并保留事件间的共享特征
Introduction最近,社交媒体的激增大大改变了人们获取信息的方式。如今,通过社交媒体消费新闻的人越来越多,社交媒体可以为世界各地发生的事件提供及时、全面的多媒体信息。与传统的文字新闻相比,带有图片和视频的新闻可以提供更好的故事性,吸引更多读者的关注。不幸的是,这也被假新闻所利用,它们通常包含错误的甚至是伪造的图片,以误导读者并获得快速传播。
假新闻的传播可能造成大规模的负面影响,有时会影响甚 ...
SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer
SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer在 《The Power of Scale for Parameter-Efficient Prompt Tuning》的 PROMPTTUNING 方法(学习特定任务的软 prompt,以调节冻结的语言模型来执行下游任务)的基础上,提出了一种新的基于Prompt 的迁移学习方法,称为SPOT:Soft Prompt Transfer。
SPOT首先在一个或多个源任务上学习 prompt,然后用它来初始化目标任务的 prompt。
更重要的是,SPOT 大于等于 model-tuning ,同时参数效率更高(最多可减少27,000倍的特定任务参数)。
进一步对26个NLP任务和160个源-目标任务的组合进行了大规模的任务迁移性研究,并证明了多任务往往可以通过 Prompt Transfer 而相互受益。
最后,提出了一种简单有效的检索方法,将任务 prompts 解释为任务 embeddings,以识别任务之间的相似性,并预测最可迁移的源任务用于新目标任务。 ...
The Power of Scale for Parameter-Efficient Prompt Tuning
The Power of Scale for Parameter-Efficient Prompt Tuninghttps://zhuanlan.zhihu.com/p/428512183
在这项工作中,作者探索了 “prompt tuning”,这是一种简单而有效的机制,用于学习 “软提示”,以调节冻结的语言模型来执行特定的下游任务。
与GPT-3使用的离散文本提示不同,软提示是通过反向传播来学习的,并且可以进行调整以合并来自任何数量的标注样本的信号。
此端到端学习方法在很大程度上超过了GPT-3的 few-shot learning。更值得注意的是,通过使用T5对模型规模的消减,表明,随着规模的扩大,prompt tuning变得更有竞争力:当模型超过数十亿个参数时,该方法 “缩小了差距”,与model tuning (其中调整了所有模型权重)的强大性能相匹配。
这一发现尤其重要,因为共享和服务大型模型的成本很高,而将一个冻结模型重用于多个下游任务的能力可以减轻这一负担。
此方法可以看作是对最近提出的 “prefix tuning”,以软提示为条件的冻结模型对领域转移的鲁棒性有好 ...
二分查找典型问题(二、三)
二分查找典型问题(二、三)https://leetcode-cn.com/leetbook/read/learning-algorithms-with-leetcode/x4e1p5/
二、二分答案二分答案意思是:题目要我们找的是一个整数,并且这个整数我们知道它可能的最小值和最大值。此时可以考虑用二分查找算法找到这个的目标值
69. Sqrt(x)分析:这个题要求计算一个非负整数的平方根,返回值是一个整数。当平方根是浮点数事,需向下取整
法一:暴力解法输入 8 返回的是 2 , 因为 3 的平方等于 9 大于 8,因此【结果只保留整数的部分,小数部分将被舍去】。要求我们从1开始找,找到最后一个平方以后小于等于 x 的那个数。
假设 s 表示从 1 开始的那个数:
如果 s 平方以后小于 x, 暂时放过
如果 s 平方以后等于 x ,直接返回
如果 s 平方以后大于 x,说明 s-1 是题目要求,返回 s-1
1234567891011121314public int mySqrt(int x) { // 特判 if (x <= 1) ...
Parameter-Efficient Transfer Learning with Diff Pruning
Parameter-Efficient Transfer Learning with Diff PruningDiff pruning 使参数有效的迁移学习在新任务中得到良好的扩展。
该方法学习了一个特定于任务的 “diff “向量,该向量对原始预训练的参数进行了调整。在训练过程中,这个 diff 向量通过对L0-norm惩罚的可微调近似来适应性地修剪,以鼓励稀疏性。
随着任务数量的增加,diff pruning仍然具有参数有效,因为它只需要为每个任务存储一个小的diff向量。由于它不需要在训练期间访问所有任务,因此它在任务以流形式设置中很有吸引力。
在GLUE基准测试中,diff pruning可以与微调基线的性能相媲美,而每个任务只需修改0.5%的预训练模型参数,与流行的修剪方法相比,其扩展性更强。
Introduction针对特定任务对预训练的深度网络进行微调是当代NLP的主流模式,在一系列自然语言理解任务中取得了最先进的结果。
虽然这种方法简单明了,在经验上也很有效,但很难扩展到多任务、内存受限的情况下(例如设备上的应用),因为它需要为每个任务运送和存储一整套模型参数。
由于这 ...