【论文阅读】Reliable, Adaptable, and Attributable Language Models with Retrieval

news2024/10/27 23:20:36

文章目录

  • Overview
  • Current Retrieval-Augmented LMs
    • Architecture
    • Training
  • Limitations & Future Work

Overview

在这里插入图片描述

Parametic language models的缺点:

  • 事实性错误的普遍存在
  • 验证的难度(可溯源性差)
  • 难以在有顾虑的情况下排除某些序列
  • 适应调整的计算成本高昂
  • 模型规模过大

Retrieval-augmented languague models更加Reliable, Adaptable, and Attributable

  • 大幅度减少事实性错误
    • 尤其是在long-tail知识上
  • 更好的可溯源性
  • 允许灵活的序列加入和退出(在检索的source里面增加和删除相应的sequence就可以)
  • 很容易adapt到新领域
  • 是更加参数高效的(不需要很大的参数量)

目前的Retrieval-augmented languague models面临的主要挑战

  • 现有的方法主要利用高语义相似度来检索外部信息,当知识库中没有相关信息或者不符合传统的相关性定义的时候,表现不好
    • 比如对非knowledge-intensive任务,增益就不高
  • 直接把检索到的文本拼接到输入中,导致语言模型和检索的交互不充分。这会引起:unsupported generations; susceptibility to irrelevant text; and challenges in handling information from multiple pieces of text
  • 缺乏对提升检索增强型语言模型在大规模训练和推理中的效率的研究

Retrieval-augmented languague models未来的方向

  • 重新审视相关性的概念,并深入理解有效数据存储的构成,尤其是探索应从各种数据存储中检索的信息类型,以提升在更广泛任务中的表现
  • 确保这两个组件之间更深入的交互,包括架构设计、预训练和后训练的调整,而不是仅关注对现有参数化语言模型的补充增强
  • 呼吁在硬件、系统和算法领域开展更多开源的跨学科合作,来构建支持训练和推理的基础设施(e.g., scaling datastore to trillion tokens)

Current Retrieval-Augmented LMs

Architecture

在这里插入图片描述

在这里插入图片描述

现有的Retrieval-augmented LMs按照结合检索文档的方式,可以分为三类:1) input augmentation, 2) intermediate fusion, and 3) output interpolation.

  • input augmentation:

    • 利用检索文档直接增强原始输入

    • 缺点:redundancy and inefficiency-直接拼接文档会导致超出上下文长度限制,以及增加inference开销

      • FID用于缓解这个问题,但是对每个输入,相同的文档还是可能会重复编码。decoder需要解码序列长度还是会增大

        在这里插入图片描述

  • intermediate fusion(以RETRO系列为代表):

    • takes many pre-encoded text chunks independent of query x and simultaneously incorporates them in intermediate spaces.
    • 缺点:需要大量的架构改动,并对语言模型的新编码模块进行预训练
  • output interpolation(以KNN LM为代表)

    • 将LM的token分布与检索到的token分布直接结合

Training

训练整个retrieval-augmented LMs可以分为两类:independent or sequential training and joint training

  • Independent or sequential training
    • Independent (以KNN LM和最近的一些开箱即用的方法为代表):Retriever和LM是独立训练的,训练过程中没有交互。大家利用现有的训练pipeline和训练目标来分别增强检索和LM
    • Sequential:先训练retriever或者LM,再利用训练好的这部分提供的信号,来训练另一部分
      • 先训retriever:以DPR为代表
      • 利用LM的信号来训retriever:以REPLUG为代表
  • Joint training:同时训练retriever和LM,以增强二者的交互和整个端到端的pipeline
    • 一个最主要的问题就是巨大的开销:因为更新检索器之后需要对文本重新编码,而文本数量往往巨大。在每次更新完检索器都对datastore中的文档重新编码是不现实的
    • 目前主要方法有两种
      • Asynchronous updating:在retriever更新n步之后再更新文档的编码,这样在训练的时候就可以像inference时一样,利用整个语料库
      • In-batch approximation:每次都对batch内的文本进行编码,仅在这个batch上进行优化,而不适应整个语料库
        • 这个我理解就是我们训练retriever时的,in-batch negative训练方法

Limitations & Future Work

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2225011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity插件-Intense TPS 讲解

目录 关于TPS 打开场景:WeaponTest.unity, 只要把这些枪点,打开(默认隐藏,不知道为何), 一开始不能运行如何修复 总结 关于TPS 个人不是TPS,FPS的射击游戏爱好者, 不过感觉这个枪感&…

Linux系统中使用yum命令详细安装MariaDB数据库的步骤

前言 mysql和mariadb的区别 MySQL:最初由瑞典的MySQL AB开发,后被Sun Microsystems收购,最终被Oracle收购。MariaDB:由MySQL的原始开发者Michael Widenius领导的团队开发,目标是保持与MySQL的兼容性,并提…

部署前后端分离若依项目--CentOS7宝塔版

准备: CentOS7服务器一台 通过网盘分享的文件:CentOS 7 h 链接: https://pan.baidu.com/s/17DF8eRSSDuj9VeqselGa_Q 提取码: s7x4 大家有需要可以下载这个,密码61 若依前端编译后文件 通过网盘分享的文件:ruoyi-admin.jar 链…

【K8S】快速入门Kubernetes

之前企业都是使用容器化和来构建自己的服务和应用程序,其中容器化优点有很多:提升了部署效率、稳定性、提高了资源的利用率降低了成本。 但是也带来了一些新的问题:容器的数量变得很多,管理就是一个新的问题。所以Kubernetes就出…

【K8S系列】Kubernetes 中 Service IP 地址和端口不匹配问题及解决方案【已解决】

在 Kubernetes 中,Service 是实现 Pod 之间和 Pod 与外部之间通信的关键组件。Service 的 IP 地址和端口配置不当可能导致应用无法正常访问。本文将详细分析 Service IP 地址和端口不匹配的问题,常见原因及其解决方案。 一、问题描述 Service IP 地址和…

草稿1111

服务端: 启动nfs服务器服务和rpcbind 服务: 写配置文件: 重新导出所有当前已导出的文件系统: 这个命令会立即停止 firewalld 服务,并将其设置为在系统启动时不自动启动: 客户端: 启动nfs服务器…

练习LabVIEW第十九题

学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第十九题: 创建一个程序把另外一个VI的前面板显示在Picture控件中 开始编写: 在前面板放置一个二…

银河麒麟V10通过tigervnc实现远程桌面和windows系统连接

1、查看系统版本:uname -a Linux localhost.localdomain 4.19.90-89.16.v2401.ky10.x86_64 #1 SMP Sat Sep 14 13:09:47 CST 2024 x86_64 x86_64 x86_64 GNU/Linux 2、查看是否具有桌面环境:yum grouplist 安装VNC需要具有桌面环境 3.、安装tigervnc: yum install tigervnc…

C++——string的模拟实现(上)

目录 引言 成员变量 1.基本框架 成员函数 1.构造函数和析构函数 2.拷贝构造函数 3.容量操作函数 3.1 有效长度和容量大小 3.2 容量操作 3.3 访问操作 (1)operator[]函数 (2)iterator迭代器 3.4 修改操作 (1)push_back()和append() (2)operator函数 引言 在 C—…

GoFly快速开发框架已集成了RTSP流媒体服务器(直播、录播)代码插件-开发者集成流媒体服务器更加方便

温馨提示:我们分享的文章是给需要的人,不需要的人请绕过,文明浏览,误恶语伤人! 说明 本代码包是音视频流媒体服务器,支持RTSP推流到服务器、服务端录像与回放。在视频直播、安防及车辆监控视频上云、无人…

解读AVL树:平衡二叉搜索树的奥秘

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C:由浅入深篇 小新的主页:编程版小新-CSDN博客 前言: 前面我们已经介绍了二叉搜…

编译却出现Error: C9555E: Failed to check out a license.问题解决

学stm32的时候,照着操作突然发现编译报错。 去网上搜索答案的时候发现了这篇文章:参考博客:KEI5许可证没到期,编译却出现Error: C9555E: Failed to check out a license.问题解决 根据网上找的资料发现应该是版本问题导致的。在上一篇博客…

Prompt提示词设计:如何让你的AI对话更智能?

Prompt设计:如何让你的AI对话更智能? 在人工智能的世界里,Prompt(提示词)就像是一把钥匙,能够解锁AI的潜力,让它更好地理解和响应你的需求。今天,我们就来聊聊如何通过精心设计的Pr…

【纯血鸿蒙】安装hdc工具

这里我先写Mac版的,Windows的在下面 首先要知道你的SDK安装在哪里了,不知道的话,可以打开DevEco Studio,打开设置页面里的HarmonyOS SDK,这个我们之前配置环境变量的时候用过。 其实主要是用到这里toolchains下的hdc命令。 所以我们需要配置环境变量。 1、打开Mac下的…

关于OpenFeign中@GetMapping不支持Java对象传递

原因:在使用openfeign远程调用的时候,使用get请求时候发现,如果feign里面传的是实体,当然接口里面也是需要传实体,但是发现出错了,后来去官网找了一下,发现get请求不支持传入Java实体对象&#…

网络原理之 TCP解释超详细!!!

TCP 有连接的 可靠传输 面向字节流 全双工 其中最核心的是可靠传输 那么 TCP 如何使用可靠传输的 ??? 我们尽可能传过去, 如果传不过去,发送方至少知道自己没传过去, 所以在于接收方, 收到或者没有收到, 都会有应答的操作 1. 确认应答 实现可靠性最核心的机制!!! 引出 …

一种解决Leaflet中Divicon城市气温标注空间重叠的办法

目录 前言 一、一些解决办法 1、marker的聚类 2、使用leaflet-canvas-label 3、使用Zoom和样式控制 二、基于rbush和Leaflet.LayerGroup.Collision的解决办法 1、关于rbush 2、Leaflet.LayerGroup.Collision.js 三、解决标签重叠的具体实现 1、添加元数据 2、添加到…

理解OAuth2与用户账户与授权UAA的关系

目录 关于OAuth2OAuth2的核心组件授权流程授权模式使用场景优点与缺点 关于UAA技术解释 UAA与OAuth2的关系 关于OAuth2 ‌‌OAuth2(开放授权2.0)是一个开放标准,用于授权第三方应用程序访问用户资源,而无需共享用户的用户名和密码…

c语言中值调用(call by value)方式和引用调用(call by reference)

在C语言中参数传递主要有两种方式:通过值调用(call by value)和通过引用调用(call by reference)。 通过值调用(Call by Value) 说明:当使用值调用时,函数接收到的是参数…

(三)第一个Qt程序“Qt版本的HelloWorld”

一、随记 我们在学习编程语言的时候,各种讲解编程语言的书籍中通常都会以一个非常经典的“HelloWorld”程序展开详细讲解。程序虽然简短,但是“麻雀虽小,五脏俱全”,但是却非常适合用来熟悉程序结构、规范,快速形成对编…