这篇文章讨论了机器学习模型的延迟对聊天应用和代理的用户体验的影响,重点关注了生成语言模型(LLM)的提示生成过程中的语义搜索任务。文章比较了两种嵌入API 服务(OpenAI 和 Google)和几种开源嵌入模型(sentence-transformers)在嵌入速度和准确度方面的表现,发现 OpenAI 的嵌入 API 服务的延迟明显高于 Google 的新嵌入 API 服务,而本地运行的开源嵌入模型则是最快的。文章建议开发者根据自己的需求和数据选择合适的嵌入模型,并提供了一些使用 Langchain 和 HuggingFace 集成嵌入模型的示例代码。
原文链接:https://www.getzep.com/text-embedding-latency-a-semi-scientific-look/
未经允许,禁止转载!
作者 | Daniel Chalef 译者 | 明明如月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)
对嵌入模型延迟的半科学调查正如我们上文所讨论的,缓慢的文本生成影响用户体验,而生成文本的关键任务之一就是使用语义搜索查找相关内容。虽然我们应该考虑嵌入模型的成本、内存使用和实施的便利性,但这次调查仅关注嵌入的速度,以及在有的情况下,对语义相似性搜索任务的MTEB 基准性能。
我们测试了两个嵌入 API 服务和几个由 sentence-transformers包支持的开源嵌入模型。我们选取的开源模型代表了在 MTEB 基准测试中得分高,且在 CPU 上表现良好的模型族。还有许多其他模型,你应该根据你的使用场景进行实验,以基准作为指导,而非铁律。
模型部署类型MTEB 检索分数OpenAI text-embedding-ada-002API 服务49.25Google Vertex AI textembedding-gecko@001API 服务未知 - 2023年5月推出sentence-transformers/gtr-t5-xl本地 CPU 执行47.96sentence-transformers/all-MiniLM-L12-v2本地 CPU 执行42.69sentence-transformers/all-MiniLM-L6-v2本地 CPU 执行41.95API 测试在 GCP 和 AWS 上进行,这符合了当今许多应用的场景。本地模型在几个云实例和我的 MacBook Pro M1(配备16GB RAM)上进行了测试。详细信息请见下文。
测试方法我们对每个模型的嵌入速度进行了50次迭代的抽样测试。嵌入的文本相对较短,旨在代表 LLM-based 应用在构建提示时对向量数据库进行搜索的类型。
texts = ["Visa requirements depend on your nationality. Citizens of the Schengen Area, the US, Canada, and several other countries can visit Iceland for up to 90 days without a visa."]
测试句子
模型延迟数据表
测试在以下基础设施上/从以下基础设施运行:
GCP:位于 us-central1 的 n1-standard-4(4 vCPU,15 GB RAM)实例
AWS:位于 us-west-2 的 ml.t3.large(2vcpu 8GiB)实例
我的 MacBook Pro 14" M1,拥有 16GB 的 RAM
在所有实验中,pytorch 只使用 CPU。
使用的软件包括:
JupyterLab
sentence-transformers 2.2.2
pytorch 2.0.1
Python 3.10 和 3.11
你认为 OpenAI 是目前最好的选择吗?为什么?欢迎发表你的看法和理由。
参考链接
首字节响应时间:https://en.wikipedia.org/wiki/Time_to_first_byte?ref=getzep.com
索相关信息:https://blog.langchain.dev/retrieval/?ref=getzep.com
近似最近邻:https://en.wikipedia.org/wiki/Nearest_neighbor_search?ref=getzep.com
语义搜索:https://www.sbert.net/examples/applications/semantic-search/README.html?ref=getzep.com
许多不同的嵌入模型:https://huggingface.co/spaces/mteb/leaderboard?ref=getzep.com
MTEB 基准性能:https://huggingface.co/spaces/mteb/leaderboard?ref=getzep.com
sentence-transformers:https://www.sbert.net/?ref=getzep.com
大幅降低了:https://openai.com/blog/function-calling-and-other-api-updates?ref=getzep.com
Azure OpenAI Service:https://azure.microsoft.com/en-us/products/cognitive-services/openai-service?ref=getzep.com
Langchain 示例:https://www.getzep.com/text-embedding-latency-a-semi-scientific-look/#using-sentencetransformer-models-with-langchain
大量不同的模型:https://huggingface.co/sentence-transformers?ref=getzep.com
HuggingFace:https://huggingface.co/?ref=getzep.com
sentence_transformers:https://pypi.org/project/sentence-transformers/?ref=getzep.com
相关文章
猜你喜欢