如何评估并找到适合RAG的最佳嵌入模型——基于Ground Truth的方法
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
点击“蓝字”关注我们
检索增强生成(RAG)作为大型语言模型(LLMs)最受欢迎的应用之一,其核心在于将检索器与生成器相结合:检索器通过嵌入模型从向量数据库中获取相关上下文,生成器则基于检索到的信息生成回答。在RAG系统中,检索器的性能往往比生成器更为关键——即便生成器的能力中等,只要能获取到准确的信息,也能产出令人满意的结果。因此,评估并选择合适的嵌入模型(即检索器),对RAG系统的整体表现至关重要。本文将详细介绍如何基于GroundTruth(基准真值)评估嵌入模型,并找到最适合RAG系统的方案。
在AI和机器学习系统的评估中,GroundTruth是公认的“黄金标准”。尽管手动创建GroundTruth耗时且成本高,但它能提供关于数据、文档、文档分块方式以及用户可能提出的问题类型等深度洞察,是一项值得的投资。对于RAG系统的检索器评估而言,构建高质量的GroundTruth是首要步骤。
构建GroundTruth的核心目标是让每个问题在数据库中都有唯一对应的相关分块,以便直观评估嵌入模型是否能为特定问题检索到正确的分块。具体步骤如下:
:从已分块的知识文档中,识别包含特定、独特信息的分块,确保这些信息不会出现在其他分块中。
:基于每个独特分块,设计只能通过该分块充分回答的问题。
:通常创建几十个这样的“问题-分块”对,即可满足早期模型评估的需求,帮助获取有意义的洞察。
评估嵌入模型需要合适的数据集作为支撑。在本次演示中,选用了HuggingFace上的neural-bridge/rag-dataset-12000数据集,该数据集的每条记录包含问题、上下文分块和答案。由于评估重点是检索器,因此仅关注“问题-上下文”对。
与实际RAG场景中常见的单一主题(如保险政策、产品手册)不同,该数据集涵盖了广泛且多样的主题。这种多样性有助于更全面地测试嵌入模型在不同领域的适应性,但需注意:在真实场景中,当所有分块属于同一领域(如人力资源政策)时,检索任务会更具挑战性,准确率可能低于多样化数据集的测试结果。
有了GroundTruth和数据集后,评估嵌入模型的流程如下:
:本次评估选取了Ollama上7个最受欢迎的嵌入模型,涵盖不同参数规模和性能特点。
:将所有分块的嵌入向量存入向量数据库。
:针对每个问题,检索最相关的Top1分块。
:对多个嵌入模型重复上述步骤,比较其检索准确率,找出在特定数据上表现最优的模型。
:测试的模型中,最小的all-minilm:33m仅有3300万参数,最大的snowflake-arctic-embed:2则有5. 66亿参数,两者相差约18倍,但均远小于典型LLM的参数规模(通常相差2-3个数量级)。
:这些模型支持的上下文长度在512到8192tokens之间,生成的嵌入向量维度为384到1024。
:由于最小上下文长度为512tokens,首先过滤掉上下文长度超过该限制的记录,再从剩余数据中随机抽取1000条记录,在减少处理时间的同时,保证评估的多样性和代表性。
评估结果以DataFrame形式呈现,包含问题、基准上下文(context_gt)以及7个模型的检索结果。通过统计每个模型检索到的分块与基准真值匹配的次数,计算出检索准确率,具体如下:
:7个模型中有6个的检索准确率超过90%,显示出主流嵌入模型在多样化场景下的可靠性。
:
最小的all-minilm:33m准确率为87. 9%,虽低于90%,但考虑到其参数规模,表现已相当可观。
最大的snowflake-arctic-embed:2以92. 9%的准确率位居榜首,紧随其后的是bge和mxbai模型。
总体而言,模型规模与检索准确率呈正相关——参数更大的模型往往能更好地捕捉信息相关性。
在实际生产系统中,检索速度(延迟)是影响用户体验的关键因素。本次在搭载16GBRAM的MacM1Pro上对模型进行了基准测试,主要关注两个指标:
:将1000个文档的嵌入向量存入向量数据库的耗时。
:为1000个问题检索Top1分块的耗时。
测试结果显示:
最小的minilm模型在ingestion和检索速度上均比最大的snowflake模型快约4倍。
即使是最大的模型,为1000个问题从包含1000个分块的向量数据库中检索结果也仅需约100秒,基本能满足中小型应用的需求。
对于对低延迟要求极高的应用,minilm等轻量模型是实用的选择——若可接受几个百分点的准确率下降,其速度优势能显著提升用户体验。但需注意,随着向量数据库中分块数量的增加,延迟会自然上升,需在实际部署中进一步优化。
通过基于GroundTruth的评估流程,我们可以清晰地比较不同嵌入模型在RAG系统中的表现。总结来看:
:手动构建基准真值虽然成本高,但能为模型评估提供可靠依据,同时加深对数据和用户需求的理解。
:
若追求最高准确率,snowflake-arctic-embed:2等大参数模型是首选,尤其在多样化主题场景中表现突出。
若侧重低延迟和资源效率,all-minilm:33m等轻量模型在准确率可接受的前提下,能显著提升系统响应速度。
:真实应用中,同一领域内的检索任务更具挑战性,需结合具体业务数据进行针对性测试,不能完全依赖通用数据集的评估结果。
总之,评估嵌入模型时,需综合考虑准确率、延迟、模型大小以及实际业务场景的特点,通过GroundTruth方法科学对比,才能选出最适合特定RAG系统的嵌入模型,为后续生成器的高效工作奠定基础。