新闻  |   论坛  |   博客  |   在线研讨会
MolReGPT: 利用大型语言模型探索分子发现——分子与文本描述间相互翻译(1)
数据派THU | 2023-06-20 20:59:36    阅读:165   发布文章

图片


论文题目:Empowering Molecule Discovery for Molecule-Caption Translation with Large Language Models: A ChatGPT Perspective论文链接:https://arxiv.org/abs/2306.06615项目链接:https://github.com/phenixace/MolReGPT


01 介绍


图片

图1. 分子发现中分子(molecule)和分子文本描述(molecule caption)之间相互翻译的说明。(a) 分子可以用化学式、SMILES字符串和二维分子图来表示。(b)分子文本描述生成(Molecule Captioning)的目的是生成一段文本去描述一个分子的结构、特性及功能,以便人类更好地理解。(c) 给定一段分子的文本描述,基于文本的分子生成旨在生成一个相应的分子 (Text-based Molecule Generation)。(d) 大型语言模型(如ChatGPT)可以通过相应的精心设计的提示(Prompt)实现分子文本描述生成(Mol2Cap)和基于文本的分子生成任务(Cap2Mol)。


分子是物质的基本组成,构成了周围世界的复杂系统。分子由多个原子组成,以独特的化学方式(例如化学键)结合在一起,并保留了由其特定结构决定的独特的化学特性。有了对分子的全面了解,科学家可以有效地设计出具有不同特性和功能的材料、药物和产品。


然而,传统的分子发现有着漫长、昂贵和容易失败的过程,在可扩展性、精确性和数据管理方面都存在限制。为了克服这些挑战,人工智能(AI)等计算技术已经成为加速发现新分子的有力工具。


具体来说,分子可以被表示为一种简化的分子字符串(SMILES字符串)。如图1(a)所示,苯酚的结构可以用SMILES字符串表示,它是由一个苯环和一个羟基组成。为了生成并更好地理解分子,Text2Mol[1]和MolT5[2]提出一项在分子和自然语言之间进行翻译的新任务,即分子-文本描述间相互翻译任务。


它由两个子任务组成:分子文本描述生成(Mol2Cap)和基于文本的分子生成(Cap2Mol)。如图1(b-c)所示,分子文本描述生成的目标是生成一个文本来描述分子的SMILES字符串,以便为人们提供一个更好的分子理解;而基于文本的分子生成旨在根据给定的自然语言描述(如属性和功能团)生成相应的分子(即SMILES字符串)。


设想一下这样的场景:


• 【分子翻译成文本描述/分子文本描述生成任务Molecule Captioning( Mol2Cap)】一位医生想知道药物的性质,便将药物分子和自己的问题一起交给大语言模型,模型便对分子的特性进行分析和预测,从而帮助医生更好地对症下药。如图1-b;

• 【文本描述翻译成分子/基于文本的分子生成任务Text-based Molecule Generation(Mol2Cap)】一位化学家将自己的需求直接陈述给大语言模型,模型便帮助他生成了一个或多个候选分子,通过对候选分子的进一步实验,就可以极大地简化分子或药物发现的流程。如图1-c。


尽管现有的大多数工作在分子-文本描述间相互翻译任务中取得了令人满意的进展,但它们都存在几个局限性。首先,分子-文本描述间相互翻译任务中的模型架构的设计严重依赖领域专家,这大大限制了人工智能驱动分子发现的发展。第二,大多数现有方法遵循“预训练&微调”的模型进行,这需要过多的计算成本。第三,现有的方法,如Text2Mol[1]和MolT5[2],不能对复杂的任务进行推理,也不能对未曾见过的样本进行归纳。


最近,大语言模型(LLMs)在自然语言处理(NLP)领域取得了巨大的成就。LLMs除了在自然语言理解和生成方面具有令人印象深刻的能力外,还展示了强大的泛化和推理能力。它可以通过上下文学习(In-Context Learning,ICL)泛化到其他未见过的任务,而无需进行微调,在很大程度上降低计算成本。因此,LLMs在推进分子发现方面具有前所未有的潜力,特别是在分子-文本描述间相互翻译任务方面。


尽管在分子发现中构建特定的LLMs对于推动科学研究有着巨大的潜力,但也面临着巨大的挑战。首先,由于隐私和安全问题,许多先进的大型语言模型(如ChatGPT和GPT4.0)是不公开的,也就是说, LLMs的架构和参数不公开发布,不可以在下游任务进行微调。其次,由于其复杂的架构和所需的大量数据,训练先进的LLMs需要大量的计算资源。因此,重新设计自己的LLMs,并进行预训练和微调是非常具有挑战性的。最后,设计适当的准则或提示,并配以少量高质量的示例,对于提高LLMs对分子发现的理解和推理能力是至关重要的。


为了解决这些问题,来自香港理工大学和密歇根州立大学的研究人员在分子发现领域利用LLMs的强大功能进行了探索尝试。他们提出了一个新颖的解决方案,使用提示来指导LLMs在分子和分子文本描述之间进行翻译,如图1(d)所示。具体来说,受最新的ChatGPT启发,他们开发了一个基于检索的提示范式MolReGPT[5],通过基于分子摩根指纹的相似性检索/基于BM25的分子文本描述检索和上下文学习(ICL)且不进行微调来进行两个子任务(即通分子文本描述生成和基于文本的分子生成)。实验表明,MolReGPT在Mol2Cap生成中可以达到0.560,在Cap2Mol生成中可以达到0.571,在分子-描述间相互翻译的两个子任务中都超过了微调的MolT5-base。MolReGPT在基于文本的分子生成方面甚至超过了MolT5,使Text2Mol的指标提高了3%。值得注意的是,MolReGPT在任务上的所有提升都是在没有任何微调步骤的情况下实现的。


02 方法


图片

图2: MolReGPT的总体流程框架。


由于巨大的计算成本,在分子发现领域的特定语料库上进行训练和微调LLMs在实践中往往是不可行的。为了解决这些限制,研究人员在不改变LLMs的情况下利用LLMs的强大能力,提出了一个创新性的框架MolReGPT,使ChatGPT具有分子-文本描述间相互翻译的能力。具体来说,为了提高指导/提示的质量,他们引入了一个基于检索的提示范式,在上下文学习下指导ChatGPT进行两个与分子相关的任务:分子文本描述生成(MolCap)和基于文本的分子生成(Cap2Mol)。MolReGPT的框架如图 2所示,由四个主要阶段组成:分子-文本描述检索、Prompt提示管理、上下文小样本分子学习和生成校准。


1. 分子-文本描述检索(Molecule-Caption Retrieval)(图3):这个阶段,用于从数据库中检索出n个与输入分子或者分子文本描述最相似的分子-分子描述对(即小样本学习的例子)。这个过程主要依赖于分子摩根指纹(针对Mol2Cap)和BM25(针对Cap2Mol)两种检索方法。


图片

图3: 分子-文本描述检索(Molecule-Caption Retrieval)。


a. 基于摩根指纹的分子检索(针对Mol2Cap)


图片

图4: 分子摩根指纹和Dice相似性图示。绿色对应的是对分子间相似性分数有正贡献的子结构,紫色部分对应的是对分子间相似性分数有负贡献的或者有差异的子结构。


为了提取摩根指纹,使用rdkit库将分子的SMILES表示转换为rdkit对象。随后应用Dice相似度,来衡量输入分子和本地数据库中的分子之间的相似度,如图3所示。在数学上,可以表示为:

图片


其中,A和B是两个分子的摩根指纹。|A|和|B|表示A和B的基数(例如,子结构数量)。|A ∩ B|表示A和B共有的子结构的数量。Dice相似性的范围是0到1,其中0表示分子之间没有重叠或相似性,1表示完全重叠。


b. 基本BM25的分子文本生成检索(针对Cap2Mol)


BM25是信息检索中最具代表性的排名方法之一,用于计算文档与给定查询的相关性。在Cap2Mol任务中,使用输入的文字描述作为查询句子,而本地数据库中的文字描述作为文档的语料库,其中每个文本描述代表一个文档。在数学上,BM25公式可以定义如下:


图片


其中,D是文本描述语料库,Q使查询的文本描述。N是查询文本描述中查询词的数量,Qi是第i个查询词,IDF(Qi)是Qi的反文档频率,f(Qi,D)是Qi在D中的词频,k1和b是调整参数,|D|是D的长度,avgdl是语料库中平均文本描述的长度。在文本描述检索中,BM25被用于计算文本描述之间的相似性分数,这样可以通过筛选分子-文本描述对来学习文本描述中所对应的相关分子结构。


2. Prompt提示管理 (Prompt Management) (图5):这一阶段主要对ChatGPT的系统提示进行管理和构建,Prompt提示中主要包括角色识别(Role Identification)、任务描述(Task Description)、检索的示例(Examples)和输出指示(Output Instruction)这四个部分。其中,示例将由第一步的检索过程给出。每一部分都承担着对输出的特定指导作用。


图片

图5: Prompt提示管理 (Prompt Management)。


a. 角色识别(Role Identification)


角色识别的目的是帮助LLMs认知为在化学和分子发现领域的专家角色。通过认知为这个角色,鼓励LLMs产生与特定领域预期的专业知识相一致的回答。


b. 任务描述(Task Description)


任务描述提供了对任务内容的全面解释,确保LLM对他们需要处理的具体任务有一个明确的认识。它还包括关键的定义,以澄清分子-文本描述间相互翻译任务中的专业术语或概念。


c. 检索的示例(Examples)


将检索的示例作为用户输入提示,使LLMs能够利用小样本学习示例中包含的信息作出更好的回应。


d. 输出指示(Output Instruction)


输出指示规定了响应的格式。这里,研究人员将输出限制为JSON格式。选择JSON格式可以快速有效地验证LLMs的回答,确保它符合预期的结果,便于进一步处理和分析。


3. 上下文小样本分子学习(In-Context Few-Shot Moleule Learning)(图6): 在这个阶段,系统提示和用户输入提示将会一起提供给ChatGPT进行上下文小样本分子学习。这个过程基于大语言模型的上下文学习能力,仅仅依靠少量相似的样本,就可以捕获到分子的结构所对应的特性,来进行分子-文本描述间相互翻译任务,而不需要对大语言模型进行微调。


系统提示和用户输入提示的结合通过上下文学习为ChatGPT提供了清晰的指引,系统提示建立了分子-文本描述间相互翻译和分子领域专业知识的任务框架,而用户提示则缩小了范围,将模型的注意力引导到具体的用户输入上。


图片

图6: 上下文小样本分子学习(In-Context Few-Shot Moleule Learning)。


4. 生成校准(Generation Calibration)(图7): 在这个阶段,系统会对ChatGPT的输出进行校准,以确保其符合预期的格式和要求。如果输出不符合预期,系统会重新交给ChatGPT进行生成,直到达到最大允许的错误次数。


尽管指定了所需的输出格式,LLM(例如ChatGPT)偶尔也会产生意外的响应,包括不正确的输出格式和拒绝回答。为了解决这些问题,研究人员引入了一个生成校准机制来验证ChatGPT的响应。在生成校准中,他们首先通过将原始响应解析为JSON对象来检查其格式。如果解析过程失败,表明偏离了预期的格式,就会引入几个预定义的格式校正策略,如正则匹配,以校正格式并从响应中提取所需的结果。如果原始回答成功地通过了格式检查,或者可以使用格式校正策略进行校准,那么它就被认为是有效的并被接受为最终回答。然而,如果原始响应没有通过格式检查,并且不能在预定的策略中进行校正,我们就会启动重新查询。值得注意的是,重新查询有一个特殊情况。当原始响应报告 "超出最大输入长度限制 "错误时,将在重新查询阶段删除最长的例子,直到查询长度满足长度限制。重新查询过程包括对LLM进行额外的查询,直到获得一个有效的响应或达到最大的错误允许值为止。这个最大误差允许值的设置是为了确保系统不会陷入无休止的循环,而是在可接受的范围内向用户提供一个合适的响应。


通过采用生成校准阶段,可以减少与所需输出格式的意外偏差,并确保最终的响应与预期的格式和要求一致。


图片

图7: 生成校准(Generation Calibration)。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客