宁波网站建设运营,成都网站推广排名,wordpress输出友情链接,营销网站建设的因素文 | ZenMoore编 | 小轶自从 Dr.Pengfei Liu 的那篇 prompt 综述发表开始#xff0c;prompt 逐渐红得发紫。近期清华、谷歌等单位你方唱罢我登场#xff0c;涌现了好多好多 prompt 相关的论文。无论是工业界还是学术界#xff0c;想必大家都在疯狂 follow。不少伙伴肯定从老… 文 | ZenMoore编 | 小轶自从 Dr.Pengfei Liu 的那篇 prompt 综述发表开始prompt 逐渐红得发紫。近期清华、谷歌等单位你方唱罢我登场涌现了好多好多 prompt 相关的论文。无论是工业界还是学术界想必大家都在疯狂 follow。不少伙伴肯定从老板那里领到了 “prompt 技术分享” 的任务哈哈所以这篇文章先基于 7月份的 prompt survey 做一个简单扫盲然后再为大家梳理一下其后 4 个月的 prompt 最新进展共包括 15 篇论文。无论是作为大家调研 prompt 的 starter 也好还是作为大家技术分享的 checklist 也好希望都可以帮助到大家!Prompt 扫盲论文标题 Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing论文链接 https://arxiv.org/abs/2107.13586往期推文 《Fine-tune之后的NLP新范式Prompt越来越火CMU华人博士后出了篇综述文章》这篇就是入门必看的综述啦非常精彩。这里做一个简单的概述。NLP 的范式演进历程大体经历了这样四个阶段特征工程深度学习预训练精调后两个范式是讨论的重点预训练精调范式让预训练模型 (PLM) 去适应下游任务Prompt 范式让下游任务适应预训练模型 (PLM)Prompt, 简单来说就是将下游任务的输入输出形式改造成预训练任务中的形式即 MLM (Masked Language Model) 的形式。比如对于情感分类原有的任务形式是输入“今天天气好”输出“正面情绪”标签的判别结果在 prompt 范式下这会将输入改造为输入“今天天气好我的情绪是\[MASK\]的。输出“开心”当然具体实现的时候还需要一个额外的映射将“开心”识别为“正面情绪”标签。这个映射显然是比较简单的。更加形式化的定义如下图所示形式化地讲在 prompt 范式下需要通过以下三个步骤建立从输入到输出的 pipeline。Prompt Addition : 将原本的输入 代入 prompt 模板(也叫模式)得到 Answer Search : 将 x 输给 LM得到“最高分”的输出 Answer Mapping : 上一步得到的输出 是预训练任务形式的输出可能和下游任务需要的输出形式少许区别所以还需要一步转换。比如上一步得到的开心则我们这一步可能需要把它映射为 代表正面情绪标签。这里的 map 函数也常常被叫做 Verbalizer。相应地在使用 prompt 时主要从以下五个方面进行考虑。在我们阅读 prompt 相关论文时也要先搞清楚这篇工作是着重解决了以下哪个方面的问题。预训练模型的选择 : Prompt Engineering : 也就是模板 的实现方式涉及两个方面Prompt Shape : prompt (准确地说应该是槽 [X]) 在文本开头叫做 prefix prompt, 在文本中间或者结尾叫做 cloze prompt.Prompt 的构建可以手动设计也可以自动构建(搜索、优化、生成等)。自动构建 prompt 的方法又可以按照 “离散(通常为文本形式)/连续(embedding space)” 或者 “静态/动态(是否随着输入改变)” 进行分类。Answer Engineering : 如何选择 prompt 结果的目标空间 的选择以及得到答案 后如何完成 的映射。Multi-prompt如何设计多个 prompt 获得更好的效果常见方式包括以下 5 种Prompt Ensembling : 集成学习(利用不同的 prompt 来进行各模型的差异化)Prompt Augmentation : 对 prompt 进行数据增强Prompt Composition : 把几个 prompt 进行合并Prompt Decomposition : 把一个 prompt 拆解为若干 sub-promptPrompt Sharing : 不同的模型、task 等共享一套 promptprompt 范式下的训练策略是否存在 prompt-related 参数 对 LM 的参数以及 prompt-related 参数要不要进行 tuning 根据这两个问题的答案进行组合可得 5 种 parameter 更新方式如下图所示读完这篇 survey基本就可以算是入门 prompt 了。强烈推荐大家看论文原文更为的详细梳理。prompt 近四个月进展继这篇 survey 后prompting 相关的论文更是层出不穷常常一经发表就是爆款。相信大家肯定紧紧地跟住了时代的脚步但难免记忆力跟不上看论文的速度:)这里先给大家推荐几个 prompt 相关的资源。这几个网站持续更新着 prompt 的最新进展和开源代码相信能有效帮助各位紧跟时事~Prompting LeaderBoardhttp://explainaboard.nlpedia.ai/leaderboard/prompting/Homepage NLPedia http://pretrain.nlpedia.ai/Timeline of Prompt Learning http://pretrain.nlpedia.ai/timeline.htmlFollow-up : PromptPapers https://github.com/thunlp/PromptPapersOpen-Source Framework : OpenPrompt https://github.com/thunlp/OpenPrompt接下来我们也为大家梳理了今年 7 月以来的 15 篇最新 prompting 工作。如下表所示▲一表看尽本文注以下所选工作按照 arxiv 发表时间进行排序。此处论文的选择可能有点主观而且也不一定完全仅作参考。相信在笔者所知之外还有许多精彩工作。1.null prompts (07/01)论文标题Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models论文链接 https://arxiv.org/abs/2106.13353Motivation为每个下游任务都设计一套 prompt 模板费时费力。如何简化 prompt engineering ?原来模型的训练参数量太大了。如何提升 memory efficiency 呢?Method既然设计模板那么费事那么我们干脆就“自暴自弃”不设计模板好了。这篇文章就提出了所谓 null prompt 的方法其实就是所有任务都用 input [MASK] 的形式作为 prompt 模板。▲null prompt 方法示意ExperimentsSimplifying Prompt Engineering第一个实验是基于 prompt 的 finetuning (有 prompt, 进行 finetuning)▲基于 prompt 的 finetuning实验结论为每个任务手工设计一套 prompt 效果仍然是最好的, 但是太费时费力了。null prompts 比 prompt tuning fine-tune时对模板部分进行梯度优化表现要好一点。Prompt-Only Tuning第二个实验是自学习更好的 prompt 标识不对 LM 进行 fine-tuning▲仅对 prompt 进行学习上图中的 AutoPrompt 是指自动搜索离散 prompt。All Parameters 则是对 LM 做了 fine-tuning 的一组对照结果。实验结论Prompting 根本打不过 finetuning 不过作者说这可能并不矛盾可能只是因为没有严格控制实验变量......Memory-EfficientAdapters : 只调插入在 Transformer FNN 中的神经网络层。Calibration : 在与 Verbalizer Tokens 相关的 logits 之上套一层仿射变换只学习这个仿射变换。BitFit : 只调 Transformer 的 bias 项。LM Head Tuning : 只调与 Verbalizer Tokens 相关的输出层 embedding.实验结论BitFit yyds(永远的神) !Conclusion在 few-shot settings 下最好的选择是finetuning with null prompts and BitFit.但是这仅仅针对 MLM 而言。针对超大规模模型或者单向语言模型需要进一步的研究。2.Frozen (07/03)论文标题Multimodal Few-Shot Learning with Frozen Language Model论文链接 https://arxiv.org/pdf/2106.13884.pdf往期推文 《学完文本知识我就直接看懂图片了》Motivation如何使用冻结参数的语言模型进行多模态任务Method一图胜千言冻结 LM 参数只调输出以及视觉的 Vision Encoder图中粉色部分。LM 使用的是自回归的语言模型。视觉编码器基于 NF-ResNet-50但是在视觉编码器之上套了一层线性映射让其变成 Vision Prefix类似于 Prefix Tuning [1] 的 Prefix (不过这里的 Prefix 是可以训练的)。这样Image 就可以转变成 LM 可以理解的形式。Experiments实验表明这个模型在 zero/one/few-shot 三种 Setting 下都能有比较好的效果。虽然不是 SOTA但是思想非常有开创性另一个有意思的结论是仅用语言训练的 Transformer 所含的知识可以迁移到其他模态任务中。3.KPT (08/04)论文标题 Knowledgeable Prompt-tuning : Incorporating Knowledge into Prompt Verbalizer for Text Classification论文链接 https://arxiv.org/abs/2108.02035Motivation主要解决 Verbalizer 的构建问题不清楚 verbalizer 是什么的同学可以参考开头“prompt 概述部分”。人工构建映射表肯定麻烦也不是很够用所以就要引入外部知识库来构建啦。Method分为三步Verbalizer Construction使用 ConceptNet 或者 WordNet 等知识图谱以目前的标签词为锚点寻找其相邻节点的标签词作为 answer mapping 的 candidates。Verbalizer Refinement上一步的 candidates 噪声还很多分两种情况解决。1、zero-shot setting :KB 中的词汇在 PLM 的 OOV 中对该词的各个 token 计算平均概率作为词的概率然后使用阈值清理PLM 中的稀有词概率不稳定,如何去掉计算上下文先验(contextualized prior)。公式见下这里 是句子 是 template, 表示一个人为定义的小的未标注的 support set. 然后使用阈值清理。由于 KB 中词汇的先验分布不同一些词汇天然地更不可能被预测到使用上下文校正(contextualized calibration, CC)2、few-shot setting :因为有少量数据可以用来训练所以去噪更简单一些直接使用每个候选词归一化后的权重 这里 是可以训练的Verbalizer Utilization得到了去噪的候选词列表之后下面就要决定怎么把 label words 映射为 class label 啦zero-shot setting 用平均few-shot setting 用加权平均(in log-space)4.soft prompt (09/02)论文标题 The Power of Scale for Parameter-Efficient Prompt Tuning论文链接 https://arxiv.org/abs/2104.08691这篇工作有两种常用的简称 : soft prompt/prompt tuning, 鉴于后者容易和广义的 Prompt Tuning 混淆我们使用第一种 —— soft prompt。Motivation对 prefix tuning 的进一步简化 : prefix tuning 会训练所有与 prefix prompt 相关的层。而这篇文章 : 针对每个下游任务只调输入文本前面的一些 tokens (soft prompt)。另外这篇文章还提出了 Prompt Ensembling。Methodprompt tuning : 输入头部新加了一些 tokens 作为 soft prompt, 它以 表示 ( 是 prompt length, 是 embedding space 的维度)然后输入这么整 : . 我们在 tuning 时只能动 .prompt 的长度和初始化 : 初始化的话一般使用 PLM vocabulary 的 embedding, 对于 CLS 任务也可以直接使用 class label 的 embedding长度的话建议看原文的实验数据。prompt ensembling : 这个概念也是这篇论文首次提出来的。简单来说就是使用多个 prompt 集成学习。Comparisonv.s. prefix tuning : prefix tuning 会训练所有与 prefix prompt 相关的层而本文只训练 ; prefix tuning 基于 GPT-2 和 BART主要考虑生成任务本文基于 T5.v.s. WARP [7]: WARP 对 MLM 的 prompt 相关的输入层和输出层进行精调。v.s. P-tuning [4]: P-tuning 使用人工设计的 template, 然后对穿插在 input 各个位置的 continuous prompt 进行微调P-tuning 提供的是 Tuning-free Prompting 和 LMPrompt Tuning而本文提供的是 fixed-LM prompt tuning.v.s. Adapter [8]: Adapter 不动 input representation, 动的是作用在 input representation 上的函数(神经网络)而本文不动作用在之上的函数动的是 input representation (soft prompt ).还有另外一些对比感兴趣的看原文哦~5.rFT (09/09)论文标题 Avoiding Inference Heuristics in Few-shot Prompt-based Finetuning论文链接 https://arxiv.org/abs/2109.04144Motivation在进行 sentence pair classification 的时候如果是 few-shot setting, 使用 prompt-based finetuning 很容易产生启发式推理(Inference Heuristics)的问题(即模型假设具有相同单词集合的句子会带有相同的意思), 然而这个问题在 zero-shot setting 下不会出现所以可以说 finetuning 对 PLM 中的知识产生了很大的负面影响(灾难性遗忘)因此作者旨在解决 few-shot setting 下 prompt-based finetuning 的上述问题。Method总的来说就是基于弹性权重巩固 (EWC) [2] 对 prompt-based finetuning 进行正则化。熟悉终身学习的应该对 EWC 不会陌生它建立在 Fisher 矩阵之上专门用来解决灾难性遗忘问题。当然Fisher 矩阵的计算需要一部分预训练数据为了躲开这个我们假定 Fisher 信息和对应的权重具有很强的独立性这样总的损失函数就变成了(finetuning标准交叉熵损失)。优化器的实现使用的是 RecAdam[3].Experiments在 in-distribution 的结果上finetuning 要优于 rFT, 并且大幅优于 zero-shot (使用 prompt, 但不进行 finetuning).但在避免 Inference Heuristics 上rFT 的效果比 finetuning 好当然还不及 zero-shot.所有 Prompt-based Finetuning 方法都要好于单纯的 finetuning 方法(即使用 classification head).6.PPT (09/14)论文标题PPT: Pre-trained Prompt Tuning for Few-shot Learning论文链接https://arxiv.org/abs/2109.04332Motivation在数据足够的情况下Prompt Tuning 和 Finetuning 效果差不多但是在 few-shot setting 下prompt 的表现很不好作者认为是因为 soft prompt initialization 的问题因此如果把 soft prompt 也放在 pre-training stage 里面以获得一个更好的 initialization, 是不是更好一点Pilot Experiments主要是四点结论Verbalizer 的选择很重要使用词向量初始化 soft prompt 没啥用hard prompt soft prompt 很有用上面三种在 few-shot setting 下都完蛋Method定义 个任务集合 每个任务集合 包含 个 pattern-verbalizer pairs (i.e. , f指 pattern(template), 指 verbalizer), 然后为每一个 任务集合 定义一个预训练任务 . 举个例子任务集合{句对分类多选分类单句分类}每个元素就是一个 PVP预训练任务NSP (Next Sentence Prediction)关于 PVP 的设计遵循 template-verbalizer 人工设计的一般方法不再赘述。值得一提的是显然例子中的三个任务是可以用一个统一的 template 表示的思路也很简单(因此也不再赘述)作者称这种使用统一 pattern 的 PPT 为 Unified PPT.还有一种是 Hybrid PPT, 即 hard prompt soft promptExperimentsfinetuning 的性能随着参数量提升。PPT 在大部分数据集下比 prompt tuning 和 LM adaption 性能要好基本在所有任务上优于 finetuning。虽然 few-shot learning 的方法方差一般都很大但 PPT 显著减小了方差。Hybrid PPT 和 PPT 效果差不多但 Unified PPT 比另外两种要稍微好一点。7.PTR (09/15)论文标题 PTR: Prompt Tuning with Rules for Text Classification论文链接 https://arxiv.org/abs/2105.11259Motivation人工构造 pattern 太繁琐自动构造的话一方面效果比不上人工构造另一方面还引入了额外的计算(生成有效性验证)......那能不能使用规则给 prompt 的构建加入一些先验知识呢Method以 Relation Classification 为例首先把该 task 转变为一系列 conditional functions 的逻辑计算如其中 表示 subject entity 是否是一个 person 表示 object entity 是否是一个 person 表示 和 的关系是否是 parent然后为每一个 conditional function 设计一个 sub-prompt, 老规矩它由 template 和 verbalizer 构成例如:最后我们把不同的 conditional functions 的 sub-prompts 组合成一个任务特定的 prompt, 例如总之就是为每个 conditional function 人工设计一个相应的 sub-prompt. 然后conditional functions 的逻辑运算就体现在 sub-prompts 的 composition 上。ExperimentsPLMs 中蕴含的知识非常重要。引入知识的方式也很重要例如在 finetuning 阶段引入的知识比在预训练阶段引入的更容易被提取利用出来。所有里面PTR 是 SOTA。总之预训练可以给 PLM 引入很多任务特定的知识但是如何激发他们很重要这里PTR 的方式比 finetuning 方式更加有用8.CPT (09/24)论文标题 CPT: Colorful Prompt Tuning For Pre-Trained Vision-Language Models论文链接https://arxiv.org/abs/2109.11797Motivation视觉-语言预训练模型 (VL-PTMs) 也存在和 PLMs 一样的问题预训练任务和下游任务的 gaps. 能不能把 prompting 引入 VL-PTMs 里面呢Methodprompt design 的核心问题是如何用语言描述图像visual sub-prompt : segmentation 不是经常用颜色标注吗那么我们就用颜色标注图像的各个 region, 然后颜色用语言描述出来就好了。于是有了 visual sub-prompt : (其中 表示图像的 regions 集合, 是 RGB 值 是颜色的语言描述比如red).textual sub-prompt :在实现细节上一方面需要考虑选取哪些颜色所以需要用候选集做一个 prompt search另一方面需要考虑怎么划分 region所以需要把 image region 划分成一些 batch 处理...... 更详细的建议看开源代码。ExperimentsCPT 在 zero-shot setting 和 few-shot setting 下效果提升明显CPT 比 finetuning (vanilla) 的方差要小得多在 full-data setting 下CPT 和 vanilla funetuning 的效果不相伯仲9.SFLM (10/04)论文标题Revisiting Self-Training for Few-Shot Learning of Language Model论文链接 https://arxiv.org/abs/2110.01256Motivation就是题目中的设定怎么在 few-shot 下提取 PLM 中蕴含的海量 unlabeled data 的信息(知识)。Method为了解决这个问题作者设计了一种基于自训练 (self-training) 的 prompt 方法。设定是有一小部分已标注的数据然后还有更小一部分未标注的数据 (few-shot)然后利用他们做分类任务......好从损失函数讲起吧, 其中三项分别是监督损失、自训练损失以及自监督损失。监督损失(针对已标注数据)就是以前的 prompt-based tuning 那一套(即 template verbalizer 等等)这篇论文的新颖点主要是后面两项(针对未标注数据)自训练损失首先用简单的 dropout 对未标注的数据做一个弱数据增强(weakly-augmented), 训练一下模型, 然后再用训练好的模型跑出未标注数据的伪标签(作为下一步的监督信息)然后对未标注数据做一个强数据增强 (15% mask 概率 dropout)最后将其输入模型并以伪标签作为监督信息进行损失计算与训练。自监督损失最最传统的 MLM. 这一项主要是为了作为正则化。Experiments在 few-shot setting 下自训练机制可以大幅增进传统 prompt-based finetuning 的性能。对部分任务而言未标注数据对半监督学习方法很是关键。SFLM 的方差很小。本文中的提出的那两种文本数据增强的方法(强/弱数据增强)也很棒自训练机制的性能增益与未标注数据的总量并不成严格正比。10.FLAN (10/05)论文标题 Finetuned Language Models are Zero-Shot Learners论文链接 https://arxiv.org/abs/2109.01652往期推文 《别再Prompt了谷歌提出tuning新方法强力释放GPT-3潜力》另简称 : Instruction TuningMotivation改善语言模型的 zero-shot 学习的能力。Method作者先收集整理了一系列任务集合(task cluster)每个任务集合包含若干特定的数据集有 NLU也有 NLG之后的 instruction tuning 就是在若干 task clusters 上训练的。tuning 方法有点像 GPT-3 的那种 prompting, 但是又有区别众所周知GPT-3 不做进一步地精调只是在 inference 时候在开头提供一些 examples (instructions) 和 prompt称作 in-context learning但是这篇工作是要做精调的把类似的 instruction 作为 tuning 时候的训练数据。GPT-3 是单任务的而这篇工作在 tuning 阶段使用多任务每个任务都人工设计了一个 instruction template把 template 填充之后就变成了 tuning 时候用的训练 examples。tuning 完成之后把模型用于全新的 (unseen) 任务进行 inference, 这一次不用 instructions (GPT-3), 就能达到很好的效果。Experiments在大多数任务上超越了 zero-shot GPT-3。间接表明任务特定的训练是对通用语言模型的一个补充。在很多数据集上BERT/T5 仍然保持着最好的效果。更多实验结论与发现建议阅读原论文。11.DART (10/06)论文标题Differentiable Prompt Makes Pre-trained Language Models Better Few-shot Learners论文链接https://arxiv.org/abs/2108.13161Motivation是面向工业界的一个改进。在工业落地上主要有两个问题一方面模型规模太大了部署成本太高另一方面 prompt design 的成本也太高了。因此作者设计了 DifferentiAble pRompT (DART)具备 pluggable、extensible、efficient 的特点并且在不需要 prompt engineering 的情况下也能增强小规模语言模型的小样本学习能力。MethodClass Discrimination Objective : Fluency Constraint Objective : , 是在词表上的概率分布(用 softmax 计算)设 是原来的词表为了避免引入额外的参数我们用 中未使用的 token 替换 (template token embedding) 然后生成新的词表 .总 第一个损失函数是 label optimization 的过程这在之前已有的 prompt tuning 方法中也不常见因为这里的 answer 相当于也是在一个连续的空间里面。第二个损失函数的设置主要是为了保证 template token embedding (可训练)与其上下文的相关性这在 P-tuning 方法中通过双向 LSTM 解决而本文的方法没有引入额外的参数与模型单使用一个损失函数就解决了问题。另外这里使用的是 ground-truth label...... (感觉是不是会泄露一部分标签信息啊)Experiments对于 BERT-style 模型比传统的精调范式的效果要好很多。除了 BERT-style 的模型外GPT-style 也能使用而且效果也比原来的模型要好。比 P-tuning 还好一点看来 label optimization 是有用的。这个模型可以 plug 到其他的语言模型也可以 extend 到其他的任务上。12.P-Tuning v2 (10/14)论文标题P-Tuning v2: Prompt Tuning Can Be Comparable to Finetuning Universally Across Scales and Tasks论文链接https://arxiv.org/abs/2110.07602Motivation之前的 soft prompt (google) 和 P-tuning [4] 只对大模型有效而且也仅仅用于解决一些简单的 NLU 任务。因此这个工作主要是扩展之前的 P-Tuning适配小模型适配复杂的 NLU 任务 (如序列标注等)。Method其实比起 P-tuning 或者 Google 的 soft prompt 的方式这个更类似于 prefix tuning, 即和 prefix prompt 相关联的一系列层都能调。一图胜千言另外几点考虑是去掉了重参数化比如 prefix tuning [1] 中的 MLP 以及 P-tuning 中的 LSTM都不要了因为这东西对效果提升不大。多任务学习这个挺有必要的一方面可以减小 prompt 随机初始化的压力另一方面可以更好地搞到跨任务/数据集的知识。不用 verbalizer 了 : 其实对于复杂的 NLU 任务来说verbalizer 的设计很不直观那么就返璞归真沿用原始的 [CLS]/token (hidden state) MLP 就好。Experiments无论是大模型还是小模型P-Tuning v2 的效果都很可观而且对超参更鲁棒更稳定一些。soft prompt (google) 和 P-Tuning 在复杂的 NLU 任务上不好看尤其是 QA. 但是P-Tuning v2 就好很多。值得一提的是除了 QA 外多任务机制对 P-Tuning v2 的效果提升很是显著所以它真的能很好地减轻随机初始化的压力13.IPT (10/15)论文标题Exploring Low-dimensional Intrinsic Task Subspace via Prompt Tuning论文链接https://arxiv.org/abs/2110.07867IPT intrinsic prompt tuning.Motivation为什么 PLM 可以做好多好多不同的下游任务这篇文章旨在探索每个下游任务的低维本征子空间 (intrinsic task subspace).Method这个问题的一个解释是PLM 对一个特定任务的适配可以重参数化为一个低维的任务特定的优化子空间只需要优化这一部分参数就能够适配下游任务。这样的话PLM 就是一个通用的压缩框架把不同任务的学习复杂度从一个高维的空间压缩到了一个低维的空间。怎么做实验呢用 prompt tuning !为了简化实验将所有的任务都用一个 seq2seq 的形式表示 [5][6]。Multi-task Subspace Finding : 将训练好的 prefix prompt feature 保留下来经过一层投影降维再经过一层投影恢复维度。这个步骤的损失函数包括原本 LM 的损失函数以及 prompt feature 的重构损失。Intrinsic Subspace Tuning : 我们看看这个子空间能不能泛化到 unseen 的数据与任务上如果可以的话就说明我们找到了 intrinsic task subspace. 这一步的损失只保留 LM 的损失。Experiments在 few-shot setting 下大模型对各种任务的适配过程确实可以通过一个低维子空间刻画这个子空间仅用很小的维度(仅仅为 5) 就能在 unseen 的数据和任务上分别达到 prompt tuning 87% 和 65% 的性能。非分类任务 (non-cls) 比分类任务 (cls) 的本征子空间维度要小这个结论挺反直觉的。更多结论建议详读原论文。14.SPoT (10/15)论文标题 SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer论文链接 https://arxiv.org/abs/2110.07904Motivation还是为了增强模型在不同任务上的泛化性能不过是基于 Prompt Tuning.换句话说Transfer Learning Prompt Tuning.MethodTask-Agnostic Approach : 先使用 multi-task training 得到一个 soft prompt, 用其作为目标任务的初始化。Task-Specific Approach : 为了进一步提高效率作者做了一个 prompt library. 先在一系列源任务上进行学习取早期的 embedding 作为键相应的最优 soft prompt 作为值。当我们需要解决目标任务时把目标任务的早期 embedding 作为 query与库中的键计算余弦相似度从而检索到相应的值 (soft prompt) 作为初始化再对 target prompt 进行进一步的优化。Experiments在 GLUE 和 SuperGLUE 上SPoT 的性能和稳定性都要显著优于以往的 Prompt Tuning 算法。源任务的混合 (multi-task) 可以提升性能。无论模型大小如何SPoT 都能够让 Prompt Tuning 范式达到与 Finetuning 范式差不多的效果。另外在 task embedding 上也有一些有意思的结论通过 prompt transfer, 各任务之间可以互相促进。task embedding 捕捉了任务间的相关性信息。task embedding 的相似性与任务间的可迁移性具有正相关关系。15.T0 (10/15)论文标题 Multitask Prompted Training Enables Zero-Shot Task Generalization论文链接 https://arxiv.org/abs/2110.08207快去打开 arxiv感受一下什么叫做鸿篇巨制......Motivation大模型具有很好的零样本泛化能力 (zero-shot generalization)这取决于它隐式的多任务学习机制(也就是 GPT-3 的那种外循环机制)。那么能不能通过显式的多任务学习机制(即带有 prompt engineering) 来激发大模型的零样本泛化能力呢Method这张图就是 T0 的基本思想然后具体的实现方法上讲求两个关键粗暴协作Prompt 设计类似于 FLAN 的 instruction具体的例子可以看图。BIG-Bench : 新的 benchmark收集了好多好多任务一部分混合起来用来训练留一部分用来做 zero-shot 的测试。先说怎么个粗暴法多任务数据集达 171 个Prompt 达 1939 个模型也是超大的T5, 11B当然粗暴这一点咱们见怪不怪毕竟前面已经有 GPT-3 啦~但是这个协作方式感觉更有意思42 位作者来自于 20 多家不同的机构甚至来自于将近 10 个不同的国家据小编调查这些大牛们是通过 Github、Notion 等等进行协作的定期还要开个视频会议什么的在 BigScience 的 notion 上可以看到他们的一些管理条例等等。属实一番科幻片里面才有的协作方式哇Experiments与 GPT-3 相比zero-shot 性能提升显著参数量缩减至 1/16.与 FLAN 相比zero-shot 性能非常能打参数量缩减至 1/10.当增加训练数据集数量性能的中位数会有所提升但是性能的极差不会减小。当增加 prompt 数量泛化性能会有所提升。最后的话Prompt 作为热点学术界工业界都在讨论。感觉 prompt 的贡献主要在于三点低资源场景 (few-shot/zero-shot)低算力场景 (parameter-efficient) 以及统一场景(把各种各样的问题统一成一套 prompt). 然后根据上文按照时间顺序的详细梳理不难发现 prompt 的发展趋势多任务、多 prompt、任务 specialization 以及各种各样的锦上添花。当然prompt 还方兴未艾仍然有很多疑问需要探索在学术界prompt 究竟告诉了我们什么PLM 到底蕴含着怎样的力量如何彻底激发出来或者 PLM 本身路在何方在工业界prompt 究竟该如何落地相比于 finetuning 是否真正具有决定性的优势希望这篇长文能够带给你更多的思考......往期相关推文1. 《Fine-tune之后的NLP新范式Prompt越来越火CMU华人博士后出了篇综述文章》2. 《学完文本知识我就直接看懂图片了》3. 《别再Prompt了谷歌提出tuning新方法强力释放GPT-3潜力》4. 《格局打开带你解锁 prompt 的花式用法》萌屋作者ZenMoore来自北航中法的本科生数学转码 (AI)想从 NLP 出发探索人工认知人工情感的奥秘... 个人主页是 zenmoore.github.io, 知乎 ID 是 ZenMoore, 微信号是 zen1057398161, 嘤其鸣矣求其友声作品推荐图灵奖大佬谷歌团队为通用人工智能背书CV 任务也能用 LM 建模后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1] Li, X., Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. ArXiv, abs/2101.00190.[2] Kirkpatrick, J., Pascanu, R., Rabinowitz, N.C., Veness, J., Desjardins, G., Rusu, A.A., Milan, K., Quan, J., Ramalho, T., Grabska-Barwinska, A., Hassabis, D., Clopath, C., Kumaran, D., Hadsell, R. (2017). Overcoming catastrophic forgetting in neural networks. Proceedings of the National Academy of Sciences, 114, 3521 - 3526.[3] Chen, S., Hou, Y., Cui, Y., Che, W., Liu, T., Yu, X. (2020). Recall and Learn: Fine-tuning Deep Pretrained Language Models with Less Forgetting. EMNLP.[4] Liu, X., Zheng, Y., Du, Z., Ding, M., Qian, Y., Yang, Z., Tang, J. (2021). GPT Understands, Too. ArXiv, abs/2103.10385.[5] Raffel, C., Shazeer, N.M., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W., Liu, P.J. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. ArXiv, abs/1910.10683.[6] Khashabi, D., Min, S., Khot, T., Sabharwal, A., Tafjord, O., Clark, P.E., Hajishirzi, H. (2020). UnifiedQA: Crossing Format Boundaries With a Single QA System. FINDINGS.[7] Hambardzumyan, K., Khachatrian, H., May, J. (2021). WARP: Word-level Adversarial ReProgramming. ACL/IJCNLP.[8] Houlsby, N., Giurgiu, A., Jastrzebski, S., Morrone, B., Laroussilhe, Q.D., Gesmundo, A., Attariyan, M., Gelly, S. (2019). Parameter-Efficient Transfer Learning for NLP. ICML.