微软ACL 2022:永远不要低估你的训练数据!
作者 | 太子长琴 整理 | NewBeeNLP
从大规模数据中检索通常比较耗时,仅从训练数据中也能有巨大收益。具体做法是检索与输入文本最相似的训练样例,拼接后作为输入喂入模型,然后生成结果。结果在摘要、翻译、语言模型和QA上都取得了不错的效果。
- 论文:Training Data is More Valuable than You Think: A Simple and Effective Method by Retrieving from Training Data[1]
- Code:microsoft/REINA[2]
一句话概述:在检索任务中训练数据在推理时也大有用处。
文章上来就给我们呈现了整体的结构:
有点类似 Prompt 学习,但本文主要关注有监督学习的设置。结果不仅效果很好,而且很容易扩展(只要增加有标注训练数据就行),计算代价也小。我觉得本文相对最有意思的一个发现是文中所写: 即便有成吨的参数,一个模型也不能记住训练数据中的所有模式。所以,重新捕获相关的训练数据作为一个手拉手提示器,就可以提供明确的信息来提高模型(推理)的性能。
整体架构如下图所示(REINA):
一张图其实已经很清楚地表达出意思了:对不同的任务构造不同的输入,但都会将训练数据拼接上后再喂入模型,得到最后的答案,这里的答案是通过语言模型生成的。检索算法使用 BM25。
形式化模型为:
其中,M 表示生成模型,x 是输入,大括号里的就是 top K 个检索到的最相似的训练数据。
对 QA 任务,将输入文本和每个选项拼接后作为 query,然后获取相关的训练数据。如果需要加入外部知识,则调整为:
其中,C 表示选项。拼接实体字典定义和关系 R,用来为一个 Q 构造知识 K。
Ex 表示与 Q 相关的实体,Ec 表示与 A 相关的实体。本文的相关指:在句子中出现。
用人话简单描述一下就是:给定 Q,在训练数据中找到相似的 QA 对,对每个 QA 对,找到其中所涉及的实体和关系,然后将实体的定义和关系也拼接进去,最后组成一长串文本作为模型输入。
相似检索使用 Lucene Index,模型训练使用 Transformers。实验结果(以文本摘要为例)如下:
结果显示,REINA 可以显著提升(几乎所有数据集)使用不同预训练模型初始化的基线。在 case 分析时,作者发现 REINA 的数据和真实标签之间有很强的相关性。
总之,本文的思路非常简单,但效果却不错,在工业上可以一试,尤其是生成式文本摘要和 QA 任务。不过,感觉这好像也算是一种 prompt 吧,使用训练数据来「拉近」输入和真实标签之间的距离。
本文参考资料
[1]
Training Data is More Valuable than You Think: A Simple and Effective Method by Retrieving from Training Data: https://arxiv.org/abs/2203.08773
[2]
microsoft/REINA: https://github.com/microsoft/REINA
相关文章
- 独家 | 如何在确保准确度>99%的前提下减少CNN的训练参数(附链接)
- 最全深度学习训练过程可视化工具(附github源码)
- pytorch-yolo训练自己的数据集
- YOLO3训练自己数据(超详细步骤)
- Pytorch实现YOLOv3训练自己的数据集
- Master of Typing 3 - Practice for Mac(打字大师3-手指盲打训练)
- MIT开发的这个无监督康复系统,能让你“看到”肌肉训练和恢复情况!华人学者一作
- 团队内训-分析和设计高阶(领域建模和领域驱动设计)训练方案(202209更新)
- 快递单中抽取关键信息【一】----基于BiGRU+CR+预训练的词向量优化
- 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等
- 4.基于Label studio的训练数据标注指南:情感分析任务观点词抽取、属性抽取
- NeurIPS 2022 | 如何正确定义测试阶段训练?顺序推理和域适应聚类方法
- 7 Papers & Radios | Hinton前向-前向神经网络训练算法;科学家造出「虫洞」登Nature封面
- 基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式
- 深度解决添加复杂数据增强导致训练模型耗时长的痛点
- Pytorch中如何使用DataLoader对数据集进行批训练
- 马斯克让上海特斯拉工人空降美国,训练美国人卷起来。。。
- 为训练数据建一个TB级计算「飞地」,联邦学习的靠谱实现方式了解一下?
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
- DALL-E和Flamingo能相互理解吗?三个预训练SOTA神经网络统一图像和文本
- 二值化网络如何训练?这篇ICML 2021论文给你答案
- Bard是拿ChatGPT数据训练的?谷歌顶级科学家抗议无果,出走OpenAI
- 细粒度语义理解超越CLIP!华为云与浙大联合发布多模态预训练模型LOUPE,无需人工标注,零样本迁移实现目标检测!
- 剑桥大学AI预测心脏病风险,训练数据含英国200万人口长期健康记录
- 数据不够怎么训练深度学习模型?不妨试试迁移学习