In-Context Retrieval-Augmented Language Models

本文是LLM系列文章,针对《In-Context Retrieval-Augmented Language Models》的翻译。

上下文检索增强语言模型

  • 摘要
  • 1 引言
  • 2 相关工作
  • 3 我们的框架
  • 4 实验细节
  • 5 具有现成检索器的上下文RALM的有效性
  • 6 用面向LM的重新排序改进上下文RALM
  • 7 用于开放域问答的上下文RALM
  • 8 讨论

摘要

检索增强语言建模(RALM)方法在生成过程中对基础语料库中的相关文档设置语言模型(LM),可以显著提高语言建模性能。此外,它们可以缓解事实上不准确的文本生成问题,并提供自然的来源归因机制。现有的RALM方法侧重于修改LM体系结构,以促进外部信息的合并,从而使部署显著复杂化。本文考虑了一个简单的替代方案,我们称之为上下文RALM:保持LM架构不变,并为输入准备基础文档,而不需要对LM进行任何进一步的训练。我们发现,建立在现成的通用检索器上的上下文RALM在模型大小和不同的语料库中提供了惊人的大LM增益。我们还证明了文档检索和排序机制可以专门用于RALM设置,以进一步提高性能。我们得出的结论是,In-Context RALM在增加LM基准的流行率方面具有相当大的潜力,特别是在必须在不修改甚至通过API访问的情况下使用预训练的LM的情况下。

1 引言

2 相关工作

3 我们的框架

4 实验细节

5 具有现成检索器的上下文RALM的有效性

6 用面向LM的重新排序改进上下文RALM

7 用于开放域问答的上下文RALM

8 讨论

从外部来源检索已成为知识密集型任务中的一种常见做法(如事实问答、事实核查等)。与此同时,LM生成能力的最新突破使LM能够生成有用的长文本。然而,事实上的不准确仍然是机器生成的文本可能达不到要求的常见方式,而且缺乏直接出处使人们很难信任机器生成的文字。这使得语言建模成为知识基础的一个有前途和紧迫的新应用领域,并推动了RALM方法的推广。当然,先前的研究已经对RALM进行了研究,但尚未广泛部署。一个可能的原因是,现有的方法依赖于对LM的微调,这通常是困难和昂贵的,并且对于仅通过API访问的LM来说甚至是不可能的。
本文提出了InContext RALM的框架,使冻结的现成LMs能够从检索中受益。我们证明了使用通用检索器可以获得显著的性能增益,并表明通过根据LM设置调整文档选择可以获得额外的增益。Muhlgay等人最近的一项工作(2023)表明,上下文RALM确实能够提高大型LMs的真实性。
今后的工作还有几个需要进一步改进的方向。首先,本文只考虑将单个外部文件置于上下文中的情况;增加更多的文档可以推动进一步的收益(例如,使用Ratner等人的框架)。其次,我们每隔一个固定的 s s s个token间隔就检索文档,但通过更稀疏的检索,例如只有在专门的模型预测需要检索时,我们才看到了巨大的延迟和成本收益的潜力。
我们发布了这项工作中使用的代码,供社区使用和改进。我们希望它能推动对RALM的进一步研究,从而使其得到更广泛的采用。

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

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

相关文章

JS小球绕着椭圆形的轨迹旋转并且近大远小

在ivx中案例如下: VxEditor 效果如下,近大远小 主要代码如下: const centerX 360 / 2; // 椭圆中心的X坐标 const centerY 120 / 2; // 椭圆中心的Y坐标 const a 100; // 长半轴 const b 60; // 短半轴const elementsWithClassName d…

Vim快捷键及使用技巧

Vim的几种模式: ● 普通模式:打开文件时的默认模式,在其他模式下按下ESC键都可返回到该模式。 ● 插入模式:按i/o/a键进入该模式,进行文本编辑操作,不同之处在于插入字符的位置在光标之前还是之后。 ● 命令行模式:普通模式下输入冒号(:)后会进入该模式,在该模式…

QEMU 仿真RISC-V freeRTOS 程序

1. 安裝RISC-V 仿真環境 --QEMU 安裝包下載地址: https://www.qemu.org/ 安裝命令及安裝成功效果如下所示, target-list 設定爲riscv32-softmmu, $ cat ~/project/qemu-8.0.4/install.sh sudo apt-get install libglib2.0-dev sudo apt-get install libpixman-1-dev ./co…

设计模式之组合模式

文章目录 一、介绍二、案例 一、介绍 组合模式(Composite Pattern),属于结构型设计模式。组合模式常用于树形的数据结构,比如:多级菜单、部门层级关系、html文本中的dom树。它的特点是使用户对单个对象和组合对象的使用是相同的。 二、案例…

golang逃逸技术分析

“ 申请到栈内存好处:函数返回直接释放,不会引起垃圾回收,对性能没有影响。 申请到堆上面的内存才会引起垃圾回收。 func F() { a : make([]int, 0, 20) b : make([]int, 0, 20000) l : 20 c : make([]int, 0, l)} “ a和b代码一样&#xff0…

自动化管理管理工具----Ansible

目录 ​编辑 一、Ansible概念 1.1特点 二、工作机制(日常模块) 2.1 核心程序 三、Ansible 环境安装部署 四、ansible 命令行模块 4.1command 模块 4.2shell 模块 4.3cron 模块 4.4user 模块 4.5group 模块 4.6copy模块 4.7file模块 4.8ho…

保护网站安全:学习蓝莲花的安装和使用,复现跨站脚本攻击漏洞及XSS接收平台

这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。 环境准备 一、XSS基础 1、反射型XSS 攻击介绍 原理 攻击者通过向目标网站提交包含恶意脚本的请求,然后将该恶意脚本注入到响应页面中,使其他用户在查看…

Linux 通过 Docker 部署 Nacos 2.2.3 服务发现与配置中心

目录 环境准备Nacos 数据库创建Docker 部署 Nacos1. 创建挂载目录2. 下载镜像3. 创建和启动容器4. 访问控制台 导入 Nacos 配置SpringBoot 整合 Nacospom 依赖application.yml 配置 参考官方链接微服务商城源码 环境准备 名称版本IP端口Nacos2.2.3192.168.10.218848、9848MySQ…

Linux学习之Ubuntu 20使用systemd管理OpenResty服务

sudo cat /etc/issue可以看到操作系统的版本是Ubuntu 20.04.4 LTS,sudo lsb_release -r可以看到版本是20.04,sudo uname -r可以看到内核版本是5.5.19,sudo make -v可以看到版本是GNU Make 4.2.1。 需要先参考我的博客《Linux学习之Ubuntu 2…

Spring-SpringBoot-SpringMVC-MyBatis常见面试题

文章目录 Spring篇springbean是安全的的?什么是AOP你们工作中有用过AOP吗spring中的事务是如何实现的spring中事务失效场景Spring的生命周期spring中的循坏依赖springMVC的执行流程springboot的启动原理常用注解MyBatis执行流程Mybatis是否支持延迟加载?Mybatis的一…

学习创建第一个 React 项目

目标 本篇的目标是配置好基础的环境并创建出第一个 React 项目。 由于之前没接触过相关的知识,所以还需要了解其依赖的一些概念。 步骤主要参考First React app using create-react-app | VS code | npx | npm - YouTube 0. 简单了解相关概念 JavaScript 一种语…

Python Qt(七)Listview

源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_listview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

CLICK HOUSE

一、clickhouse简介 MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。 ClickHouse的全称由两部分组成&#xf…

BigDecimal百科全书

一、BigDecimal简述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。 一般情况下,…

爬虫逆向实战(二十一)-- 某某点集登录与获取数据

登录 一、数据接口分析 主页地址:某某点集 1、抓包 通过抓包可以发现登录接口是phonePwdLogin 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有pwd和sig两个加密参数 请求头是否加密? 无响应是否加密&#x…

ICCV 2023 | 小鹏汽车纽约石溪:局部上下文感知主动域自适应LADA

摘要 主动域自适应(ADA)通过查询少量选定的目标域样本的标签,以帮助模型从源域迁移到目标域。查询数据的局部上下文信息非常重要,特别是在域间差异较大的情况下,然而现有的ADA方法尚未充分探索这一点。在本文中&#…

C#2010 .NET4 解析 json 字符串

下载Newtonsoft.Json.dll using System; using System.Collections.Generic; using System.Linq; using System.Text;using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; namespace ConsoleApplication1 {class Program{static void Main(string[] args){strin…

MySQL多表联查如何建立索引?

在 MySQL 数据库中,设计索引主要是为了提高查询的效率,降低数据库的压力。当我们进行多表查询时,正确设计索引非常重要。 具体方法与建议: 为连接列创建索引:在多表查询中,连接列通常是性能瓶颈。为这些列…

SpringBoot+MyBatisPlus+MySql+vue2+elementUi的案例、java访问数据库服务、java提供接口服务

文章目录 前言后端关键代码前端关键代码完整代码 前言 1、项目不使用前后端分离。 2、在创建SpringBoot的时候要注意各个插件间的版本问题。 3、后端技术SpringBootMyBatisPlusMySql。 4、前端技术vue2elementUi。 后端关键代码 简单介绍 1、数据库名称ssm_db 2、表名称tbl_bo…