开发具有高效数据存储的多语种和跨语言信息检索系统
发布时间:2025-01-09 11:05:13
高效的文本检索对于搜索、问答、语义文本相似性、摘要和商品推荐等各种信息检索应用至关重要。它还在检索增强生成(RAG)技术中发挥着关键作用,该技术使 大语言模型(LLMs) 能够在不修改基础参数的情况下访问外部上下文。
虽然 RAG 在提高 LLM 生成的响应质量方面非常有效,但由于主要使用英语数据集进行训练,许多嵌入模型仍然难以检索多种语言的正确数据。这限制了以其他语言生成准确且信息丰富的文本回复,阻碍了与全球受众的有效沟通。
多语种信息检索可提高生成文本的事实准确性和一致性,并实现本地化的上下文感知响应,从而消除语言障碍,使信息在全球范围内更易于获取。从改善临床医生与患者之间的沟通和故障排除技术问题,到提供个性化零售体验,此功能可解锁各行各业的各种应用。
然而,为大规模数据平台创建此类系统会面临独特的挑战,例如管理海量数据、确保低延迟检索,以及在各种多语种数据集中保持高准确性。
本文将介绍如何使用 NVIDIA NeMo Retriever 嵌入和重新排序微服务解决这些复杂性,并构建强大的多语种信息检索系统。NeMo Retriever 基于 NVIDIA NIM 构建,支持在不同的数据环境中无缝部署 AI 应用。它重新定义了以出色的准确性、可扩展性和响应速度处理大规模多语种检索的可能性,改变了全球组织与信息交互的方式。
NVIDIA NeMo Retriever 是一系列微服务的集合,可提供具有高准确性和数据隐私性的出色信息检索,使企业能够生成实时业务见解。
NVIDIA NIM 是 NVIDIA AI Enterprise 软件平台的一部分,可简化跨平台生成式 AI 模型的部署,使团队能够自行托管 LLM,同时提供用于构建应用的标准 API。有关更多信息,请参阅面向开发者的 NVIDIA NIM。
多阶段、多语言信息检索系统需求
开发多语种信息检索系统需要集成能够从多语种知识库获取数据的强大检索组件。然后,这些检索到的数据用于增强生成过程,确保准确的上下文感知响应。
信息检索系统的核心是嵌入或密集检索模型,这些模型将查询和内容 (即段落或文档) 语义编码为向量表示形式,以捕捉其含义。
近年来,我们推出了许多不同大小和功能的密集嵌入模型 ( MTEB 检索排行榜 )。然而,这些模型中的大多数在有效执行多语言检索方面能力有限。
要构建 多语种 RAG 系统,嵌入模型必须支持多种语言,确保来自不同语言来源的查询和上下文准确嵌入到共享的语义空间中。
对于更先进的多语种检索系统,可能需要多阶段多语种检索管道。这不仅包括 dense retriever,还包括 reranking model ,该模型通过对检索到的文档进行排名来优化结果,并提高不同语言之间的准确性。
借助 NVIDIA NeMo Retriever 革新数据平台
认识到构建这些工作流的挑战和要求, NVIDIA 引入了 两种新的基于社区的 NeMo Retriever 微服务,用于基于 NVIDIA NIM 构建的世界级多语种和跨语言文本检索。
NeMo Retriever Llama 3.2 embedding: llama-3.2-nv-embedqa-1b-v2
NeMo Retriever Llama 3.2 reranking: Llama-3.2-nv-rerankqa-1b-v2
除了支持多语种和跨语言问答检索外,新的多语种模型还能高效、大规模地解决数据平台在存储、性能和适应性方面的关键挑战。
以下技术可将更多数据存储在向量数据库中,从而增强实时检索和生成功能:
长上下文支持 :使用 PyTorch 等框架,处理和理解大量文档,支持多达 8192 个令牌的上下文,从而改进数据处理。
动态嵌入大小 :提供灵活的嵌入大小,以优化存储和检索流程,在保持准确性的同时减少维度。
存储效率 :将嵌入维度减少到 384,并扩展上下文长度,将存储量减少 35 倍,从而使更大的知识库适合单个服务器。
性能优化 :结合长上下文支持和降低的嵌入维度,在保持出色存储效率的同时提供高精度。
图 1 显示通过动态嵌入大小和对更长令牌长度的支持,可将存储占用减少 35 倍,从而高效处理大规模数据集。对于无法使用云自动扩展的本地客户而言,这一进步特别有利,使他们能够准确高效地存储和检索更多数据。
基于优化嵌入和重新排序模型的多语种、跨语言文本检索基准测试
那么,我们如何针对多语种和跨语言文本问答检索任务优化这些嵌入和重新排序模型?
将 meta-LLAMA/Llama-3.2-1B 作为基础模型 (仅解码器模型),并将其转换为编码器模型。基础 Llama-3.2-1B 模型正式支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,并且已经过训练,使用的语言比这八种受支持的语言更广泛。
将其自注意力机制从单向(因果关系)修改为双向,以便每个令牌都可以处理右侧和左侧的其他令牌。
通过使用内部精选的公开可用英语和多语种数据集进行微调,改进了基础 Llama-3.2-1B 模型的现有多语种功能。
通过对比学习,使用可感知正向的硬阴性挖掘方法挖掘的硬阴性,对嵌入和重新排序模型进行微调。如需了解更多信息,请参阅 NV-Retriever:通过有效的硬阴性挖掘改进文本嵌入模型 。
随着两个新的 1B 参数检索器模型的推出, NVIDIA NeMo 在多语种检索的高精度与高效索引吞吐量和低服务延迟之间实现了平衡。
我们使用 18 个 MIRACL 开发者集、11 个翻译语言数据集和 49 个跨语言 MLQA 数据集评估了 1B 参数检索器模型。条形图中显示的所有模型均在相同的基础架构和数据集上进行评估。我们对 MIRACL 开发者数据集进行了二次采样,以加快评估速度。图 2 显示 NVIDIA Llama 3.2 嵌入和重新排序模型在检索准确性方面表现出色 (通过 Recall@5 衡量),当它们组合成多阶段检索系统时更是如此。
图 3 显示,NVIDIA Llama3.2 1B 嵌入和 Llama3.2 1B 重新排序模型均表现出出色的准确性,从而为多语种和跨语言文本检索基准测试带来最先进的结果。
除了 NVIDIA Llama3.2 1B 嵌入和 Llama3.2 1B 重新排序模型的多语种和跨语言功能外,图 4 还显示,在仅使用英语的 TextQA 基准数据集上,所有 NVIDIA 模型都能生成比替代模型更准确的检索结果。将这些模型与开放式和商用检索器模型进行比较,并在学术问答基准上对这些模型进行了评估:来自 BeIR 基准和 TechQA 数据集的 NQ 、 HotpotQA 和 FiQA (Finance Q&A)。
开始开发出色的信息检索管道
要使用 NeMo Retriever 微服务构建可扩展的世界级信息检索系统,请访问我们的托管环境 NVIDIA API Catalog 。在这里,您可以访问一系列微服务进行检索,使组织能够将自定义模型无缝连接到各种业务数据,并提供高度准确的响应。该集合包 括 llama-3.2-nv-embedqa-1b-v2 和 llama-3.2-nv-rerankqa-1b-v2 。
NVIDIA Developer Program 会员 可以免费访问 NIM,以便在首选基础架构上进行研究、开发和测试。系统将提示您输入个人或企业电子邮件地址,以访问使用 NIM 构建的不同选项。
您还可以在 GitHub 上探索 NVIDIA 生成式 AI 示例 ,了解如何集成这些微服务并编写示例应用。 获取适用于 NeMo Retriever 的 NVIDIA LaunchPad 免费实战实验室 ,试用微服务并解锁企业数据, 或使用 RAG 实验室构建 AI 聊天机器人 。