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