冻结Prompt微调LM: PET(b) LM-BFF

news/2024/7/20 17:04:01 标签: 人工智能, 机器学习, 深度学习, 大模型

PET-TC(B)

  • paper b: 2020.9 It’s not just size that matters: Small language models are also few-shot learners.

  • Prompt: 多字完形填空式人工Prompt

  • Task:Text Classification

  • Model: Albert-xxlarge-v2

  • Take Away: 支持多字的完形填空Prompt,效果超越GPT3

这篇paper和上面的PET-TC是同一作者,算是上文的续作,主要优化了Answer词单token设定,支持多个token作为标签词,不过限制性依旧较强是预先设定任务最大的token数,然后使用最大token数作为MASK数量,而非动态的任意数量的MASK填充。

论文对推理和训练中的多MASK填充做了不同的处理。在推理中需要向前传导K次,如下图所示

  1. 使用标签最大的label词长度K,生成k个MASK位置

  2. 对K个位置同时预估得到K个预估词,选取概率最高的1个词进行填充

  3. 针对填充后的新文本,对剩余K-1个位置再进行预估

  4. 直到所有位置都被填充,分类概率由所有填充标签词的概率累乘得到

在训练过程中为了提升效率,论文使用了一次向前传导对多个位置同时完成预估,这时MASK长度是所有标签的最大长度。例如情感分类问题terr##ble长度为2,great长度为1,这时MASK填充长度为2,great只取第一个MASK词的概率,后面的忽略,概率计算如下

p(Y=−1|x)=P1M(ble|x)∗P2M(terri|~x)p(Y=1|x)=P1M(great|x)

其他部分和PET基本一样这里不再重复。效果上这篇论文换成了Albert-xxlarge-v2模型和GPT-3 few-shot在superGLUE上进行效果对比。不过以下参数对比并不太合理,虽然Albert是层共享参数,但是推理速度并无提升,12层的xxlarge模型参与计算的参数量级应该是223M*12~2B,所以并不是严格意义上的小模型。调整参数后,32个小样本上PET的效果也是超过同等量级甚至更大的GPT3在few-shot上的效果的

img

LM-BFF

  • paper: 2020.12 Making Pre-trained Language Models Better Few-shot Learners

  • Prompt: 完形填空自动搜索prompt

  • Task: Text Classification

  • Model: Bert or Roberta

  • Take Away: 把人工构建prompt模板和标签词优化为自动搜索

LM-BFF是陈丹琦团队在20年底提出的针对few-shot场景,自动搜索模板和触发词的Prompt方案,prompt模板延续了PET的完型填空形式,把人工构建prompt和标签词的构建优化成了自动搜索。论文先是验证了相同模板不同标签词,和相同标签词不同模板对模型效果都有显著影响,如下

img

以下介绍自动搜索的部分

标签词搜索

考虑在全vocab上搜索标签词搜索空间太大,在少量样本上直接微调选择最优的标签词会存在过拟合的问题。作者先通过zero-shot缩小候选词范围,再通过微调选择最优标签词。

如下,固定prompt模板(L),作者用训练集中每个分类(c)的数据,在预训练模型上分别计算该分类下MASK词的概率分布,选择概率之和在Top-k的单词作为候选词。再结合所有分类Top-K的候选词,得到n个标签词组合。这里的n和k都是超参,在100~1000不等。

img

然后在n个候选标签词组合中,针对微调后在验证集的准确率,选择效果最好的标签词组合。

prompt模板搜索

固定标签词,作者使用T5来进行模板生成,让T5负责在标签词前、后生成符合上下文语义的prompt指令,再在所有训练样本中选择整体表现最优的prompt模板。

如下, 固定二分类的标签词是great和terrible,T5的模型输入为Input+MASK+标签对应标签词+MASK,让模型来完成对MASK部分的填充。现在预训练模型中通过Beam-Search得到多个模板,再在下游任务中微调得到表现最好的一个或多个prompt模板

img

以上自动搜索prompt和标签词得到的部分结果如下,该说不说这种方案得到的标签词,至少直观看上去比AutoPrompt合(人)理(类)不(能)少(懂):

img

固定prompt微调LM

img

经过以上搜素得到最优标签词组合和prompt模板后,作者的微调过程模仿了GPT3的few-shot构建方式。如上图,先把输入填充进prompt模板,再从各个分类中各采样1个样本作为指令样本拼接进输入,为待预测文本补充更丰富的上下文,一起输入模型。在训练和推理时,补充的指令样本都是从训练集中采样。

同时为了避免加入的指令样本和待预测样本之间差异较大,导致模型可能直接无视接在prompt后面的指令样本,作者使用Sentence-Bert来筛选语义相似的样本作为指令样本。

效果上,作者给出了每类采样16个样本的小样本场景下, Roberta-Large的效果,可以得到以下insights

  • 部分场景下自动模板是要优于手工模板的,整体上可以打平,自动搜索是人工成本的平价替代

  • 加入指令样本对效果有显著提升

  • 在16个样本的few-shot场景下,prompt微调效果是显著优于常规微调和GPT3 few-shot效果的

img


http://www.niftyadmin.cn/n/5333094.html

相关文章

安装umi及使用umi脚手架创建项目

使用Umi创建前端SPA项目,非常简单,只需要按照如下几个步骤操作即可: 1、全局安装umi命令: npm install -g umi 2、创建umi项目:umi create my-umi-app 3、安装项目依赖:cd my-umi-app && pnpm install 4、…

算法面试题:Python实现两数和

题目:两数之和 描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数,并返回它们的索引。假设每种输入只对应一个答案,且不能重复利用数组中同样的元素。 例如: pyt…

尚无忧【无人共享空间 saas 系统源码】无人共享棋牌室系统源码共享自习室系统源码,共享茶室系统源码

可saas多开,非常方便,大大降低了上线成本 UNIAPPthinkphpmysql 独立开源! 1、定位功能:可定位附近是否有店 2、能通过关键字搜索现有的店铺 3、个性轮播图展示,系统公告消息提醒 4、个性化功能展示,智能…

03--数据库连接池

1、数据库连接池 1.1 JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接 这种模式开发,存在的问题:…

2024年linux内核开发会是程序员新的风口吗?

前言 众所周知,linux操作系统一直靠着稳定,安全,开源等优势占据着80%以上的服务器市场。小至私人企业,大至世界百强,都离不开它的身影。以至于无论你擅长的是哪门语言,面试的时候都会或多或少的涉及linux的…

SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用

四、Database MetaData 与 SQL Express Language 的使用 MetaData对象用于描述表结构,SQL Express Language是DBAPI SQL的统一封装器。MetaData 与SQL Express 语句可以在Core层使用,ORM层基于MetaData, SQL Express基础上做了进一步抽象。本章将介绍在…

电源适配器安规测试项目有哪些?

一、输入输出测试 输入测试包括输入电压范围、输入电流、功率等,检测电源适配器的输入电压是否在正常工作电压范围内;测量输入电流和功率,确保电源适配器在安全和效率方面达到设计要求。 输出测试主要测试输出电压和电流、负载调整率和纹波电压等参数&am…

如何在苹果手机上进行文件管理

摘要 苹果手机没有像安卓系统那样内置文件管理器,但是可以通过使用克魔开发助手来实现强大的文件管理功能。本文介绍了如何使用克魔开发助手在电脑上管理和传输苹果手机的文件。 引言 很多朋友都在使用苹果手机,但是当需要查看手机中的文件时&#xf…