大型语言模型(LLM)的出现极大地惠及了AI行业,提供了能够生成类人文本和处理广泛任务的多功能工具。然而,尽管LLM展示了令人印象深刻的通用知识,但在像兽医学等专业领域中,LLM的现成性能有限。为了提高它们在特定领域的实用性,行业中通常采用两种主要策略:微调和检索增强生成(RAG)。
微调与RAG
微调涉及对模型进行精心策划和结构化的数据集训练,需要大量的硬件资源以及领域专家参与,这一过程通常既耗时又昂贵。不幸的是,在许多领域中,很难以符合商业限制的方式接触到领域专家。
相比之下,RAG涉及构建知识文学的综合语料库,以及一个有效的检索系统,以提取相关的文本块来回答用户查询。通过将这个检索到的信息添加到用户查询中,LLM可以生成更好的答案。尽管这种方法仍然需要主题专家来策划数据集的最佳来源,但与微调相比,它更易于实现且更符合商业需求。此外,由于不需要对模型进行广泛的训练,这种方法在计算上不那么密集,且更加成本有效。
NVIDIA NIM与NLP管道
NVIDIA NIM简化了使用LLM设计NLP管道的过程。这些微服务简化了跨平台部署生成AI模型的过程,允许团队自行托管LLM,同时提供标准API来创建应用程序。
NIM抽象了模型推理的内部过程,如执行引擎和运行时操作,确保了与TensorRT-LLM、vLLM等的最佳性能。关键特性包括:
- 可扩展的部署
- 支持具优化引擎的多种LLM架构
- 灵活集成到现有工作流程中
- 企业级的安全性,包括safetensors和持续的CVE监控
开发者可以使用Docker运行NIM微服务并通过API执行推理。通过修改容器命令,还可以使用专门训练的模型权重来完成特定任务,如文档解析。
重新定义兽医护理与AI
作为NVIDIA初创企业计划中AITEM的成员,与NVIDIA的合作专注于跨多个领域的AI解决方案,包括工业和生命科学。在兽医学领域,AITEM正在开发LAIKA,这是一款创新的AI助手,旨在通过处理病患数据并提供诊断建议、指导和澄清来协助兽医。
LAIKA集成了多个LLM和RAG管道。RAG组件从精心策划的兽医资源数据集中检索相关信息。在准备过程中,每个资源被分成块,并计算嵌入存储在RAG数据库中。在推理过程中,查询被预处理并计算其嵌入,并使用几何距离度量与RAG数据库中的嵌入进行比较。选择最接近的匹配作为最相关的信息来生成响应。
由于RAG数据库中的潜在冗余,多个检索到的块可能包含相同的信息,限制了提供给答案系统的概念多样性。为了解决这个问题,LAIKA采用最大边缘相关性(MMR)算法来最小化块冗余,确保提供更广泛的相关信息。
NVIDIA NeMo Retriever重新排序NIM微服务
NVIDIA API目录中包括NeMo Retriever NIM微服务,使组织能够无缝地将自定义模型连接到各种业务数据并提供高度准确的响应。NVIDIA检索QA Mistral 4B重新排序NIM微服务设计用于评估给定文本段包含相关信息以回答用户查询的概率。将该模型集成到RAG管道中可以过滤掉未通过重新排序模型评估的检索结果,确保仅使用最相关和最准确的信息。
为了评估该步骤对RAG管道的影响,AITEM设计了一项实验:
- 从LAIKA用户中提取约100个匿名问题的数据集。
- 运行当前的RAG管道,检索每个问题的块。
- 根据重新排序模型提供的概率对检索到的块进行排序。
- 评估每个块与查询的相关性。
- 分析重新排序模型概率分布与步骤4中确定的相关性之间的关系。
- 比较步骤3中块的排序与步骤4中确定的相关性。
LAIKA中的用户问题形式可能差异很大。一些查询包含详细的情况说明,但缺乏具体问题。其他查询则包含关于研究的精准询问,而一些则基于临床病例或分析文件寻求指导或鉴别诊断。
由于每个问题的大量块,AITEM使用了Llama 3.1 70B Instruct NIM微服务进行评估,该服务也在NVIDIA API目录中提供。
为更好地理解重新排序模型的性能,对特定查询和模型响应进行了详细的检查。表1突出显示了关于一只体重减轻的猫的鉴别诊断示例查询的三个最高和三个最低重新排序的块。
文本 | 重新排序Logit |
特别难以诊断的体重减轻原因包括不引起呕吐的胃病、不引起呕吐或腹泻的肠病、肝病等 | 3.3125 |
食欲不振、体重减轻、呕吐和腹泻等非特异性症状的鉴别诊断……急性胰腺炎在猫中罕见,症状非特异且不明确(食欲不振、嗜睡、体重减轻)。 | 2.3222 |
严重的体重减轻(无论食欲是否增加)可能由于癌症衰竭、消化不良/营养不良等……一些情况下食欲可能增强,如猫的甲亢……然而,正常的食欲并不意味着排除了疾病的可能性。 | 2.2265 |
总体而言,体重减轻是最常见的表现症状……两组之间几乎没有差异…… | -5.0078 |
其他客户投诉包括嗜睡、食欲不振、体重减轻、呕吐…… | -7.3672 |
有6只英国短毛猫,4只欧洲短毛猫和1只孟加拉猫……业主报告的临床症状包括:食欲减退或食欲不振…… | -10.3281 |
图4比较了好块和坏块的重新排序模型概率输出分布(以logit表示)。好块的概率高于坏块,并且t检验证实这种差异在统计学上显著,p值低于3e-72。
图5显示了重新排序引起的排序位置分布差异:好块主要位于顶部位置,而坏块则位于较低位置。Mann-Whitney检验证实这些差异在统计学上显著,p值低于9e-31。
图6显示了排序分布,并帮助定义了一个有效的截止点。在前五个位置,大多数块都是好的,而在位置11-15的大多数块是坏的。因此,仅保留前五个检索结果或另一个选定数量可以作为一种有效排除大多数坏块的方式。
为了优化检索管道,尽量减少获取成本并最大化准确性,可以将轻量级嵌入模型与NVIDIA重新排序NIM微服务配对,以提高检索准确性。执行时间可以提高1.75倍(图7)。
通过NVIDIA重新排序NIM微服务提供更好的答案
结果表明,添加NVIDIA重新排序NIM微服务到LAIKA RAG管道中,对检索到的块的相关性有积极影响。通过将更精确、专业的信息转发给下游的答案LLM,为模型提供所需的知识,以应对像兽医学这样高度专业化的领域。
NVIDIA重新排序NIM微服务在NVIDIA API目录中可以简化采用,因为你可以轻松拉取并运行模型,并通过API推断其评估。这消除了与环境设置和手动优化相关的压力,因为它已预先量化并与NVIDIA TensorRT一起优化,适用于几乎任何平台。
有关LAIKA和其他AITEM项目的更多信息和最新更新,请参见AITEM Solutions,并在LinkedIn上关注LAIKA和AITEM。
Image source: Shutterstock