OpenAI text-embedding-ada-002 发布

TL;DR

OpenAI 发布了 text-embedding-ada-002,这是一款单一的嵌入模型,取代了五个旧模型,在文本搜索、代码搜索和句子相似度方面提供更强的性能,支持 8K 上下文,使用 1536 维向量,成本比之前基于 Davinci 的嵌入降低最高达 99.8%。


模型改进

统一能力 – 新模型将五个以前的嵌入模型(text-similaritytext-search-querytext-search-doccode-search-textcode-search-code)合并为一个 API 端点,简化了集成,同时在广泛的基准套件中提供更好的结果。

性能提升 – 在 BEIR 基准套件(包括 ArguAna、ClimateFEVER、DBPedia、FEVER、FiQA2018、HotpotQA、NFCorpus、QuoraRetrieval、SciFact、TRECCOVID、Touche2020)上,text-embedding-ada-002 得分为 53.3,超过了次佳模型 text-search-davinci-*-001(52.8)以及所有其他先前的嵌入模型。它在文本分类上也与 Davinci 持平,并在代码搜索上超越了之前的模型。

更长上下文 – 上下文长度从 2048 个 token 增加到 8192 token,使得可以对更长的文档进行嵌入而无需截断。

更小向量 – 嵌入向量为 1536 维,是之前 Davinci‑001 嵌入的八分之一大小,降低了向量数据库中的存储和检索成本。

成本降低 – 价格比同等规模的旧模型低 90%,整体成本比使用 Davinci 嵌入低 99.8%,且性能相同或更好。


限制

text-embedding-ada-002 在 SentEval 线性探测分类基准上 超过 text-similarity-davinci-001。对于依赖在嵌入上训练轻量线性分类器的任务,用户应比较两种模型并选择准确率更高的模型。

有关更广泛的限制和风险考虑,请参阅嵌入文档中的 Limitations & Risks 部分。


使用示例

使用新模型对短文本进行嵌入,只需使用 OpenAI 库的两行 Python 代码:

import openai
response = openai.Embedding.create(
    input="porcine pals say",
    model="text-embedding-ada-002"
)

响应中包含一个 1536 维向量,表示输入内容。


实际应用

  • Kalendar AI 使用新嵌入将销售话术匹配到 3.4 亿客户画像,与之前的方法相比,将不必要的定位减少了 40–56%
  • Notion 计划用 OpenAI 嵌入取代基于关键词的搜索,以提升其工作空间平台内的相关性和可发现性。

对开发者和企业的影响

将五个模型统一为单一、成本更低、性能更高的嵌入服务,降低了工程开销和运营成本。更长的上下文窗口和更小的向量尺寸使得对整个文档进行嵌入并高效存储成为可能,扩展了语义搜索、推荐和代码检索等应用的范围。


参考文献

Sources