通常情况下,BERT类模型总是需要一些样例来更新模型的参数从而让模型更加适应当前的任务,而GPT-3却号称可以“告别微调”,可以仅仅通过一个自然语言提示(prompt)以及少量甚至无需样例(标注样本)就可以作出正确的预测,即GPT-3可以通过不使用一条样例的Zero-shot、仅使用一条样例的One-shot和使用少量样例的Few-shot来完成推理任务。下面是对比微调模型和GPT-3三种不同的样本推理形式图:
受到GPT-3的启发,这篇论文研究了一个更符合实际场景的小样本学习问题:(1)使用可以在普通硬件资源上访问的中等大小的语言模型(如BERT),降低对硬件资源的要求。(2)借鉴GPT-3基于提示(prompt)的微调方法,减少对领域内有标注数据的过分依赖,降低对领域内少量有标注数据过拟合的风险。
由上述分析,我们可以得知「prompt」由两部分构成:
论文将模板与标签词的自动化构建分开,首先研究了如何在给定固定模板 T 的情况下构建一个标签词映射 M(我愿称之为半自动化😅),使其可以最大限度提高微调的准确性。论文中采用了一种相对简单的搜索策略,可以分为三步:
固定标签词,使用Google提出的T5模型自动生成模板。T5 经过预训练以在其输入中填充缺失的跨度(由 T5的mask 标记替换,例如 < X > 或 < Y >)。比如,给定一个mask后的输入“Thank you < X > me to your party < Y > week”,T5会生成这样一串文本“< X > for inviting < Y > last < Z >”,意味着“for inviting”可以替代< X >,“last”可以替代< Y >。论文认为T5这种方式特别适合模板的生成,因为无需事先为需要填充的位置指定token的数量。主要步骤如下:
除了引入prompt外,作者还加入了一些in-context信息,这里也是借鉴了GPT-3的思想。上面有提到,GPT-3采用添加上下文样本示例的方式进行微调,其随机挑选32个训练样本,以上下文的形式直接拼接到输入样本句子上,论文认为该做法存在两个问题:
为了解决这些问题,论文提出了一个简单的解决方案:对于每一个输入句子 x,从训练样本中的每一类中只随机采样一个样本,每个采样出来的样本都与模板拼接形成prompt,然后全部与输入样本拼接形成最终输入,拼接后如下图所示。
使用到的数据集(8个单句、7个句子对任务):
其中,|y|表示类别数(STS-B数据集是回归任务),L表示句子(对)的平均长度。
主要的实验结果如下图所示:
使用的模型是RoBERTa-large,每个类别采样K=16个样本模拟小样本学习,其中:
通过上述实验结果可以发现:
此外,论文也将基于提示的微调和标准微调在不同K(每个类别下的标注样本数量)下进行了比较,如下图所示。在小样本的情况下,基于提示的微调始终优于标准微调,直到两者收敛于 K= 256。
本文介绍了一种简单但有效的小样本微调方法,主要包括:
实验表明,该方法优于普通微调高达 30%(平均 11%)。但也有一些局限性:
参考文献:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务