谷歌DeepMind发布Gecko:专攻检索,与大7倍模型相抗衡

news2025/5/25 2:47:44

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


Gecko 是一种通用的文本嵌入模型,可用于训练包括文档检索、语义相似度和分类等各种任务。

文本嵌入模型在自然语言处理中扮演着重要角色,为各种文本相关任务提供了强大的语义表示和计算能力。

在语义表示上,文本嵌入模型将文本转换为高维向量空间中的向量表示,其中语义上相似的文本在向量空间中距离较近,从而捕捉了文本的语义信息,这种表示有助于计算机更好地理解和处理自然语言;在文本相似度计算上,基于文本嵌入的向量表示,可以轻松地计算文本之间的相似度,从而支持各种应用,如信息检索、问答系统和推荐系统;在信息检索上,文本嵌入模型可以用于改善信息检索系统,通过将查询与文档嵌入进行比较,找到最相关的文档或段落;在文本分类和聚类上,通过将文本嵌入到向量空间中,可以进行文本分类和聚类任务。

不同于以往,最近的研究重点不是为每个下游任务构建单独的嵌入模型,而是寻求创建支持多个任务的通用嵌入模型。

然而,通用文本嵌入模型面临这样一个挑战:这些模型需要大量的训练数据才能全面覆盖所需的领域,研究主要集中在使用大量的训练示例来解决所面临的挑战。

LLM 的出现提供了一种强大的替代方案,因为 LLM 包含跨各个领域的大量知识,并且被认为是出色的小样本学习者。最近的研究已经证明了使用 LLM 进行合成数据生成的有效性,但重点主要是增强现有的人类标记数据或提高特定领域的性能。

这就促使研究者开始审视这一问题:我们可以在多大程度上直接利用 LLM 来改进文本嵌入模型。

为了回答这一问题,本文来自谷歌 DeepMind 的研究者提出了 Gecko,这是一种从 LLM 中蒸馏出来的多功能文本嵌入模型,其在 LLM 生成的合成数据集 FRet 上进行训练,并由 LLM 提供支持。

通过将 LLM 的知识进行提炼,然后融入到检索器中,Gecko 实现了强大的检索性能。在大规模文本嵌入基准(MTEB,Massive Text Embedding Benchmark)上,具有 256 个嵌入维度的 Gecko 优于具有 768 个嵌入尺寸的现有模型。具有 768 个嵌入维度的 Gecko 的平均得分为 66.31,在与 7 倍大的模型和 5 倍高维嵌入进行比较时,取得了相竞争的结果。

图片

  • 论文地址:https://arxiv.org/pdf/2403.20327.pdf

  • 论文标题:Gecko: Versatile Text Embeddings Distilled from Large Language Models

方法介绍

Gecko 是一个基于 1.2B 参数预训练的 Transformer 语言模型,该模型经历了两个额外的训练阶段:预微调和微调。

图片

预微调

该研究使用两个预微调数据集。首先是使用 Ni 等人提出的大规模社区 QA 数据集,该数据集包括来自在线论坛和 QA 网站的文本对。接下来,研究者从 Web 上抓取标题 - 正文文本对,这些文本对可以从网站上获得。

对大量无监督文本对进行预微调已被证明可以提高小型双编码器在各种下游任务中的性能,包括文档检索和语义相似性 。预微调阶段的目标是让模型接触大量的文本多样性,这对于训练紧凑型文本嵌入模型是必要的。

FRet :两步蒸馏

使用 LLM 生成 FRet 的两阶段方法。一般来讲,训练嵌入模型的传统方法依赖于大型的、手动标记的数据集。然而,创建此类数据集既耗时又昂贵,并且常常会导致不良偏差和缺乏多样性。在这项工作中,本文提出了一种生成合成数据来训练多任务文本嵌入模型的新方法,该方法通过两步蒸馏可以全面利用 LLM 掌握的知识。生成 FRet 的整体流程如图 2 所示:

图片

统一微调混合

接下来,本文将 FRet 与其他学术训练数据集以相同的格式结合起来:任务描述、输入查询、正向段落(或目标)和负向段落(或干扰项),从而创建一种新颖的微调混合。然后,本文使用这种混合与标准损失函数来训练嵌入模型 Gecko。

除了 FRet 之外,学术训练数据集包括:Natural Questions 、HotpotQA、FEVER、MedMCQA、MedMCQA、SNLI、MNLI 以及来自 Huggingface 的几个分类数据集。对于多语言模型,本文添加了来自 MIRACL 的训练集。所有数据集都经过预处理,具有统一的编码格式,包含任务描述、查询、正向段落和负向段落。

实验

该研究在 MTEB 基准上评估了 Gecko。表 1 总结了 Gecko 和其他基线的比较结果。

Gecko 在每个文本嵌入任务上都显著超越了所有类似大小的基线模型(<= 1k 嵌入尺寸,<= 5B 参数)。与 text-embedding-3-large-256(OpenAI)、GTR 和 Instructor 研究相比,Gecko-1b-256 性能更好。Gecko-1b-768 通常可以匹配或超过更大模型的性能,包括 text-embedding-3-large (OpenAI)、E5-mistral、GRit 和 Echo 嵌入。值得注意的是,这些模型都使用 3-4k 嵌入维度并且参数均超过 7B。此外,该研究还观察到 Gecko 在分类、STS 和摘要方面达到了新的 SOTA 水平。

图片

多语言检索结果。表 2 总结了 Gecko 和其他基线在 MTEB 上的性能比较。

图片

表 3 总结了不同的标记策略用于 FRet 的结果,实验过程中使用了不同的正样本和负样本段落。从结果可以发现使用 LLM 选择的最相关段落总是优于使用原始段落。表 5 也说明了这种情况经常发生。

图片

图片

FRet 提供了对多种任务的查询结果,包括问答、搜索结果、事实检查和句子相似度。表 4 测试了 FRet 的多样性如何影响 MTEB 中任务之间的模型泛化性。首先,该研究使用来自特定任务(例如,FRet 问答)的 30 万个数据来训练各个模型。此外,研究者还使用原始采样分布或均匀采样分布从所有四个任务中抽取的 300k 样本(每个任务 75k;FRet-all-task)来训练模型。观察到 FRet-all-tasks 模型的卓越性能,特别是当任务被均匀采样时。该研究还发现统一格式显著影响嵌入的质量,因为它有助于模型更好地分离不同的任务。

表 4 的最后几行展示了 Gecko 如何学习更好的语义相似性和分类。

图片

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


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

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

相关文章

积木-蓝桥每日真题

0积木 - 蓝桥云课 (lanqiao.cn) 题目描述 小明用积木搭了一个城堡。 为了方便&#xff0c;小明在搭的时候用的是一样大小的正方体积木&#xff0c;搭在了一个n行m列的方格图上&#xff0c;每个积木正好占据方格图的一个小方格。 当然&#xff0c;小明的城堡并不是平面的&#x…

Docker 安装RabbitMQ以及使用客户端图形化界面

目录 一、点击进入docker 镜像仓库 1.1 直接在官网里 搜索 rabbitmq 1.2 在标签里 直接搜索3.10-management 因为这个标签包含用户操作界面 二、启动docker 2.1 首先拉取镜像&#xff1a; 2.2 Docker运行&#xff0c;并设置开机自启动 三、访问用户操作界面 一、点击进入…

算法练习第12天|● 239. 滑动窗口最大值● 347.前 K 个高频元素

239.滑动窗口的最大值 力扣原题 题目描述&#xff1a; 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff…

使用 Jenkins、Gitlab、Harbor、Helm、k8s 来实现流水线作业

文章目录 一、流程二、Dockerfile 使用 Jenkins、Gitlab、Harbor、Helm、Kubernetes 来实现一个完整的持续集成和持续部署的流水线作业 一、流程 开发人员提交代码到 Gitlab 代码仓库通过 Gitlab 配置的 Jenkins Webhook 触发 Pipeline 自动构建Jenkins 触发构建构建任务&…

C++设计模式:桥模式(五)

1、定义与动机 桥模式定义&#xff1a;将抽象部分&#xff08;业务功能&#xff09;与实现部分&#xff08;平台实现&#xff09;分离&#xff0c;使他们可以独立地变化引入动机&#xff1a; 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;…

Jenkins 持续集成 【CICD】

持续集成 &#xff08;Continuous integration&#xff0c;简称CI&#xff09; 持续集成是一种开发实践&#xff0c;它倡导团队成员频繁的集成他们的工作&#xff0c;每次集成都通过自动化构建&#xff08;包括编译、构建、打包、部署、自动化测试&#xff09;来验证&#xff…

libVLC 提取视频帧

在前面的文章中&#xff0c;我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据&#xff0c;将数据保存到本地&#xff0c;该如何操作呢&#x…

思迈特软件与上海德拓签署战略合作协议,携手赋能企业数字化转型

3月27日&#xff0c;广州思迈特软件有限公司&#xff08;简称“思迈特软件”&#xff09;与上海德拓信息技术有限公司&#xff08;简称“德拓信息”&#xff09;正式签约建立战略合作伙伴关系。双方将在数字化转型、数据服务、数据应用以及市场资源等多个领域展开深度合作&…

Github上传大文件(>25MB)教程

0.在github中创建新的项目&#xff08;已创建可忽略这一步&#xff09; 如上图所示&#xff0c;点击New repository 进入如下页面&#xff1a; 1.下载Git LFS 下载git 2.打开gitbash 3.上传文件&#xff0c;代码如下: cd upload #进入名为upload的文件夹&#xff0c;提前…

距离度量方法——欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离

目录 一、 欧氏距离&#xff08;Euclidean Distance&#xff09; 1、简介 2、代码实现 二、曼哈顿距离&#xff08;Manhattan Distance&#xff09; 1、简介 2、代码实现 三、切比雪夫距离&#xff08;Chebyshev Distance&#xff09; 1、简介 2、代码实现 四、闵可夫…

element-ui 在Popover弹框中使用Select选择器,Vue3

bug描述&#xff1a; 当选择完select的时候,popover也会退出。 解决&#xff1a; popover组件的的关闭是当点击组件外的元素时会关闭&#xff0c;select虽然是写在组件内的&#xff0c;但是select有一个默认属性teleported“true” 会把它默认插到 body 元素&#xff0c;我…

C++ //练习 11.22 给定一个map<string, vector<int>>,对此容器的插入一个元素的insert版本,写出其参数类型和返回类型。

C Primer&#xff08;第5版&#xff09; 练习 11.22 练习 11.22 给定一个map<string, vector<int>>&#xff0c;对此容器的插入一个元素的insert版本&#xff0c;写出其参数类型和返回类型。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具…

MySQL高级篇(B-Tree、Btree)

目录 1、Btree&#xff08;B-Tree&#xff09; 1.1、B-Trees的特点 二叉树缺点&#xff1a;顺序插入时&#xff0c;会形成一个链表&#xff0c;查询性能大大降低。大数据量情况下&#xff0c;层级较深&#xff0c;检索速度慢。红黑树&#xff1a;大数据量情况下&#xff0c;层…

Qt+VS2019中使用QAxObject时的环境配置

在纯Qt中 在.pro中添加axcontainer模块即可 而VSqt中&#xff1a; 特别傻的是&#xff1a;我运行的是release&#xff0c;但配置的是debug的属性页&#xff0c;一直报错&#xff0c;人都傻了。 最后发现果然是人傻。

如何远程监控员工的电脑

如何远程监控员工的电脑 为什么要对员工使用电脑的行为进行监控呢&#xff1f;对企业来说是有其必要性的。其必要性主要体现以下4个方面。 1.数据安全与知识产权保护 防止数据泄露&#xff1a;企业内部往往存储着大量的敏感信息&#xff0c;如客户数据、财务资料、商业秘密、…

推荐一款很强大的SCADA工业组态软件

可以广泛应用于化工、石化、制药、冶金、建材、市政、环保、电力等几十个行业。 I官网网站:www.hcy-soft.com |体验地址:http://www.byzt.net:60/sm/ 一、产品简介 BY组态是完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮助物联网、工业互联网、电力能…

Hyper-v平台搭建pve系统之网络配置(双网卡、内外网分离)

现在我需要在我本地配置的PVE系统上配置双网卡&#xff0c;然后一个连接外部网络&#xff08;访问互联网&#xff09;&#xff0c;一个连接内部网络&#xff08;只能和宿主机之间互相访问&#xff09; 最终效果&#xff1a; 登录PVE平台&#xff0c;我可以正常访问外网&#…

信息工程大学第五届超越杯程序设计竞赛(同步赛)vp

目录 信息工程大学第五届超越杯程序设计竞赛&#xff08;同步赛&#xff09;_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.遗失的旋律 C.财政大臣 D.实验室有多少人 E.在雾中寻宁静 F.不规则的轮回 G.完美数字 M.Monikas game A.遗失的旋律 思路&#xf…

Golang 开发实战day09 - package Scope

&#x1f3c6;个人专栏 &#x1f93a; leetcode &#x1f9d7; Leetcode Prime &#x1f3c7; Golang20天教程 &#x1f6b4;‍♂️ Java问题收集园地 &#x1f334; 成长感悟 欢迎大家观看&#xff0c;不执着于追求顶峰&#xff0c;只享受探索过程 Golang 教程09 - package Sc…

大学英语ab级题搜题软件?分享7个支持答案和解析的工具 #笔记#其他

合理利用学习辅助工具和资料&#xff0c;可以帮助大学生更好地组织学习内容、掌握知识点和提升学术水平。 1.智能翻译官 这是一款多语言在线翻译神器&#xff0c;除了最基础的英语以外&#xff0c;还支持日语、德语、俄语、法语等几十种语言文本翻译和拍照翻译&#xff0c;并…