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

2023-11-18

本篇博文继续整理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/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HyDE、UDAPDR(LLM大模型用于信息检索) 的相关文章

随机推荐

  • 【往届均已检索】2023年控制理论与应用国际会议(ICoCTA 2023)

    往届均已检索 2023年控制理论与应用国际会议 ICoCTA 2023 重要信息 会议网址 www icocta org 会议时间 2023年10月20 22日 召开地点 福建 厦门 截稿时间 2023年8月30日 录用通知 投稿后2周内
  • 时间格式2019-06-27T16:00:00.000Z转换为北京时间

    时间的描述 UTC 国际时间 UTC 8 伦敦时间 UTC 8就是国际时加八小时 是东八区时间 也就是北京时间 String dateTime 2019 06 27T16 00 00 000Z dateTime dateTime repla
  • 让ChatGPT帮你写一个剧情脚本

    最近 很多视频制作者正在使用AI编写视频脚本 效率直接提升20倍以上 而ChatGPT作为一个强大的AI模型 在各个领域都得到了广泛应用 尽管对于ChatGPT的介绍不是很多 但是它已经在很多自媒体平台上被广泛利用来处理工作了 如果你想学习
  • 激活函数及其各自的优缺点

    原文链接 感谢原作者 温故知新 激活函数及其各自的优缺点 1 什么是激活函数 所谓激活函数 Activation Function 就是在人工神经网络的神经元上运行的函数 负责将神经元的输入映射到输出端 激活函数对于人工神经网络模型去学习
  • 整体学习法之信息分类

    在学习的时候 我们都是有一个流程 获取信息 gt 理解信息 gt 扩展信息 gt 纠正信息 gt 应用信息 信息分成以下几类 随意信息 比如太阳半径多少 苹果的价格这些 都是一些毫无规律的东西 这些就是靠机械记忆 几乎不需要什么处理 也没有
  • [YOLO专题-16]:YOLO V5 - 如何把labelme json训练数据集批量转换成yolo数据集

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122334367 目录 前言 第1章
  • Java高级开发工程师面试题汇总

    面试主要涉及到的技术点 概述 以Java编程基础 JVM原理 Spring Spring Boot Redis Zookeeper 消息队列 Kafka Rocket MQ MySQL等为主 也包括Dubbo Tomcat性能优化 容器化技
  • 被腾讯云的AI绘画整破防了

    购买 618活动 贪便宜29 9买了个腾讯云的AI绘画 问题 主要遇到了两个问题 整破防了兄弟们 1 文档问题 只封装了请求之后获取base64格式的图片 没有封装如何从base64转换成图片展示出来 这个还需要自己去开发 2 sdk 安装
  • mysql 续行符_继续字符集——「一个命令行搞懂Mysql字符集」

    其实我纠结挺久 要不要写这一篇文章 不怎么想让大家感觉我好像只会字符集一样 Mysql在数据的存储上 提供了不同的字符集支持 在数据的比对上 又提供了不同的字符序支持 与Oracle实例级别的设置不同 Mysql很灵活 它提供了不同级别的设
  • 蓝桥杯算法训练VIP-求先序排列

    题目 题目链接 题解 递归 首先要了解什么是先序遍历 中序遍历和后序遍历 大佬讲解树的遍历 一般同学们应该都知道如何遍历 这个题有点像模拟实现题 就是把你手算的过程实现一遍 整体思路 先从后序遍历中确定根 再去中序遍历中找到根的左右两侧的子
  • 超线程技术

    超线程 HT Hyper Threading 是英特尔研发的一种技术 于2002年发布 超线程技术原先只应用于Xeon 处理器中 当时称为 Super Threading 之后陆续应用在Pentium 4 HT中 早期代号为Jackson
  • 字体图标的使用方式

    字体图标的使用 无论用哪种方法 咋们首先都得引入文件 如何使用字体图标呢 首先咋们要先了解到一个东西 这个东西就是字体图标库 https www iconfont cn 字体图标有四种引入方式 无论何种引入方式 都要先下载本地字体包 引入c
  • Anaconda Navigator打不开 This application failed to start because it could not find or load the QT ....

    anaconda Navigator打不开 直接弹出错误窗口 在网上试了很多方法都没有成功 折腾了好久 卸载重装还是一样的错误 手动添加过如下的环境变量 网上有的人成功了但是我没有 还是报错 下面分享以下我最后解决的方法给大家参考 1 删除
  • 多元有序logistic回归_stata速学

    NO 07 ZEYI 06 2020 正文共 2010字 28图 预计阅读时间 6分钟 嘿喽 我是则已 这是stata的第七期学习 前面学习了最小二乘回归分析 非线性回归分析都要求因变量是连续变量 但很多时候因变量是离散的 即1就是1 2就
  • CUDA使用结构体传输时出现写入位置的访问冲突

    这是我的之前写的关于在CUDA中传输结构体的代码 CUDA结构体传输 include cuda runtime h include device launch parameters h include
  • 混合分布(mixture distribution)

    文章目录 1 基本概念 2 基本性质 1 基本概念 在概率与统计中 如果我们有一个包含多个随机变量的随机变量集合 再基于该集合生成一个新的随机变量 则该随机变量的分布称为混合分布 mixture distribution 具体来说 首先 根
  • 对Fiber架构的理解?解决了什么问题?

    一 问题 JavaScript引擎和页面渲染引擎两个线程是互斥的 当其中一个线程执行时 另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程 那么渲染层面的更新就不得不长时间地等待 界面长时间不更新 会导致页面响应度
  • LaTeX表格处理

    关于LaTeX中对表格的一些处理 在使用latex撰写文档时 可能会遇到表格太大超过页面范围 表格太小显示不美观 以及生成跨行表格 表头斜线等问题 以下是一些调整表格的命令 调整表格大小 使用以下的latex命令之前 需要在latex文件中
  • Python学习之路_day_05(元组、字典、集合类型及字符编码)

    一 基本使用 tuple 1 用途 记录多个值 当多个值没有改的需求 此时用元组更合适 2 定义方式 在 内用逗号分隔开多个任意类型的值 t 1 1 3 xx a b 1 2 t tuple 1 1 3 xx a b 1 2 print t
  • HyDE、UDAPDR(LLM大模型用于信息检索)

    本篇博文继续整理LLM在搜索推荐领域的应用 往期文章请往博主主页查看更多 Precise Zero Shot Dense Retrieval without Relevance Labels 这篇文章主要做zero shot场景下的稠密检索