如何选择合适的 Embedding 模型?

检索增强生成(RAG)是生成式 AI (GenAI)中的一类应用,支持使用自己的数据来增强 LLM 模型(如 ChatGPT)的知识。

RAG 通常会用到三种不同的AI模型,即 Embedding 模型、Rerankear模型以及大语言模型。本文将介绍如何根据您的数据类型以及语言或特定领域(如法律)选择合适的 Embedding 模型。

1

文本数据:MTEB 排行榜

HuggingFace 的 MTEB leaderboard 是一个一站式的文本 Embedding 模型榜!您可以了解每个模型的平均性能。

您可以将“Retrieval Average”列进行降序排序,因为这最符合向量搜索的任务。然后,寻找排名最高、占内存最小的模型。

  • Embedding 向量维度是向量的长度,即 f(x)=y 中的 y,模型将输出此结果。

  • 最大 Token 数是输入文本块的长度,即 f(x)=y 中的 x ,您可以输入到模型中。

除了通过 Retrieval 任务排序外,您还可以根据以下条件进行过滤:

  • 语言:支持法语、英语、中文、波兰语。(例如:task=retrieval,

    Language=chinese

  • 法律领域文本。

    (例如:task=retrieval,Language=law

值得注意的是,由于部分训练数据最近才得以公开,一些 MTEB 上的 Embedding 模型可能是看似合适但实际不合适的模型,排名虚高,实际表现可能会有所不同。因此,HuggingFace 发布了一篇博客,介绍了判断模型排名是否可信的要点。点击模型链接(称为“模型卡片”)后:

  • 寻找解释模型如何训练和评估的博客和论文。仔细查看模型训练使用的语言、数据和任务。同时,寻找由知名公司创建的模型。例如,在 voyage-lite-02-instruct 模型卡片上,您会看到其他的 VoyageAI 模型列出,但不包括这个。这是一个提示!该模型是一 个overfitting 模型,不应使用!

### 如何根据应用场景和需求选择合适Embedding模型 #### 应用场景分析 对于不同类型的自然语言处理任务,选择恰当的嵌入模型至关重要。如果目标是实现高效的语义相似度计算或信息检索,则应优先考虑那些专门为此优化过的Embedding模型[^1]。 #### 需求评估 当面临多种可用选项时,需考量几个重要因素来决定最适合项目使用的Embedding方案: - **数据特性**:某些预训练好的中文Embedding可能更擅长捕捉特定领域内的词汇关系;因此,在医疗、法律等行业应用中表现优异的模型可能是最佳选择。 - **资源限制**:考虑到硬件条件以及预算约束,轻量级且易于部署的解决方案如通过Xinference提供的服务就显得尤为合适[^2]。 - **精度 vs 效率权衡**:高维向量空间虽然能提供更加精确的结果,但也意味着更高的存储开销与运算成本。反之,低维度可以加快速度却牺牲了一定程度上的准确性。 #### 实践建议 为了找到理想的平衡点并最终选定一个或多个候选者进行实验验证,可以从以下几个方面入手: - 浏览公开评测报告获取关于各款流行产品的性能指标对比; - 利用在线平台快速测试几种备选框架的效果差异; - 结合实际业务逻辑调整参数配置直至满足预期标准为止。 ```python import numpy as np from sklearn.metrics.pairwise import cosine_similarity def evaluate_embedding_model(model, test_data): embeddings = model.encode(test_data) similarity_matrix = cosine_similarity(embeddings) return similarity_matrix.mean() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值