前几天,OpenAI 来了一波重磅更新,一口气宣布了 5 个新模型,其中就包括两个新的文本嵌入模型。
嵌入是用数字序列来表示自然语言、代码等内容中的概念。它们能够帮助机器学习模型和其他算法更好地理解内容之间的关系,并且更容易执行聚类或检索等任务。
通常,使用较大的嵌入模型(如存储在向量存储器中以供检索)会消耗更多的成本、算力、内存和存储资源。然而,OpenAI推出的两个文本嵌入模型提供了不同的选择。 首先,text-embedding-3-small模型是一个较小但高效的模型。它可以在资源有限的环境下使用,并且在处理文本嵌入任务时表现出色。 另一方面,text-embedding-3-large模型则更大且更强大。这个模型可以处理更复杂的文本嵌入任务,并提供更准确和详细的嵌入表示。然而,使用该模型需要更多的计算资源和存储空间。 因此,根据具体的需求和资源限制,可以选择适合的模型来平衡成本和性能之间的关系。
这两个新的嵌入模型都是使用一种训练技术来进行的,这使得开发人员可以在嵌入的性能和成本之间进行权衡。具体来说,开发者可以通过在 dimensions API 参数中传递嵌入来缩短嵌入的大小,同时不丢失其概念表征属性。举个例子,在 MTEB 基准上,text-embedding-3-large 可以缩短为 256 的大小,但其性能仍然优于未缩短的 text-embedding-ada-002 嵌入(大小为 1536)。这样一来,开发者可以根据具体需求来选择适合的嵌入模型,既可以满足性能要求,又可以控制成本。
这一技术的应用非常灵活。例如,当使用仅支持最高 1024 维嵌入的向量数据存储时,开发者可以选择最好的嵌入模型 text-embedding-3-large,并通过指定 dimensions API 参数的值为 1024,将嵌入维数从 3072 缩短为 1024。虽然这样做可能会牺牲一些准确度,但可以获得更小的向量大小。
OpenAI 所使用的「缩短嵌入」方法,随后引起了研究者们的广泛注意。
人们发现,这种方法和 2022 年 5 月的一篇论文所提出的「Matryoshka Representation Learning」方法是相同的。
OpenAI 的新嵌入模型更新背后隐藏的是 @adityakusupati 等人提出的一种很酷的嵌入表征技术。
而 MRL 的一作 Aditya Kusupati 也现身说法:「OpenAI 在 v3 嵌入 API 中默认使用 MRL 用于检索和 RAG!其他模型和服务应该很快就会迎头赶上。」
那么 MRL 到底是什么?效果如何?都在下面这篇 2022 年的论文里。
MRL 论文介绍
- 论文标题:Matryoshka Representation Learning
- 论文链接:https://arxiv.org/pdf/2205.13147.pdf
研究者提出的问题是:能否设计一种灵活的表征方法,以适应计算资源不同的多个下游任务?
MRL 通过以嵌套方式对 O (log (d)) 低维向量进行显式优化在同一个高维向量中学习不同容量的表征,因此被称为 Matryoshka「俄罗斯套娃」。MRL 可适用于任何现有的表征 pipeline,并可轻松扩展到计算机视觉和自然语言处理中的许多标准任务。
图 1 展示了 MRL 的核心理念以及所学习 Matryoshka 表征的自适应部署设置:
Matryoshka 表征的第一个 m-dimensions(m∈[d])是一个信息丰富的低维向量,不需要额外的训练成本,其精确度不亚于独立训练的 m 维表征法。Matryoshka 表征的信息量随着维度的增加而增加,形成了一种从粗到细的表征法,而且无需大量的训练或额外的部署开销。MRL 为表征向量提供了所需的灵活性和多保真度,可确保在准确性与计算量之间实现近乎最佳的权衡。凭借这些优势,MRL 可根据精度和计算约束条件进行自适应部署。
在这项工作中,研究者将重点放在了现实世界 ML 系统的两个关键构件上:大规模分类和检索。
在分类方面,研究者使用了自适应级联,并使用由 MRL 训练的模型产生的可变大小表征,从而大大降低了达到特定准确率所需的嵌入式平均维数。例如,在 ImageNet-1K 上,MRL + 自适应分类的结果是,在精度与基线相同的情况下,表征大小最多可缩小 14 倍。
同样地,研究者在自适应检索系统中也使用了 MRL。在给定一个查询的情况下,使用查询嵌入的前几个 dimensions 来筛选检索候选对象,然后连续使用更多的 dimensions 对检索集进行重新排序。与使用标准嵌入向量的单次检索系统相比,这种方法的简单实现可实现 128 倍的理论速度(以 FLOPS 计)和 14 倍的墙上时钟时间速度;需要注意的是,MRL 的检索精度与单次检索的精度相当(第 4.3.1 节)。
最后,由于 MRL 明确地学习了从粗到细的表征向量,因此直观地说,它应该在不同 dimensions 之间共享更多的语义信息(图 5)。这反映在长尾持续学习设置中,准确率最多可提高 2%,同时与原始嵌入一样稳健。此外,由于 MRL 具有粗粒度到细粒度的特性,它还可以用作分析实例分类难易程度和信息瓶颈的方法。
更多研究细节,可参考论文原文。