近日,「德睿智药」与广州生物岛科学家团队的合作论文“An Extensive Benchmark Study on Biomedical Text Generation and Mining with ChatGPT”,发表在国际顶级生物信息学期刊Bioinformatics上。AI大语言模型应用于生物医药领域需要深入的领域理解能力,同时科学的模型表现评估也是研发出应用于生物医药领域大语言模型的基础。为此,本论文研究团队开发出一项全面的基准测试流程,以评估各种AI大语言模型在生物医学数据挖掘上的性能。
[ 研究应用 ]
该基准测试流程已应用于「德睿智药」内部PharmKG平台中AI大语言模型研发。该大模型主要用于生物医药数据的快速高质量提取,构建更高质量生物知识网络,以赋能靶点评估立项等新药研发关键流程。基于AI大语言模型领域技术积累,「德睿智药」已与世界前五国际药企建立并深化AI技术合作,与国际顶级高校合作项目成功获得由全球顶尖机构Wellcome Leap和淡马锡信托基金会共同发起的Dynamic Resilience基金支持,以加速推进抗衰老创新疗法研发。
以下为该项基准研究构建流程及实验结果:
1. 将ChatGPT应用于生物医学自然语言处理
近年来,生物医学文献数量显著增加,对于强大的生物医学数据挖掘工具的需求日益紧迫,而预训练的语言模型已被证明可以加速通用生物医学自然语言处理(NLP)应用的进展。训练领域特定语言模型通常是先在大规模通用数据集上预训练模型,以学习语言的通用特征,然后在更专注的领域特定数据上进行微调。
ChatGPT是一种基于GPT-3.5的生成模型,并进行了微调以完成文本生成任务。在本研究中,团队采用提示工程方法,将ChatGPT模型用于生物医学相关的NLP任务并评估其性能。在大多数情况下,ChatGPT模型以Zero-Shot或者Few-Shot的方式接受评测(作为提示工程的一部分)。
提示设计对于ChatGPT的输出至关重要。为了获得更优的提示词,研究团队设计了自动化流程来检查输出。对于异常情况,团队会要求进行更正,指出问题,强调格式并请求重新回答。
2. 数据来源与方法
考虑到模型的可访问性和计算速度,团队测试了基于GPT-3.5构建的ChatGPT模型,以评估其在生物医学数据挖掘任务上的性能。
研究团队采用了生物医学NLP的综合基准数据集,即生物医学语言理解与推理基准(BLURB),这是一个广泛的生物医学NLP任务集合,源自公开可访问的数据源,包括13个生物医学NLP子集,分为六种任务类型。这些任务包括:命名实体识别(NER)、基于证据的医学信息提取(PICO)、生物医学关系抽取(BRE)、句子相似度、文档分类和问答。要计算BLURB的总体得分,最简单的方法是报告所有任务的平均得分。然而,这可能会受到一些高分任务的影响。因此,团队提供了每个任务类别的平均得分,反映了属于相同任务类型的数据集的性能,以及所有任务类型之间的平均总体得分。
在三个数据集(ChemProt、DDI、GAD)中 ,团队尝试了简化以及复杂版本的提示词。设计复杂提示的目标是为ChatGPT提供额外的指示,以更好地理解问题和答案的标签。
3. 实验结果
研究团队选择了在BLURB基准测试中表现出色的三个基准模型与ChatGPT进行比较,即PubmedBERT、BioLinkBERT-Base和BioLinkBERT-Large。所有这些模型都基于BERT架构构建。PubmedBERT在PubMed语料库上进行了预训练,BioLinkBERT-Base在带有引文链接的PubMed上进行预训练。BioLinkBERT-Large模型则专门在大量生物医学文献和临床笔记上进行了预训练,以捕捉生物医学NLP任务所需的复杂术语和领域特定知识,它包含超过3.35亿个参数,是生物医学领域最大的预训练模型之一。
该研究对ChatGPT在前述六种生物医学数据挖掘任务上的性能进行了测试。总体而言,ChatGPT的BLURB得分为59.46,明显低于目前最优表现(State-of-the-Art,SOTA)基线模型。在所有类型的任务中,问答任务是唯一一种ChatGPT与基准模型具有可比性的任务类型。在这种情况下,ChatGPT(82.51)优于PubMedBERT(71.70)和BioLinkBERT-Base(80.82),并且非常接近BioLinkBERT-Large(83.50)。特别是在PubMedQA数据集上,ChatGPT(76.45)显著超过基准,并且接近人类表现的78.2%和SOTA得分的79.6%。ChatGPT在问答任务上的出色表现可能与其作为聊天机器人的设计有关,并且这种能力在生物医学领域得到很好的应用。
命名实体识别任务目标是识别化学物质、疾病和基因名称的实体。ChatGPT在各种数据集中的识别准确度从高到低依次为:化学物质(BC5-chem)> 疾病(BC5-disease和NCBI-disease)> 基因(BC2GM和JNLPBA)。这一趋势反映了疾病和基因名称比化学物质名称具有更高的内在复杂性。生物医学实体特别是术语,在日常用语中并不常见,这可能解释了为什么ChatGPT在理解需要更多领域知识的文本时表现欠佳。
基于证据的医学信息提取任务类似于实体识别任务。ChatGPT的性能较基线模型差,但与实体识别任务相比差距较小。性能不佳的一个原因可能是ChatGPT会错过短句或短语,但可以成功提取长句。
关系抽取任务要求模型能够识别文本中掩盖的一对实体之间的关系。正如前面提到的,团队对于关系抽取的三个数据集(ChemProt、DDI、GAD),设计了两种不同的提示。总体而言,复杂的提示表现更好,复杂提示的结果被用作相关实验的最终结果。对于需要模型输出为简单的“是”或“否”的DDI和GAD数据集,ChatGPT的性能较差。ChemProt数据集相对更复杂,因为它需要分组关系,ChatGPT得分甚至低于其他任务。一个可能的解释是所谓的“关系”并不明确,导致ChatGPT很难理解提示中所提到的“关系”指的是什么。为了验证这一解释,研究人员在ChemProt数据集上以One-Shot方式测试了ChatGPT,每个关系组提供一个样本提示。这种方法将分数从34.16%提高到48.64%。从结果中还可以注意到,ChatGPT往往会受到文本中其他词汇的干扰,经常将关系标签错误分配给实际没有关联的实体对。
文档分类任务对于ChatGPT来说非常具有挑战性。答案类别的数量并不确定,可能是一个空类别,也可能是其中一个类别,或者可能是多个类别,没有足够的领域知识模型很难理解这些标签。在HoC数据集上,ChatGPT仅获得了51.22%的F1值,远远低于基于BERT的模型,表明ChatGPT在处理少样本的医学文本分类任务时性能仍远未达到最佳水平。
句子相似度对于ChatGPT来说也是一个难题,特别是在Zero-Shot情况下。不同于其他任务,BIOSSES数据集中定义的相似性非常主观,相似性得分可能存在歧义,某一对句子的得分偏差可能高达2分,个体注释和真实值之间的皮尔逊系数仅为0.5。由于基线模型经过了精细调整过程,它们获得了较高的分数。
4. 结论
本研究构建了一项将AI大语言模型应用于生物医学NLP任务的基准研究流程。实验数据显示,基于GPT-3.5构建的ChatGPT模型在一些生物医学NLP基准数据集上表现欠佳。虽然可以在提示中添加指令以限制ChatGPT的输出,但仍然存在ChatGPT输出不符合预期格式的可能性。该基准研究有助于指导和优化AI大语言模型研发流程,加速高质量的生物医药领域大模型研发进展。
论文链接:
https://doi.org/10.1093/bioinformatics/btad557
数据来源:
https://microsoft.github.io/BLURB/index.html