用两成数据也能训练出十成功力的模型,Jina Embeddings 这么做

alt

句向量(Sentence Embeddings)模型在多模态人工智能领域起着至关重要的作用,它通过将句子编码为固定长度的向量表示,将语义信息转化为机器可以处理的形式,在 文本分类、信息检索和相似度计算 等多个方面有着广泛应用。

然而长期以来,句向量模型在训练过程中 一直面临两大挑战:对大量数据和计算资源的依赖。传统的句向量模型,比如 Sentence-BERT 和 Sentence-T5,通常需要数十亿级别的句子对进行训练。这不仅训练成本高,还有点不环保。

为了解决这些问题,本文将深入探讨一种全新的句向量模型—— Jina Embeddings。该模型采用创新性地数据预处理、加权采样和三元组训练策略,大幅减少了训练数据需求,同时达到了与当前顶尖模型相当的性能表现。

与之前的模型相比, Jina AI 新近发布的 Jina Embeddings 在训练数据减少 80% 的情况下,性能表现依然和当前顶尖模型肩并肩。 无论是用于文本检索、排序、语义相似度,还是当下最热门的检索增强生成(Retrieval Augmented Generation,RAG),它的表现都让人印象深刻。

模型: https://huggingface.co/jinaai/jina-embedding-t-en-v1

本文,我们将详细介绍 Jina Embeddings 模型是如何解决这一困扰行业的训练问题的。

数据预处理

传统的大数据思维往往是“越多越好”,使得许多用于训练句向量模型的数据集会包含重复项、非英语样本和语义相似度最小的低质量对。

在 Jina Embeddings 的训练过程中,我们对原始数据集进行了严格地过滤和优化。

alt

具体来说,我们从原始的 16 亿个句子对中,筛选出了 3.85 亿个高质量样本。 并且实施了一个分阶段的数据清洗流程,包括去重处理、语言过滤和一致性过滤。

  1. 去重处理:移除了数据集中所有重复的句子对。

  2. 语言过滤:仅保留英语句子对,以便在特定文化和语言环境中达到更高的准确率。

  3. 一致性过滤:利用辅助模型,排除了向量相似度低的句子对,这一步骤排除了 84% 的低质量数据,如 Reddit 的评论数据。

模型预训练

挑选出了好的数据,接着还要巧妙地选择用哪些数据来训练我们的模型。因此,我们 采用了并行化方法在多个数据集上进行训练,但设计了一个约束条件:每个训练批次(batch)仅包含来自单一数据集的样本。这样做既可以加速训练,又确保每个数据集都能得到合适的关注。

因为不是所有数据集都一样重要或者一样大。所以,我们 根据数据集的大小和质量来进行了加权,以决定从中抽取多少数据用于训练。这避免了在小的数据集上过拟合,同时也确保了重要的、高质量的数据集能得到足够的关注。

通过这种精打细算的训练策略,我们 实际上只用了 3.8 亿对数据就达到了不错的训练效果,用相对低的计算成本下实现了非常高效的模型训练。

三元组训练

在句子对数据进行预训练后,我们进一步采用了一个三元组训练阶段。在这一阶段里,每个样本包括一个查询、一个正样本和一个负样本。

模型在这一阶段会学习:如何让查询语句在向量空间里更加靠近正样本,而远离负样本。此外,我们还引入了难负样本(Hard Negatives),来增强模型的判别能力。

同时,我们也观察到 很多句向量模型难以准确处理否定词。比如 “一对情侣手牵手地走在街上。”,“一对情侣正在一起走。” 和 “一对情侣没有一起走。” 前两个应该关系紧密,而第二个和第三个句子,由于含义相反,应该距离较远。

然而,使用 MiniLM-L6-v2 模型时, 前两个句子的余弦相似度 0.7,而后两个句子的相似度为 0.86,这是不应发生的现象。

因此,我们决定 构建自己的反义数据集,就像上面的例子那样,每组数据都有三个部分:一个“锚点”(主句子)、一个“隐含”(和主句子意思相似的句子)和一个“否定”(和主句子意思相反的句子),并将其纳入训练数据中,帮助模型识别和区分语义不一致的表达。

在三元组训练后,我们的 jina-large-v1 模型在 处理复杂否定语句的准确率从 16.6% 提高到了 65.4%。

性能评估

我们在 MTEB 和 BEIR 等权威的数据集上,将我们的 Jina Embeddings 与 Sentence-T5 等模型市面流行句向量模型进行了基准测试, Jina Embeddings 在不同任务和模型规模下都展示了强劲的竞争力。

alt

在重新排序任务上, Jina Embeddings 系列模型,特别是“jina-large-v1”和“jina-base-v1”模型,表现出了抢眼的竞争力,超越或等于“gtr-t5-large”和“sentence-t5-xxl”等当前顶尖模型。

在检索任务表现上,专门为检索任务训练的 gtr-t5 模型成绩最好,但 Jina Embeddings 系列模型也很接近。

在文本相似度任务上,Jina-large-v1 的分数为 80.96,略低于专门用于句子相似度任务的 Sentence-t5-xxl 的 82.63。

这进一步证实了 Jina Embeddings 系列模型在多任务性能上的优越性,也突出了专门用于训练特定任务的模型,如 sentence-t5 和 gtr-t5 的局限性。

需要强调的是,Jina Embedding 系列模型在训练时对数据和计算资源的需求相对低许多,但仍能达到与顶级模型相当的性能。这一点对于那些资源有限,但又希望得到高性能模型的用户来说,是一个巨大的优势。

alt

其中最值得一提的是,参数量仅有 1.1 亿的 jina-base-v1 模型,在许多检索和排序任务中,性能甚至超越了拥有 3.3 亿参数的 Sentence-t5-large 模型,与 10 亿参数规模的模型旗鼓相当。 同时,即便只有 3500 万参数的 jina-small-v1 模型,也有非常出色的表现。这也印证了我们训练策略:高效的数据利用与训练方法能挖掘出更为精巧却强大的模型潜能。

展望未来

本文介绍了 Jina Embeddings 系列模型的训练过程,并通过 MTEB 基准的广泛评估证明了其在多任务性能上的优越性。即使只使用了两成数据,仍然达到满血的模型性能。 这一发现挑战了现有的范式,证明了用更少的数据就能有效地训练大型语言模型。

我们的研究也揭示了高效数据使用的多方面好处:

  • 资源节约:更少的数据需求,从而降低了训练所需的计算基础设施和资源压力。
  • 提高可访问性:更少的计算需求,使得资源受限的组织也能训练高性能模型。
  • 负责任 AI:更小但同样可靠的模型,意味着我们正在朝着更可持续、更负责任的 AI 发展。

目前,我们已经发布了多个预训练好的 Jina Embeddings 模型,包括 jina-embedding-t/s/b/l-en-v1 等。这些模型参数规模范围从 1400 万到 3.3 亿不等,大家可根据实际需求进行选择。其中 Tiny 的参数量是 1400 万,是目前全世界最小的向量模型。经实验评估,Jina Embedding 开源模型在关键的 9 个指标上超越了 OpenAI 的 text-embedding-ada-002,在 CPU 上的推理速度比之前最快的模型提高了一倍,每秒可以编码 1700 个句子,适合部署在边缘设备。

模型: https://huggingface.co/jinaai/jina-embedding-t-en-v1

技术报告: https://arxiv.org/abs/2307.11224

未来,我们还将推出 Jina Embeddings V2,把向量模型的序列长度拓展到 8 千,并进一步改善向量质量。在 v2 的基础上我们也会将模型拓展到多语言,包括但不限于中文、德文、西班牙文等。

本文由 mdnice 多平台发布

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

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

相关文章

End-to-end 3D Human Pose Estimation with Transformer

基于Transformer的端到端三维人体姿态估计 摘要 基于Transformer的架构已经成为自然语言处理中的常见选择,并且现在正在计算机视觉任务中实现SOTA性能,例如图像分类,对象检测。然而,卷积方法在3D人体姿态估计的许多方法中仍然保…

pta java版

7-1 厘米换算英尺英寸 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(footinch/12)0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。 思路: 1英尺12英…

线性代数的本质(七)——特征值和特征向量

特征值和特征向量 本章特征值和特征向量的概念只在方阵的范畴内探讨。 相似矩阵 Grant:线性变换对应的矩阵依赖于所选择的基。 一般情况下,同一个线性变换在不同基下的矩阵不同。仍然以平面线性变换为例,Grant 选用标准坐标系下的基向量 i…

油猴浏览器(安卓)

油猴浏览器页面设计非常简约,在主页上还为小伙伴们推荐了很多的常用书签,像油猴脚本,常用导航,新闻,热搜类的,快递查询等等,可以设置快捷访问,把常用到的一些网站设置在主页上。 浏览…

HCIP学习-IPv6

目录 前置学习内容 IPv6解决的一些IPv4的缺陷 无限的地址 层次化的地址结构 即插即用 简化报文头部 IPv4和IPv6报头比较 端到端的网络罗完整性 安全性增强 挣钱QoS特性 IPv6地址介绍 格式 首选格式 压缩格式 内嵌IPv4地址格式的IPv6地址格式 IPv6的网络前缀和接…

前端面试合集(二)

前端面试题合集 1.懒加载的原理及实现了解吗2.如何理解JS异步3.阐述一下 JS 的事件循环4.JS 中的计时器能做到精确计时吗?为什么? 1.懒加载的原理及实现了解吗 原理:当图片没有到达可视范围内时,图片不加载,当图片一旦…

软件测试7大误区

随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识&#xf…

【C语言】每日一题(半月斩)——day1

目录 😊前言 一.选择题 1.执行下面程序,正确的输出是(c) 2.以下不正确的定义语句是( ) 3.test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】&a…

Dajngo06_Template模板

Dajngo06_Template模板 6.1 Template模板概述 模板引擎是一种可以让开发者把服务端数据填充到html网页中完成渲染效果的技术 静态网页:页面上的数据都是写死的,万年不变 动态网页:页面上的数据是从后端动态获取的(后端获取数据库…

语音识别数据的采集方法:基本流程数据类型

“人工智能是一种模仿人类功能的产品。数据采集的方法需要针对特定的场景需求。”—–Mark Brayan (澳鹏CEO) 我们一直说,对于一个高质量的人工智能产品离不开高质量的训练数据。对于不同的人工智能我们需要不同的数据对其训练。要采集正确的数据去训练特定的模型才…

【计算机网络】传输层协议——TCP(上)

文章目录 TCPTCP协议段格式报头和有效载荷如何分离?4位首部长度 TCP可靠性确认应答机制的提出序号和确认序号为什么序号和确认序号在不同的字段? 16位窗口大小 6个标志位标志位本质具体标志位PSHRSTURG 超时重传机制 文章目录 TCPTCP协议段格式报头和有效…

解决Java类加载异常:java.lang.ClassNotFoundException

在Java开发过程中,有时会遇到类加载异常,其中之一是java.lang.ClassNotFoundException异常。这个异常通常出现在缺少相关依赖库或配置问题的情况下。本文将介绍如何解决这个问题,并以一个具体案例来说明。 问题描述 在开发过程中&#xff0…