OpenAI 文本与代码嵌入发布

OpenAI 推出了全新的一套嵌入模型,旨在将文本和代码映射为高维向量表示。这些模型在三个标准基准测试中表现优于现有的顶级模型,其中在代码搜索方面的相对提升达到了 20%。

嵌入技术概述

嵌入将概念转换为数值序列(向量),使计算机能够分析不同数据片段之间的语义关系。在这个高维空间中,数值上相似的向量在语义上也相似。OpenAI 的嵌入是使用源自 GPT-3 的神经网络模型生成的,其中生成的向量的每个维度都捕捉了输入文本或代码的特定方面。

可用的嵌入模型系列

OpenAI 提供了三个不同的嵌入模型系列,每个系列都针对特定用例进行了优化:

Model Family Use Cases Specific Models
Text Similarity Clustering, regression, anomaly detection, and visualization text-similarity-{ada, babbage, curie, davinci}-001
Text Search Semantic information retrieval and context relevance text-search-{ada, babbage, curie, davinci}-{query, doc}-001
Code Search Finding relevant code using natural language queries code-search-{ada, babbage}-{code, text}-001
Text Similarity 聚类、回归、异常检测和可视化 text-similarity-{ada, babbage, curie, davinci}-001
Text Search 语义信息检索和上下文相关性 text-search-{ada, babbage, curie, davinci}-{query, doc}-001
Code Search 使用自然语言查询寻找相关代码 code-search-{ada, babbage}-{code, text}-001

文本相似度与线性探测

文本相似度模型允许用户使用其嵌入的点积来比较两段文本,从而生成 -1 到 1 之间的相似度分数(余弦相似度)。分数越高,表示语义相似度越高。

这些模型作为机器学习分类任务的特征特别有效,这种方法被称为“线性探测”。OpenAI 的文本相似度模型在 SentEval 基准测试中的线性探测分类方面取得了最先进的结果。

语义文本搜索

文本搜索模型通过为查询和文档生成单独的嵌入,来促进大规模信息检索。通过比较查询向量与文档向量之间的余弦相似度,系统可以识别出最相关的内容。

与依赖词汇重叠的传统关键词搜索不同,基于嵌入的搜索捕捉语义含义,且对精确措辞的敏感度较低。OpenAI 的文本搜索模型在 BEIR 搜索评估套件上的表现优于以往的方法。

现实世界应用与性能

行业应用展示了与以往嵌入技术相比在准确性和效率方面的显著提升:

  • Educational Content Mapping: FineTune Learning 使用了 text-search-curie 模型将教科书内容映射到学习目标,实现了 89.1% 的 top-5 准确率。这优于 Sentence-BERT(其准确率为 64.5%),并将教科书的标注时间从数小时缩短到了数秒。
  • Customer Insight Analysis: Fabius 利用嵌入来为客户通话记录中的功能请求进行打标签。通过从模糊的关键词搜索转向 OpenAI 嵌入,他们识别出的通用示例增加了 2 倍,而对于缺乏明确关键词的抽象用例,识别出的示例增加了 6 到 10 倍。

Sources

相关