BIORAG: RAG+LLM在生命科学领域的玩法


–https://arxiv.org/abs/2408.01107

BioRAG: A RAG-LLM Framework for Biological Question Reasoning

留意更多内容,欢迎关注微信公众号:组学之心

要学的东西真多呀!冲冲冲!

研究团队和研究单位

周园春–中国科学院大学–中国科学院计算机网络信息中心

研究内容

生命科学研究问答系统的特点:

  • 发现速度快、洞察不断发展、知识实体之间的复杂交互
  • 知识仓库维护和提升信息检索准确性具有挑战性。

生物领域问题推理分为两大主流:

  • 微调语言模型(bioBERT、sciBERT…)
  • 针对特定领域量身定制的大语言模型(PMC-Llama 、Llava-med…)

特定领域的语料库上进行训练,将深度领域知识嵌入其架构中(嵌入的知识可能不完整、更新/计算成本高)。

检索生成增强(RAG)方法规范信息索引和检索、信息增强和答案生成。

现在的研究通过:

  • ①使用先前的答案优化检索过程、
  • ②通过迭代反馈循环增强模型功能、
  • ③使用搜索引擎扩展知识库以纳入最新信息来改进。

构建高效生物学问题推理系统的三个挑战:

(C1)高质量领域特定语料库的稀缺:
虽然生物学研究文献丰富,但在构建稳健的信息索引模型方面仍然存在大量高质量数据集的空白。

(C2)生物学知识系统固有的复杂性:
自动化问题推理系统必须能够理解和处理多方面、通常模棱两可的、跨学科性质的生物学查询。

(C3)知识的不断更新:
经常会有新发现,现有的理论也会定期被修改或替换。要求问题推理系统能够熟练地从数据库或当代搜索引擎中选择知识源,以反映正确的科学理解。

BIORAG:

这是一种新型的检索增强生成框架,集成大型语言模型,推理生物学问题。

①首先解析、索引和分割来自生物学领域的大量研究文章,并构建高质量的训练语料库。

②将预先构建的研究层次结构与嵌入模型相结合,以实现准确的上下文检索来解决生物知识系统的复杂性。

③从搜索引擎、现有的领域特定工具或索引研究文章中自适应地选择知识来源。一旦框架确定它已经收集了足够的信息,它就会根据推理材料生成答案。

BioRAG LLM框架

1.数据来源之内部信息源:

从PubMed下载了超过 3700 万篇原始论文,从中过滤掉 1400 万篇被认为质量低下的,最后产生了一个包含 22,371,343 篇高质量、经过处理的 PubMed 摘要的语料库。

文本的预处理用到的工具:Unstructured,该工具专门用于有效地提取和预处理非结构化文本数据。

过滤过程:使用正则表达式技术删除乱码,排除非语义内容(超链接、图表、表格和其他嵌入标签)。

构建了一个本地的生物载体数据库,支持高效、有效的查询处理和检索。


https://github.com/Unstructured-IO

2.数据来源之外部信息源:

生物数据中心:

  • (1)Gene:基因的功能、结构和表达的全面信息。
  • (2)dbSNP :包含大量单核苷酸多态性 (SNP) 库,遗传变异—疾病关联。
  • (3)Genome:提供完整的基因组序列,研究不同生物体基因组的结构、功能和进化。
  • (4)Protein:提供有关蛋白质序列、结构和功能的详细信息,探索与蛋白质相关的生物过程、分子功能和相互作用。

搜索引擎:

  • (1)Google 和 Bing
  • (2)arXiv:提供跨多个科学学科的最新研究报告和学术文章
  • (3)维基百科:对复杂的科学概念和原理提供了易于理解的解释。
  • (4)Crossref:该服务充当学术引文数据的综合聚合器,提供同行评审的学术出版物及其引文网络的链接,获取高质量的研究成果并了解其对学术界的影响。

3.自我评估策略

内部信息检索:

利用集成方法,将明确定义的层次结构与索引信息相结合,进行全面的内部信息检索。

  • (1)重写查询信息,并从预定义的知识层次结构中查找主题标签,然后进行信息索引(摘要的检索):以 PubMedBERT 为基础模型+CLIP (对比语言-图像预训练)增强基础模型,微调后将其表示为 Memb。
  • (2)训练一个模型 MMeSH 来预测输入问题的 MeSH:使用figure 3 模板对 Llama3-8B 模型进行微调,对给定的问题分类。
  • (3)构建 MeSH filtered SQL(figure 4)来生成标量条件检索,通过检查文献中是否包含与输入问题相关的MeSH术语来过滤结果。
  • (4)采用向量检索过程,根据输入问题和过滤结果之间的句子嵌入的余弦相似度对相关结果进行排序。
自我评估策略–评估其收集的信息的充分性和相关性:

文章并没有明确提到使用的方法,但强调了一个迭代的、以大语言模型为核心的评估机制。这个自我评估策略的核心思想是通过模型对检索到的信息进行实时的判断,以确定这些信息是否足以回答提出的问题。

  • 1.初步评估:首先对从内部数据库检索到的信息进行评估,判断这些信息是否满足用户的问题。
  • 2.循环检索:如果不足以有效回答问题,它会重新访问外部知识源以获取更多的相关信息。
  • 3.迭代过程:在每次检索后,模型会再次进行自我评估。如果新获取的信息仍然不够充分,模型会继续迭代这个过程,直到获得足够的信息或达到最大检索次数为止。
  • 4.调用多个工具:当问题需要更广泛的搜索或检索实体特定的数据时,模型会倾向于调用多个外部工具。

4.总的来看

1. 问题输入与检索器选择

首先,用户输入一个问题,比如:“奥昔布宁盐酸盐会引起膀胱功能障碍儿童的心律失常吗?” 接下来,系统会通过Prompt #1提示,选择合适的工具或检索方法。BIORAG可以访问多种生物数据库,例如Gene、dbSNP、Protein数据库等,还可以调用搜索引擎如Google、Bing,甚至可以使用定制的API来检索信息。

2. 查询预处理

在选择好检索工具后,系统进入查询预处理阶段。这里使用Prompt #2,系统会重新格式化问题,使其更适合检索。例如,会生成MeSH标签(医学主题词)来帮助精确定位相关内容。通过大型语言模型(LLM)生成这些标签,然后将其映射到预定义的MeSH树结构中,以优化检索结果。

3. 检索执行

接下来,系统进入检索执行阶段,通过Prompt #3组合检索上下文。这个过程包括:

查询重写:将原始问题重写为更适合检索的格式。
嵌入与过滤:利用医学嵌入模型和逻辑组合来过滤检索结果。
MeSH映射:结合MeSH标签和嵌入模型,对20万篇高质量的研究文章进行检索,提取相关信息。

4. 自我评估

在获取初步检索结果后,系统通过Prompt #4进行自我评估,判断当前的信息是否足以回答问题。如果系统认为信息不充分,它会再次调用外部工具或进行更多的检索,直到获得足够的信息为止。

5. 推理与生成

最后,在所有相关信息收集完成后,系统进入推理与生成阶段。通过Prompt #5,系统生成最终的答案。比如说,基于多种数据源,系统可能会得出结论:“是的,奥昔布宁盐酸盐可能会导致心律失常。”

以下也是文章举得一个例子:

结果分析

1.测试用到的数据集和Baslines :

数据集:

6 个常用的生物相关 QA 数据集上进行实验:GeneTuring 、MedMCQA 、医学遗传学 、大学生物学 、大学医学

GeneTuring 数据集包含更专业的生物学问题。它包含 12 个任务,每个任务有 50 个问答对。研究使用 7 个与 NCBI 资源相关的 GeneTuring 任务来评估提出的 BIORAG。所选任务分为三个模块:

  • 命名任务:基因别名任务和名称转换任务。

  • 基因组学定位:任务是关于基因的位置、单核苷酸多态性 (SNP) 及其关系,包括基因定位、SNP 定位和基因 SNP 关联任务。前两个任务询问基因或 SNP 的染色体位置,最后一个任务询问给定 SNP 的相关基因。

  • 功能分析:要求了解基因功能。使用基因-疾病关联任务,目标是返回给定疾病的相关基因,以及蛋白质编码基因任务,该任务询问基因是否为蛋白质编码基因。

baslines:
  • LLM(General LLMs):选择GPT-3.5-Turbo(175B)、Llama3-8B(8B)、Llama-70B(70B)作为代表Baslines 。

  • BioLLM:PMC-Llama (13B) 和 BioMistral (7B) 是两个医学 LLM。他们接受过开源生物医学文本的预培训。

  • SciRAG( Scientific RAG-LLM 框架):GeneGPT (175B) 是一个生物 RAG-LLM 框架,集成了 NCBI 数据库,即 Gene、dbSNP、OIMI 和 Blast;NewBing (>400B) 是一个检索增强的 LLM,可以访问 Bing 检索的相关网页。

2.实验设置

bioRAG:

以Llama3-70B作为BIORAG的基本语言模型。嵌入模型 Memb以 AdamW 作为优化器,并微调 2 个 epoch。

生物数据库、搜索引擎和本地 PubMed 数据库的检索结果数量分别设置为 10、10 和 4。

自我评估的最大迭代次数设置为 15。如果模型在 15 次内没有输出最终答案,BIORAG 将停止迭代并输出当前错误的答案。

使用准确性来验证整体性能:
  • 1.对于 GeneTuring 数据集,研究仅将模型预测与真实值之间的精确匹配视为所有命名法和基因组学位置任务的正确预测。

  • 2.对于基因-疾病关联任务则在原始数据集中一样测量召回率,但基于精确的单个基因 https://www.bing.com/chat 匹配。

  • 3.对于蛋白质编码基因任务,在应用简单的词汇映射后,我们认为精确匹配是正确的,该词汇映射将模型预测的“是”/“否”转换为“真”/“NA”,并将拉丁物种名称转换为它们的非正式名称。其他数据集的最终答案是“是”/“否”。

3.生物相关任务的结果

(1)BioLLMs vs GPT-3.5:微调特定领域的数据有助于特定领域的任务。由于 BioLLM 的大小比 GPT3.5 小得多,因此它们的性能与 GPT-3.5 不相上下。

(2)BIORAG的表现优于BioLLMs和GPT3.5,说明本地和外部数据源是有效的。

(3)虽然BIORAG的尺寸比SciRAG(NewBing)小得多,但性能更好。主要是因为定制了prompt;本地和外部信息源。NewBing无法访问专门的数据库,并且缺乏用于推理的技术生物学描述。

(4) GeneGPT 在此任务中的准确率为 0%,因为它是针对 GeneTuring 数据集的定制模型,导致泛化能力较差。

4.专业的生物学推理结果

(1)对于命名法任务,BIORAG和GeneGPT的表现分别排名第一和第二,因为它们都可以访问Gene数据库。BIORAG整合了搜索引擎的结果,而GeneGPT没有。

(2)基因组定位任务背后的推理依赖于Gene和dbSNP数据库。BIORAG与GeneGPT在基因SNP关联子任务中准确率均达到100%,因为两者都可以访问dbSNP数据库。基因定位任务难度在于变异基因名称,GeneGPT的接口不支持高级搜索,检索到的名称不全面。NewBing在查询实体有变体或歧义时可以有更好的检索结果。

(3)功能分析任务依赖于Gene数据库和相关PubMed论文。

5.消融实验

(1)数据库:( D1 )没有基因数据库的 BIORAG;(D2)没有通用搜索引擎的 BIORAG;(D3)没有本地 PubMed 数据库的 BIORAG

(2)模型组件:(C1)没有 MeSH 过滤器的 BIORAG;(C2)没有查询重写组件的 BIORAG;(C3)没有自我评估机制的 BIORAG

(3)基础模型:(M1)以 Llama-3-8B 作为基础 LLM,(M2)以 Llama-3-70B 作为 BioRAG 的基础 LLM。

6.不同模型之间的比较具体案例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

组学之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值