尽管大型语言模型(LLMs)已成功应用于各种任务,但它们仍然有生成错误内容的问题。利用领域特定工具(如数据库工具)增强LLMs具有促进访问专业知识更精确和直接的潜力。文章介绍了GeneGPT,一种新的方法,它能够教授LLMs使用国家生物技术信息中心(NCBI)的Web应用程序编程接口(API)回答基因组学问题。
大型语言模型如PaLM和GPT-4在广泛的通用领域自然语言处理(NLP)任务上取得了巨大的成功。它们在许多领域特定任务上也实现了最先进的性能,如生物医学问答等。然而,由于自回归LLMs没有内在的机制来“查阅”任何真实来源,因此它们会生成合理但不正确的内容。为了解决此问题,各种研究提出了增强LLMs的方法,包括将其置于检索相关内容的条件下或允许它们使用其他外部工具,如程序API。在这项工作中,作者提出教授LLMs使用国家生物技术信息中心(NCBI)的Web API。NCBI提供API访问其生物医学数据库和工具,包括Entrez编程实用工具(E-utils)和基本局部比对搜索工具(BLAST)。使LLMs能够使用NCBI Web API可以更轻松、更精确地访问生物医学信息,特别是对于那些对数据库系统不熟悉的用户。Web API的优势在于减轻用户实现功能、维护大型数据库和重负计算的负担,因为唯一的要求是互联网连接。作者介绍了一种新方法GeneGPT,它通过上下文学习促使Codex使用NCBI Web API,GeneGPT由两个主要模块组成:(a)一个特别设计的提示,包括API使用演示,和(b)一个推理算法,将API调用集成到Codex解码过程中。作者在GeneTuring数据集(Hou和Ji,2023)上评估GeneGPT,这是一个用于基因组学问题回答(QA)的基准测试,并将其与其他各种LLM进行比较。
Prompt 设计
提示以整体任务描述开始(“您的任务是使用NCBI API来回答基因组学问题。”),并包括NCBI Web API URL模板。接下来是四个QA实例,作为使用NCBI Web API的演示,这些实例在表格中进行了总结。作者使用它们来教授LLM使用NCBI E-utils的三个功能(esearch、efetch、esummary)和三个数据库(gene、snp、omim),以及BLAST API。API URL和调用结果由“[ ]”标记,其中在中间插入了特殊的“->”符号。然后,特定的测试问题被追加到提示的末尾,采用类似于上下文学习演示实例的格式。上图展示了一个Prompt的例子。
实验指标
作者将提出的GeneGPT方法与各种基准进行比较,包括基于GPT的通用领域LLMs,如GPT-2、GPT-3和ChatGPT,以及基于生物医学领域的GPT-2大小的LLMs,如BioGPT和BioMedLM,以及New Bing,这是一种检索增强的LLM,可以访问Bing搜索引擎检索到的相关网页。为了评估GeneGPT方法,作者遵循一般的标准,进行自动评估。具体来说,作者仅考虑模型预测与基准答案完全匹配的情况,作为所有命名和基因组位置任务的正确预测。对于基因疾病关联任务,作者测量召回率,但基于确切的个体基因匹配。对于编码蛋白质基因任务和多物种DNA序列比对任务,作者还考虑使用简单的词汇映射将模型预测的“yes”/“no”转换为“TRUE”/“NA”,并将拉丁物种名称转换为它们的非正式名称(例如,“Saccharomyces cerevisiae”转换为“酵母菌”)。对于与人类基因组的DNA序列比对任务,作者将正确的染色体映射得分为1,将位置映射不正确的得分设为0.5(例如,chr8:7081648-7081782与chr8:1207812-1207946),因为原始任务没有指定参考基因组。
命名任务:GeneGPT在一次性基因别名任务(准确率为0.80)和零次基因名称转换任务(准确率为0.98)上均取得了最先进的(SOTA)性能。平均而言,GeneGPT大幅优于New Bing(0.89比0.76)。所有其他GPT模型在命名任务上的准确率得分都小于0.10。
基因组位置任务:GeneGPT还在所有基因组位置任务上取得了最先进的性能,包括一次性基因SNP关联任务(1.00准确率),以及零次基因位置任务(0.62准确率)和零次SNP位置任务(1.00准确率)。尽管New Bing在基因位置上与GeneGPT相当(0.61比0.62),但其在两个与SNP相关的任务上的表现接近于0。同样,大多数其他LLMs的得分都小于0.10。
功能分析任务:New Bing在功能分析任务上的表现比GeneGPT更好(平均分数:0.91比0.58),这可能是因为Bing搜索引擎可以检索到许多与基因功能相关的网页。作者还注意到其他LLMs,特别是GPT-3和ChatGPT,在功能分析任务上表现适中,远比它们在其他任务上表现要好。这可能也是因为它们的预训练语料库中包含了许多与基因功能相关的文本。
序列比对任务:GeneGPT的平均得分为0.65,比包括New Bing在内的所有其他模型表现都要好得多,后者在序列比对任务上基本上失败了。这并不令人惊讶,因为使用BLAST工具进行序列比对非常容易,但对于自回归LLM来说,即使使用检索增强,输入序列也过于具体,几乎不可能在任何网页上出现。
结论
作者提出了GeneGPT,一种通过上下文学习教授大型语言模型使用NCBI Web API的新方法。初步结果表明,与包括New Bing在内的各种LLMs相比,GeneGPT在各项任务中取得了最先进的性能。这表明,外部工具可能比相关网页更适合增强LLMs以解决基因组学问题。作者计划通过两个未来方向来扩展这个试点研究:(1)使用NCBI API调用对LLMs进行微调,而不是进行上下文学习,(2)探索多跳生物医学问答和思维链提示等方法,以更好地满足有关生物医学信息的实际需求。
参考资料
Jin, Q., Yang, Y., Chen, Q., & Lu, Z. (2023). GeneGPT: Teaching Large Language Models to Use NCBI Web APIs. arXiv preprint arXiv:2304.09667.