HyDE、UDAPDR(LLM大模型用于信息检索)

本篇博文继续整理LLM在搜索推荐领域的应用,往期文章请往博主主页查看更多。

Precise Zero-Shot Dense Retrieval without Relevance Labels
这篇文章主要做zero-shot场景下的稠密检索,通过借助LLM的力量不需要Relevance Labels,开箱即用。作者提出Hypothetical Document Embeddings (HyDE)方法,即“假设”文档嵌入。具体的做法是通过GPT生成虚构的文档,并使用无监督检索器对其进行编码,并在其嵌入空间中进行搜索,从而不需要任何人工标注数据。
s i m ( q , d ) = < e n c q ( q ) , e n c d ( d ) = < v q , v d > > sim(q,d)=<enc_q(q),enc_d(d)=<v_q,v_d>> sim(q,d)=<encq(q),encd(d)=<vq,vd>>模型结构如下图所示,HyDE将密集检索分解为两个任务,即 instruction-following的LM生成任务和对比编码器执行的文档相似性任务。
在这里插入图片描述

  • write a document that answers the question。对于给定一个query,将由InstructGPT生成一个能回答该query的假设文档,即a hypothetical document。
  • relevance。然后使用无监督的稠密检索模型(Contriever)把该文档表示为稠密向量。
  • 最后基于最近邻从语料库中找到相似的文档即可。

paper:https://arxiv.org/pdf/2212.10496
code:https://github.com/texttron/hyde


在这里插入图片描述

UDAPDR: Unsupervised Domain Adaptation via LLM Prompting and Distillation of Rerankers
来自斯坦福和IBM。motivation在于目前很多信息检索任务需要在大型标记数据集上微调,但是此类数据集通常不可用,并且由于领域转移,它们在现实世界应用程序中的实用性可能会迅速降低。因此,作者们提出了一种利用LLM来生成大量合成查询的方法,即先使用昂贵的 LLM 生成少量合成查询,然后创建大量合成查询,最后用这些合成结果进行模型训练精排模型并蒸馏到一个高效的稠密检索模型。这种技术可以提高长尾域中的zero-shot准确性,即使在仅使用 2K 合成查询进行微调的情况下,效果就很好。

在这里插入图片描述

具体来说,本文设计了一个两阶段的LLM pipeline,包括一个能力强大且昂贵的LLM,以及一个小且便宜的LLM,用于在zero-shot场景下生成query。

  • Stage 1:使用LLM(text-davinci-002)生成大量的query,如上图,该过程会使用多种提示策略。

  • Stage 2:基于Stage1中生成的查询,与来自目标域T的好/坏结果的合成查询配对,如下图所示。
    在这里插入图片描述

  • Stage 3:使用生成的query文档对,以in-context learning的形式使用小LLM(FLAN-T5 XXL)更高效地生成query。

  • Stage 4:利用Stage 3的结果,从头训练单个的passage reranker(DeBERTaV3-large),以当作教师教师机来蒸馏。

  • Stage 5:Stage4的领域特定通道通道作为多教师在多教师蒸馏过程中蒸馏到ColBERTv2中。

  • Stage 6:在目标域t的评估集上测试这个自适应域的ColBERTv2检索器。

paper:https://arxiv.org/pdf/2303.00807
code:https://github.com/primeqa/primeqa/

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

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

相关文章

matlab2018a 安装指南

安装步骤&#xff1a; 如下截图&#xff0c;先安装1&#xff0c; 输入密钥09806-07443-53955-64350-21751-41297 安装完了弹出1 弹出1后&#xff0c;双击2 双击2后&#xff08;此时2已载入&#xff09;&#xff0c;会有新的盘出现&#xff0c;如下&#xff1a; 在安装1…

Matlab R2022a安装

1、在“Mathworks Matlab R2022a\R2022a_Windows”目录中找到setup.exe双击。选择“我有文件安装密钥”&#xff0c; 2、输入文件安装密钥&#xff1a;“50874-33247-14209-37962-45495-25133-28159-33348-18070-60881-29843-35694-31780-18077-36759-35464-51270-19436-54668-…

RGB图片像素点随机化——Matlab实现

在分析照片各个区域的色度、亮度平均值时&#xff0c;为了使每行/每列/整体的像素点特征分布均匀以加快分析速度、减小误差时&#xff0c;这时候就要对像素点进行随机化操作&#xff0c;也就是洗牌。 用Matlab来完成此任务再合适不过了。对于RGB类型的彩色图片&#xff0c;它在…

Matlab2018a安装教程

Matlab2018a 安装教程 1. 安装之旅 第一步&#xff1a;下载好压缩包后&#xff0c;对压缩包进行解压&#xff0c;由于文件比较大&#xff0c;需要花费一些时间。 第二步&#xff1a;打开解压后的文件&#xff0c;找到 setup&#xff0c;右击以管理员身份运行&#xff0c;稍后…

Matlab R2020b安装

matlab2020b安装 一&#xff0c;下载 百度网盘 链接&#xff1a;https://pan.baidu.com/s/18iLFaAbWt8IntUefX3eWfA 提取码&#xff1a;p6in 如果下载很慢的话应该是没开p2p加速(最近度盘良心发现加了个p2p下载) 开启方法&#xff1a; 打开设置 开启提速模式 开启后会提供…

Matlab2018破解方法

原文&#xff1a;http://www.zhanshaoyi.com/6938.html 软件下载&#xff1a; Matlab R2018a_64位中文破解版&#xff1a;【点击下载】 安装前须知&#xff1a; 1.安装全程须断开电脑网络&#xff0c;否则安装不成功&#xff1b; Matlab 2018a的安装包必须使用虚拟光驱加载&…

MATLAB模拟QKD,基于STK和MATLAB的星地量子密钥分发仿真系统的制作方法

本发明属于量子信息处理技术领域,涉及一种基于stk和matlab的星地量子密钥分发仿真系统。 背景技术: 目前,自由空间量子密钥分发的研究仍局限于在星地平台的实验探索,相比于信道状态相对稳定的光纤量子密钥分发系统,自由空间量子密钥分发信道动态开放,并且缺乏有效的主动监…

基于MATLAB的混沌数字图像加密技术研究与仿真实现

摘 要 近年来&#xff0c;图像数据信息的安全性逐渐受到人们的关注&#xff0c;为了保证图像的可靠传输&#xff0c;混沌系统被引入图像加密技术。本文主要研究了两种基于混沌系统的图像加密方案。第一种方案是基于超混沌系统和 DNA 编解码运算相结合的图像加密算法&#xff0c…

MATLAB 2018a安装

matlab2018a的安装 matlab的各个版本的安装过程都是大同小异&#xff0c;安装过程中都需要断网。 第一步&#xff1a;如下所示&#xff0c;双击.iOS文件 第二步&#xff1a;以管理员的身份运行setup 第三步&#xff1a;选择使用文件安装密钥&#xff0c;之后点击下一步 第四…

archlinux 安装matlab

最近在学matlab使用的是windows版本的&#xff0c;比起windows我更喜欢在linux中写代码。于是乎就想在Linux中安装一下。 主要过程参考此篇文章&#xff1a; 《【首发】 ubuntu20.04安装matlab2021b/matlab2020b》 https://blog.csdn.net/hanjuefu5827/article/details/1151677…

2019matlab安装

本文转载自Matlab R2019a Win64位 迅雷下载链接_Yohaoa-CSDN博客_matlab迅雷下载 和MATLAB 2019a安装教程和破解方法(附Crack文件) | 我爱分享网 1.下载安装包18G&#xff0c;迅雷磁力链&#xff1a; magnet:?xturn:btih:733DFBA6CCC23DB9FFD6287C169A15664897E78D 2.在打开…

matlab更改安全密钥,Linux下设置安全密钥登录

步骤&#xff1a; 1、本地生成密钥(公钥和私钥)&#xff1a; (1) 本地是 Windows 系统&#xff1a; 打开 XShell &#xff0c;选择 Tool >> New User Key Wizard 密钥长度可以是1024或2048&#xff0c;导出公钥&#xff0c;假设文件名为&#xff1a; Ubuntu_59_rsa_2048.…

Matlab R2014b安装教程

1&#xff0c;下载Matlab R2014b ISO格式安装包 2&#xff0c;用虚拟光驱加载下载的ISO格式安装包 3&#xff0c;双击setup&#xff0c;开始安装&#xff0c;选择不联网安装&#xff0c;许可证安装密钥为11111111111111111111 4&#xff0c;选择安装位置&#xff0c;这里…

微信公众号网页授权步骤过程

微信公众号网页授权 准备工作网页授权 准备工作 登录微信公众平台&#xff0c;启用“服务器配置”并添加相关配置 &#xff08;1&#xff09;代码中加入token校验的验证&#xff0c;这时可正确配置服务器&#xff0c;如下图&#xff1a; 其中url和token值要相对应。 GetMappi…

Django+微信公众号开发小项目

最近搞了点事情&#xff0c;因为web.py对微信公众号开发时不方便扩展和复用&#xff0c;使用Django开发微信公众号。使用celery推送模板消息到用户微信上&#xff0c;最终方便以后重复利用和功能增加。 01 准备 python3环境 微信公众号 可用域名 Mysql数据库 redis数据库 …

微信公众号开发流程

1、首先注册微信公众号&#xff0c;要根据实际需求考虑清楚应该申请哪一种公众号 以下是官方给出的建议&#xff0c;大家可以多参考参考 1&#xff09;如果想简单的发送消息&#xff0c;达到宣传效果&#xff0c;建议可选择订阅号&#xff1b; 2&#xff09;如果想用公众号获得…

微信公众号程序开发接入流程

文章目录 文章简介微信公众号程序介绍传统H5网页&#xff0c;无需微信支持建立在微信支持下开发的微信公众号程序第一步第二步 文章简介 公司常有微信公众号程序开发的项目&#xff0c;每次接入微信时都要四处查找以前的代码&#xff0c;百度接入微信公众号的流程。浪费大量时间…

微信公众号白名单配置

微信公众号白名单配置 微信公众号升级之后&#xff0c;在获取access_token的时候需要配置IP白名单&#xff0c;如下图&#xff1a; 那么这个白名单是干什么的呢&#xff1f;微信给的解释是&#xff1a;为了提高公众平台开发者接口调用的安全性&#xff0c;避免一旦开发者ID和密…

uni-app开发微信公众号

一、公众号JSSDK使用 【1】验证后端返回的签名是否正确 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tjsapisign &#xff08;1&#xff09;jsapi_ticket获取方法&#xff1a;&#xff08;注意把本地IP放入白名单&#xff09; 1&#xff09; https://api.weixin.qq.com…

微信公众号--发送模板消息

目录 一、登录微信公众平台二、开通模板消息三、增加及选择模板四、在项目中配置使用五、遇见的问题 一、登录微信公众平台 1、搜索微信公众平台 2、扫码登录后即可跳转 二、开通模板消息 1、在左侧菜单栏找到模板消息 若找不到则点击新的功能 2、点击新的功能后&#x…