超越OpenAI,谷歌重磅发布从大模型蒸馏的编码器Gecko

引言:介绍文本嵌入模型的重要性和挑战

文本嵌入模型在自然语言处理(NLP)领域扮演着至关重要的角色。它们将文本转换为密集的向量表示,使得语义相似的文本在嵌入空间中彼此靠近。这些嵌入被广泛应用于各种下游任务,包括文档检索、句子相似度、分类和聚类。然而,创建一个既通用又高效的文本嵌入模型面临着巨大挑战。这些模型需要大量的训练数据来全面覆盖所需的领域和技能,而且,手动标注数据的过程既耗时又昂贵,通常还会带来不希望的偏见和缺乏多样性。近年来,大语言模型(LLMs)因其在各种领域的广泛知识和卓越的少样本学习能力而成为了一种强大的替代方案。

GPT-3.5研究测试:

https://hujiaoai.cn

GPT-4研究测试:

https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4):

https://hiclaude3.com

本文介绍了Gecko,一个高效且多功能的文本嵌入模型。如下图,Gecko通过从LLMs中提取知识并将其蒸馏到检索器中,从而实现了强大的检索性能。我们的两步蒸馏过程首先使用LLM生成多样化的合成配对数据。接下来,我们通过检索每个查询的候选段落集,并使用相同的LLM重新标记正面和非常负面的段落,进一步提炼数据质量。Gecko模型在Massive Text Embedding Benchmark(MTEB)上的紧凑性表现出色,256维嵌入的Gecko在性能上超越了所有768维嵌入大小的现有条目。768维嵌入的Gecko平均得分为66.31,可与7倍大的模型和5倍高维嵌入相竞争。

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

论文链接:
https://arxiv.org/pdf/2403.20327.pdf

项目地址:
https://github.com/google-research/gecko

Gecko模型的创新之处:两步蒸馏过程的详细介绍

1. 利用LLM生成多样化合成数据

在Gecko的第一步蒸馏过程中,我们使用LLM从一个大型未标记的段落语料库中为每个段落生成相关任务和查询(下图)。这些任务和查询的组合被嵌入到一个预训练的嵌入模型中,以获得最近邻段落,然后使用LLM对这些段落进行重排,并根据LLM的得分获得正面和负面段落。

2. 利用LLM进一步提炼数据质量!

如下图,在第二步蒸馏过程中,我们使用LLM来挖掘更好的正面示例,同时寻找有用的非常负面的示例。我们发现,生成查询的最佳段落通常与原始源段落不同。通过这种方法,我们创建了一个新的数据集FRet,它包含了6.6M个示例,每个示例都包含一个任务、一个查询、一个正面段落和一个负面段落。

Gecko模型的训练策略和优化目标

Gecko模型的训练策略包括预微调和微调两个阶段。在预微调阶段,Gecko利用自监督任务处理大量文本语料,以暴露模型于丰富的文本多样性。微调阶段的主要贡献是创建了一个通过两步LLM蒸馏过程生成的新颖微调数据集FRet,该数据集识别了每个生成查询的正面和非常负面的案例。

在微调过程中,Gecko使用了一个标准的损失函数,该函数使得查询能够区分正面目标和硬负面案例,以及批次中的其他查询。此外,Gecko还采用了MRL损失,该损失优化了小于嵌入维度d的子维度,从而支持单一模型的多种不同嵌入维度。

通过这一训练策略,Gecko在MTEB上的多个文本嵌入任务中取得了优异的成绩,特别是在分类、语义文本相似性(STS)和摘要任务上设定了新的最高标准。此外,仅使用FRet训练的Gecko在MTEB上的零样本基准测试中也展现了强大的性能,与其他基线模型相比具有竞争力。

实验结果:Gecko在MTEB基准测试中的表现

Gecko模型在Massive Text Embedding Benchmark(MTEB)上展现了卓越的性能(下表)。在256维嵌入空间中,Gecko的表现超越了所有768维嵌入尺寸的现有模型。当嵌入维度提升至768时,Gecko的平均得分达到了66.31,与体量大7倍、嵌入维度高5倍的模型相抗衡。这一结果证明了Gecko在紧凑性和效能之间取得了良好的平衡。

1. 多语言检索结果:Gecko模型在多语言任务中的应用和表现

在多语言检索任务中,Gecko模型同样表现出色。尽管Gecko的训练数据FRet仅包含英语,Gecko的多语言版本在MIRACL基准测试中的平均nDCG@10得分为56.2(下表),这一成绩优于其他单一多语言检索器。这表明,即使是仅使用英语数据集生成的模型,也能在多语言任务上取得良好的性能。

2. LLM作为标签器的作用

LLM在Gecko模型中扮演了关键的标签器角色。通过使用LLM生成的查询和任务描述,Gecko能够从大量的网络语料中挖掘出更相关的正面和非常负面的案例。下表,我们测试了FRet的不同标注策略,其中我们使用了不同的正面和非常负面段落。实验结果表明,使用LLM选择的最相关的正面案例作为正样本,比原始生成查询的文本段落更有效,这进一步提升了模型的性能。

下表是作为定性分析的LLM挖掘的正面和负面示例。虽然每个查询的意图与每个任务相符,但LLM挖掘的正面内容通常比生成查询的种子段落更为相关。

3. FRet数据集的多样性对模型泛化能力的影响

FRet数据集的多样性对Gecko模型的泛化能力产生了显著影响。FRet包含了多种任务类型,如问题回答、搜索结果、事实核查和句子相似性等。如下表,我们测试了FRet的多样性如何影响模型在MTEB跨任务的泛化能力。通过均匀采样不同任务类型的数据,Gecko在MTEB的多个任务上都取得了更好的性能。这一发现强调了数据集多样性对于构建具有广泛适用性的文本嵌入模型的重要性。

讨论:Gecko模型在不同任务中的平衡性和零样本泛化能力

在探讨Gecko模型的平衡性和零样本泛化能力之前,我们首先了解Gecko模型的基本构成。Gecko是一种紧凑且多功能的文本嵌入模型,通过从LLMs中提取知识来实现强大的检索性能。该模型采用了两步蒸馏过程,首先利用LLM生成多样化的合成配对数据,然后通过检索每个查询的候选段落并使用相同的LLM重新标记正面和非常负面的段落,进一步提炼数据质量。

1. 平衡性

Gecko模型在Massive Text Embedding Benchmark (MTEB)上的表现显示出其在不同任务之间的平衡性。具体来说,Gecko在256维嵌入空间上就超越了所有768维嵌入大小的现有条目。而当嵌入维度为768时,Gecko的平均得分为66.31,与7倍大的模型以及5倍高维嵌入相竞争。这表明Gecko能够在保持较小模型尺寸和嵌入维度的同时,实现多任务之间的良好平衡。

2. 零样本泛化能力

Gecko模型的零样本泛化能力体现在其能够在没有任何人类标注数据或MTEB领域内训练数据集的情况下,仅使用LLM生成和排名的数据(FRet)进行训练,并在MTEB上展示出强大的性能。这一结果令人惊讶,因为它与其他基线模型相比具有强大的竞争力,表明Gecko能够在没有见过具体任务实例的情况下,通过LLM的知识进行有效的泛化。

结论:总结Gecko模型的创新点和对未来文本嵌入模型的启示

Gecko模型的创新之处在于其利用LLM的广泛世界知识,通过两步蒸馏过程创建了一个高效的嵌入模型。Gecko的训练涉及到使用LLM生成的多任务合成数据集FRet,该数据集包含了LLM排名的正面和负面段落。Gecko模型的成功展示了LLM可以用于识别合成查询的更好的正面和负面目标,同时也显示了将这些合成生成的数据以统一格式结合起来,可以实现在多个不同任务上同时取得出色性能的可能性。

此外,Gecko模型的零样本泛化能力启示我们,即使在没有大量人类标注数据的情况下,也可以通过利用LLM的知识来训练出能够在多任务上表现良好的文本嵌入模型。这为未来的文本嵌入模型提供了一个新的方向,即通过利用LLM的强大能力来提高模型的泛化能力和效率。

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

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

相关文章

VideoComposer: Compositional Video Synthesis with Motion Controllability

decompose videos into three distinct types of conditions: textual conditions, spatial conditions, temperal conditions 条件的内容: a. textual condition: coarse grained visual content and motions, 使用openclip vit-H/14的text encoder b. spatial co…

Spring MVC的请求处理流程

Spring MVC的请求处理流程是一个精心设计的过程,旨在高效、灵活地处理Web请求并生成相应的响应。以下是该流程的详细解释: 用户发送请求: 用户通过浏览器或其他客户端发送HTTP请求到服务器。这个请求包含了请求的URL、请求方法(如…

Splashtop 将在 NAB 展会上推出音视频剪辑增强功能

加利福尼亚州拉斯维加斯 Splashtop 在简化随处办公远程解决方案领域处于领先地位,在今年举行的 NAB 展会上将推出 Enterprise 解决方案的高级性能功能,均面向广播和媒体工作者而设计。 Splashtop Enterprise 经过优化,可为执行视频剪辑、唇…

Excel文件解析--超大Excel文件读写

使用POI写入 当我们想在Excel文件中写入100w条数据时,我们用普通的XSSFWorkbook对象写入时会发现,只有在将100w条数据全部加载入内存后才会用write()方法统一写入,这样效率很低,所以我们引入了SXSSFWorkbook进行超大Excel文件的读…

fixture固件和装饰器@pytest.mark.parametrize的参数化差异

fixture固件中有params参数可以进行参数化配置,装饰器pytest.mark.parametrize也可以为用例进行参数化配置,它们都是pytest框架中用于参数化测试的机制,但它们之间还是有很大差异的,该篇文章就来讲一讲这二者的区别使用&#xff1…

java开发之路——node.js安装

1. 安装node.js 最新Node.js安装详细教程及node.js配置 (1)默认的全局的安装路径和缓存路径 npm安装模块或库(可以统称为包)常用的两种命令形式: 本地安装(local):npm install 名称全局安装(global):npm install 名称 -g本地安装和全局安装…

C++中的STL——stack类的基本使用

目录 stack类介绍 stack类定义 stack类常见构造函数 stack数据操作 empty()函数 size()函数 top()函数 push()函数 pop()函数 swap()函数 stack类介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端…

【Leetcode】string类刷题

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.仅反转字母2.字符串中第一个唯一字符3.验证回文串4.字符串相加5.反转字符串I I6.反转字符串中的单词III7.字符串相乘8.把字符串转换为整数 1.仅反转字母 题目链接:…

Rust 模式匹配中的 和 ref

一、Rust & 和 ref 1.Rust的ref有什么用 根据Rust官方文档https://doc.rust-lang.org/std/keyword.ref.html Rust ref 主要用在模式匹配match的所有权问题中。 ref在 Rust中,也是声明一个指针类型变量,进一步说明ref和&在其它方面区别&#xf…

一篇文章带您了解面向对象(java)

1.简单理解面向过程编程和面向对象编程 面向过程编程:开发一个一个的方法,有数据需要处理,我们就可以调用方法来处理。 package com.web.quictstart;public class demo1 {public static void main(String[] args) {totalScore("张三&q…

mac上VMware fusion net模式无法正常使用的问题

更新时间:2024年04月22日21:39:04 1. 问题 环境: intel芯片的macbook pro VMware fusion 13.5.1 无法将“Ethernet0”连接到虚拟网络“/dev/vmnet8”。在这里显示这个之后,应该是vmnet8的网段发生了冲突,所以导致无法正常使用…

【栈】Leetcode 739. 每日温度【中等】

每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入…

【操作系统】——死锁

基础知识 一个进程需要向一个进程传递数据,后面的进程必须等到前面的进程到达才能继续运行,这是进程间的一种次序关系。称为同步 在引入线程的系统中,进程内的多个线程可以并发或并行运行 遇到问题:对资源不加限制地分配可能导致…

字符串加密

描述 这是一个古老的字符串加密方法,给定两个长度不超过100个字符的字符串,判断是否可以把其中一个重排,然后对26个字母做一个一一映射,使得两个字符串相同。 再进行映射:例如 每个字母映射到前一个字母(B…

基于Spring Cloud Alibaba的异地多活设计

胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,Spring Cloud Alibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四…

论坛报名 | 中关村论坛“区块链与隐私计算论坛”报名开始!

2024中关村论坛—区块链与隐私计算论坛 正在报名! 长安链开源社区作为区块链与隐私计算分论坛协同支持社区,为社区成员单位提供免费参会名额,名额有限先到先得,欢迎积极报名! 论坛时间:2024年4月27日&…

前端开发攻略---拖动归类,将元素拖拽到相应位置

1、演示 2、代码 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevice-…

【ZZULIOJ】1076: 三位数求解(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 已知xyzyzzn&#xff0c;其中n是一个正整数&#xff0c;x、y、z都是数字&#xff08;0-9&#xff09;&#xff0c;编写一个程序求出x、y、z分别代表什么数字。如果无解&#xff0c;则输出“No…

2024年Q1季度平板电视行业线上市场销售数据分析

Q1季度平板电视线上市场表现不如预期。 根据鲸参谋数据显示&#xff0c;2024年1月至3月线上电商平台&#xff08;京东天猫淘宝&#xff09;平板电视累计销量约360万件&#xff0c;环比下降12%&#xff0c;同比下降30%&#xff1b;累计销售额约99亿元&#xff0c;环比下降28%&a…

学习STM32第十七天

备份域详解 一、简介 在参考手册的电源控制章节&#xff0c;提到了备份域&#xff0c;BKPR是在RTC外设中用到&#xff0c;包含20个备份数据寄存器&#xff08;80字节&#xff09;&#xff0c;备份域包括4KB的备份SRAM&#xff0c;以32位、16位或8位模式寻址&#xff0c;在VBAT…