0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在检索任务中训练数据在推理时也大有用处

深度学习自然语言处理 来源:NewBeeNLP 作者:h1654155273.8628 2022-06-15 10:57 次阅读

从大规模数据中检索通常比较耗时,仅从训练数据中也能有巨大收益。具体做法是检索与输入文本最相似的训练样例,拼接后作为输入喂入模型,然后生成结果。结果在摘要、翻译、语言模型和QA上都取得了不错的效果。

论文:Training Data is More Valuable than You Think: A Simple and Effective Method by Retrieving from Training Data[1]

Code:microsoft/REINA[2]

一句话概述:在检索任务中训练数据在推理时也大有用处。

文章上来就给我们呈现了整体的结构:

b2e83ada-ebed-11ec-ba43-dac502259ad0.jpg

有点类似 Prompt 学习,但本文主要关注有监督学习的设置。结果不仅效果很好,而且很容易扩展(只要增加有标注训练数据就行),计算代价也小。我觉得本文相对最有意思的一个发现是文中所写:即便有成吨的参数,一个模型也不能记住训练数据中的所有模式。所以,重新捕获相关的训练数据作为一个手拉手提示器,就可以提供明确的信息来提高模型(推理)的性能。

整体架构如下图所示(REINA):

b316d20a-ebed-11ec-ba43-dac502259ad0.jpg

一张图其实已经很清楚地表达出意思了:对不同的任务构造不同的输入,但都会将训练数据拼接上后再喂入模型,得到最后的答案,这里的答案是通过语言模型生成的。检索算法使用 BM25。

形式化模型为:

其中,M 表示生成模型,x 是输入,大括号里的就是 top K 个检索到的最相似的训练数据。

对 QA 任务,将输入文本和每个选项拼接后作为 query,然后获取相关的训练数据。如果需要加入外部知识,则调整为:

其中,C 表示选项。拼接实体字典定义和关系 R,用来为一个 Q 构造知识 K。

Ex 表示与 Q 相关的实体,Ec 表示与 A 相关的实体。本文的相关指:在句子中出现。

用人话简单描述一下就是:给定 Q,在训练数据中找到相似的 QA 对,对每个 QA 对,找到其中所涉及的实体和关系,然后将实体的定义和关系也拼接进去,最后组成一长串文本作为模型输入。

相似检索使用 Lucene Index,模型训练使用 Transformers。实验结果(以文本摘要为例)如下:

b3394fe2-ebed-11ec-ba43-dac502259ad0.jpg

结果显示,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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6504

    浏览量

    87444
  • 检索
    +关注

    关注

    0

    文章

    26

    浏览量

    13082

原文标题:ACL2022 | 微软:永远不要低估你的训练数据!

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无法AURIX™ Development Studio调试freeRTOS任务怎么解决?

    我们正在开发 AURIX™ TriCore™ TC389 控制器。 你能否建议需要使用哪个 RTOS 以及首选 IDE调试器来进行开发过程? 此外,我无法 AURIX™ Development Studio 调试 freeRTOS
    发表于 01-18 07:41

    ChatGPT是一个好的因果推理器吗?

    因果推理能力对于许多自然语言处理(NLP)应用至关重要。最近的因果推理系统主要基于经过微调的预训练语言模型(PLMs),如BERT [1] 和RoBERTa [2]。
    的头像 发表于 01-03 09:55 427次阅读
    ChatGPT是一个好的因果<b class='flag-5'>推理</b>器吗?

    【爱芯派 Pro 开发板试用体验】爱芯派部署ChatGLM3(一)

    Face TGI 的最新版本,推理速度提升了 2-3 倍,推理成本降低一倍,每千 tokens 仅 0.5 分,成本相对最低。这些数据足以表明,ChatGLM 系列模型
    发表于 12-17 22:54

    HarmonyOS:使用MindSpore Lite引擎进行模型推理

    使用 MindSpore Lite 推理引擎进行模型推理的通用开发流程。 基本概念 进行开发前,请先了解以下概念。 张量 :它与数组和矩阵非常相似,是 MindSpore Lite 网络运算
    发表于 12-14 11:41

    HarmonyOS CPU与I/O密集型任务开发指导

    ({ type: \'message\', value: \'send message is invalid\' }); break; } } Worker线程完成任务之后,执行Worker线程销毁操作
    发表于 09-26 16:29

    深度学习框架区分训练还是推理

    深度学习框架区分训练还是推理吗 深度学习框架是一个非常重要的技术,它们能够加速深度学习的开发与部署过程。在深度学习中,我们通常需要进行两个关键的任务,即训练
    的头像 发表于 08-17 16:03 929次阅读

    如何提高YOLOv4模型的推理性能?

    使用 PyTorch 对具有非方形图像的 YOLOv4 模型进行了训练。 将 权重转换为 ONNX 文件,然后转换为中间表示 (IR)。 无法确定如何获得更好的推理性能。
    发表于 08-15 06:58

    C++演示推理速度比Python演示推理速度更快是为什么?

    同一主机机上采用相同型号的 Ran Object Detection C++ 演示 和 对象检测 Python 演示 。 C++ 演示推理速度比 Python 演示
    发表于 08-15 06:52

    如何用PyArmNN加速树莓派上的ML推理

    本指南向您展示如何训练可以识别图像的火焰的神经网络。的能力识别火灾意味着神经网络可以使火灾探测系统更加可靠和有效。本指南将向您展示如何使用Python应用程序编程接口(api)进行以下操作 Arm
    发表于 08-02 15:40

    智能网卡简介及其高性能计算的作用

    大型计算节点集群才能训练具有大量数据的如此庞大的 DNN。SmartNIC 已成为现代网络基础设施的关键组件,专门设计用于增强网络性能、减少延迟并提高整体系统效率。SmartNIC是智能网络接口卡
    发表于 07-28 10:10

    基于多任务训练模块化提示

    Prompt Tuning 可以让预训练的语言模型快速适应下游任务。虽然有研究证明:当训练数据足够多的时候,Prompt Tuning 的微调结果可以媲美整个模型的
    的头像 发表于 06-20 11:04 349次阅读
    基于多<b class='flag-5'>任务</b>预<b class='flag-5'>训练</b>模块化提示

    如何跳过SPL的ddr训练

    我正在优化启动速度,ddr 训练 SPL 需要 360ms,所以我想跳过它。 我厌倦了 ddr 训练后注意 ddrphy_traine
    发表于 06-01 08:16

    求分享用于EEPROM存储/检索数据的库

    我写了一些实用函数来管理 ESP 上 EEPROM 数据。我现在将它重组为一个库,以便我可以在其他项目中方便地使用它。我想把它贴在github上。我看到有一个区域“ESP8266 社区论坛”是放置它的好地方。 我可以该区域
    发表于 05-22 10:21

    人工智能中的训练推理

           在想要训练一个能区分苹果和香蕉的模型,你需要搜索一些苹果和香蕉的图片,将这些图片放在一起构成训练数据集(Training Dataset),训练
    的头像 发表于 05-16 09:46 1652次阅读
    人工智能中的<b class='flag-5'>训练</b>与<b class='flag-5'>推理</b>

    基于预训练语言模型设计了一套统一的模型架构

    进一步,本文研究了在更依赖 KG 的知识库问答任务中如何利用 PLM。已有研究通常割裂地建模检索-推理两阶段,先从大规模知识图谱上检索问题相关的小子图,然后在子图上
    的头像 发表于 04-07 10:38 420次阅读