概述
论文地址:https://arxiv.org/pdf/2402.09391
源码地址:https://github.com/osu-nlp-group/llm4chem
化学是一门基础科学,支撑着现代生活的许多方面,包括药物发现、材料科学和能源生产。为促进该领域的研究和应用,图神经网络和变压器模型等深度学习模型已被应用于各种化学任务,如反应预测、逆合成和性质预测。然而,这些模型往往是针对特定任务的模型,很难适应不同的任务。
另一方面,GPT-4、Llama 系列和 Mistral 等大型语言模型已成为通用基础模型,并在自然语言处理任务中显示出巨大的能力。然而,当应用于化学任务时,它们的能力仍然有限。例如,一项研究发现,虽然 GPT-4 的表现优于其他大规模语言模型,但它却无法与特定任务的深度学习模型相提并论。特别是在需要准确理解 SMILES(一种分子的文本表示)时,GPT 模型的表现较差。
此外,除了直接应用预训练的大规模语言模型外,还有人尝试在指令调谐数据集上对大规模语言模型进行微调,但其性能非常差,远远落后于为特定任务设计的最先进模型(SoTA)。鉴于这些结果,我们认为有必要验证大规模语言模型是否真的能有效执行化学任务,或者是否存在根本性的局限。
论文表明,所开发的大规模语言模型在综合化学任务集上取得了非常高的性能,明显优于最先进的 GPT-4 和 Claude 3 Opus。其关键在于构建了一个大型、全面和高质量的指令调整数据集 SMolInstruct。在此数据集的基础上,四个开源大规模语言模型--Galactica、Llama 2、Code Llama 和 Mistral--在 SMolInstruct 中进行了微调,从而建立了一个名为 "LlaSMol "的化学大规模语言模型。
通过综合实验对这些模型进行了评估,并提出了一些有趣的发现和建议。其中,基于 Mistral 的模型明显优于其他模型,这表明基础模型对化学任务的性能有重大影响。使用 SMILES 作为分子表示也确保了生成的分子的有效性,并比使用 SELFIES 取得了更好的性能。
此外,在模型训练和应用中使用标准化的 SMILES 可以减轻学习负担并提高性能。虽然指令调整能有效地将化学任务相关知识注入模型,但数据集也发挥了重要作用:使用 SMolInstruct 进行训练的性能明显优于使用以前的数据集进行训练的性能,这表明了数据集的贡献。
LlaSMol 模型的性能与 SoTA 不相上下,只对 0.58% 的参数进行了微调,但仍不如最新的专为每项任务设计的特定任务模型。结果表明,LlaSMol 模型具有进一步改进的巨大潜力,可作为化工行业的强大基础模型发挥作用。
数据集 "SMolInstruct"
SMolInstruct 是一个以小分子为重点的大型指令调整数据集,共包含 14 个化学任务。
- 名称转换任务
- 将国际理论化学和应用化学联合会(IUPAC)名称转换为分子式(NC-I2F
- 将 IUPAC 名称转换为 SMILES(NC-I2S)
- 将 SMILES 转换为分子式(NC-S2F)
- 将 SMILES 转换为 IUPAC 名称(NC-S2I)
这些任务有助于加深对分子结构和表征的理解,并为建立大规模化学语言模型奠定基础。
- 特征预测任务
- PP-ESOL 预测水溶性(Mobley 和 Guthrie,2014 年)。
- PP-Lipo 预测辛醇/水分配系数(Poole 和 Poole,2003 年)。
- PP-BBBP 可预测血脑屏障的通透性(Martins 等人,2012 年)。
- PP-ClinTox 预测人体毒性(Gayvert 等人,2016 年)。
- PP-HIV 预测艾滋病毒复制抑制(研究所,2004 年)。
- PP-SIDER 预测药物副作用(Kuhn 等人,2015 年)。
这些特性对药物发现尤为重要。
- 与分子文字描述有关的任务
- 分子标题 (MC) 生成给定分子的文字描述
- 分子生成 (MG) 根据指定的文本描述生成分子
这些任务需要了解分子的结构和特性,并在自然语言和分子之间架起一座桥梁。
- 与化学反应知识有关的任务
- 前向合成法根据反应物和试剂预测生成物。
- 逆合成从生成物中预测反应物。
这些任务在实际应用中发挥着重要作用。例如,逆向合成是合成规划不可或缺的一部分,而正向合成则用于验证逆向合成建议。
SMolInstruct 共包含 330 万个样本,每个样本的结构都是查询-响应对。查询描述了任务和任务特定信息(如输入分子、文本描述),而响应则是包含查询答案的语句。在所有任务中,除非明确定义(NC-I2F、NC-I2S、NC-S2F、NC-S2I),否则都使用SMILES作为分子的默认表示法,但也提供 SELFIES(Krenn 等人,2019 年)表示法。SMolInstruct 涵盖了广泛的化学知识,将成为未来研究和实际应用的重要资源。
SMolInstruct 数据集的构建分为四个步骤(数据收集、质量控制、数据分区和指令构建)。首先,咨询专家以确定关键任务。其次,从下表所列的各种来源收集这些任务所需的数据。请注意,"Qry. "和 "Resp. "分别指查询和回复的平均长度。
具体来说,名称转换任务(NC-I2F、NC-I2S、NC-S2F 和 NC-S2I)利用的是综合性分子数据库 PubChem2(Kim 等人,2019 年)。从该数据库中随机抽取的分子的 IUPAC 名称、SMILES 表示法和分子式被提取并重组为任务的输入输出对。
分子描述相关任务(MC 和 MG)使用来自 ChEBI-20 和 Mol-Instructions 的数据,这两个数据集都包含高质量的分子文本对数据。特性预测任务(PP-ESOL、PP-Lipo、PP-BBBP、PP-ClinTox、PP-HIV 和 PP-SIDER)使用的是已建立的 MoleculeNet 数据集,这些数据集代表了药物发现等实际应用中的重要特性。化学反应任务(FS 和 RS)的反应数据来自 USPTO-full。这是一个广泛的数据集,包含从美国专利中提取的 100 多万个反应样本。所有这些数据集都已在以前的研究中广泛使用。
此外,为确保数据集的质量,对所收集的数据进行了严格审核。收集到的数据中包含许多有问题的低质量样本,可分为三类
- 化学失效的 SMILES。
- 有些 SMILES 字符串在化学上是无效的,可能偏离 SMILES 语法或超出化合价。为了解决这个问题,我们使用了一个名为 RDKit(RDKit,2023 年)的工具来分析分子并检测错误。
- 虚假或不准确信息。
- 通过人工检查,可识别并纠正数据中记录的错误或不准确信息。例如,在美国专利商标局的完整数据集中,原子与产品的映射已进行了比较,以纠正错误标记的反应物和试剂;对于 MC 和 MG 任务,使用了基于单词模式、长度和关键字的规则集,以识别缺乏无关信息的文本描述,这些信息可能会被过滤掉。过滤掉:对于 PP-SIDER,含糊不清的名称缺陷已被剔除。
- 重复样本
- 检测并删除重复样本。
多任务数据集的数据分区也需要谨慎处理,以防止任务间的数据泄漏。例如,如果 FS 和 RS 是反向任务,而训练集中的 FS 样本和测试集中的 RS 样本具有相同的化学性质,则可能会发生数据泄漏并使评估出现偏差。因此,相关任务(FS 和 RS、MC 和 MG 以及四个 NC 任务)之间对应相同分子/反应的样本对会被识别出来,并一起放入训练集或评估集。
也有输入相同但输出不同的样本。例如,在 RS 任务中,相同的产品(相同的输入)可能由几组反应物(不同的输出)合成。如果将这些样本同时放入训练集和测试集,结果可能会被夸大。因此,输入相同的样本会被放在测试集内或测试集外。
此外,为确保与 Mol-instructions(Fang 等人,2023 年)进行公平比较,对于两个数据集共享的任务(MC、MG、FS 和 RS),其训练数据不包括在测试集中,可直接进行评估。应用这些限制后,样本被随机分成训练集、验证集和测试集。不过,PP 任务的样本是按照标准方法进行脚手架拆分的(Wu 等人,2018)�
此外,为了创建用于指令调整的查询-回复文本对,使用 GPT-4 手动创建了包含查询和相应回复的模板,并进行了解析。此外,还对所有 SMILES 表达式进行了标准化,并统一了数据格式�
此外,考虑到数据集除自然语言文本外还包含多种类型的序列(如 SMILES、分子式、数字等),还使用了特殊标记来封装相应的片段。(例如:...、...,...</数字>)。这种设计明确地将信息类型传达给模型,便于在评估过程中提取答案。下图显示了SMolInstruct 中分子的统计分布。
实验概述
利用本文提出的 "SMolInstruct "数据集,对基础模型进行了微调,以创建一个能够执行化学任务的大规模语言模型。该模型被命名为 "LlaSMol"(小分子大规模语言模型)。以下四种不同的大规模语言模型被用作基础模型
- Galactica 6.7B(Taylor 等人,2022 年):接受过科学应用培训,已经接触过化学相关数据
- Llama 2(Touvron 等人,2023b) 7B:通用大规模语言模型
- 代码 Llama(Roziere 等人,2023 年) 7B:基于 Llama 2,正在为代码进行研究
- Mistral(Jiang 等人,2023 年)7B: 通用大规模语言模型。
使用 SMolInstruct 数据集对这些模型进行了指令调整,得到的模型分别是 LlaSMolGalactica、LlaSMolLlama 2、LlaSMolCode Llama 和LlaSMolMistral。
它还将在此构建的 LlaSMol 模型与两类模型进行了比较:一类是除了四个基础模型(Galactica、Llama 2、Code Llama 和 Mistral)之外,尚未在 SMolInstruct 中进行微调的大规模语言模型;另一类是尚未在 SMolInstruct 中进行微调的大规模语言模型、结果与当前最先进的大规模语言模型 GPT-4 (OpenAI,2023 年)和最新的 Claude 3 Opus(Anthropic,2024 年)进行了比较;Llama 2、Code Llama 和 Mistral 采用了单次拍摄,GPT-4 和 Claude 3 Opus 采用了零次拍摄设置。对于 GPT-4 和 Claude 3 Opus,在零镜头设置下对结果进行了研究。这些结果还与 Molinst(Fang 等人,2023 年)和ChemLLM(Zhang 等人,2024 年)进行了比较,后者是专门为化学任务定制的。
第二种是针对特定任务的 SoTA 模型:对于 NC-I2S 和 NC-S2I,它与在 SMILES-IUPAC 名对数据上训练的 STOUT(Rajan等,2021 年)进行比较;对于 NC-S2F,使用 RDKit(RDKit,2023 年)来执行该方案并报告结果;对于 NC-I2F,通过结合 STOUT 和 RDKit 来构建 STOUT+RDKit 基线;对于 PP 任务,使用分子模型来执行该方案并报告结果。对于 NC-S2F,使用 RDKit(RDKit,2023 年)在 SMILES-IUPAC 名称对数据上进行训练;对于 PP 任务,使用分子三维表示法,并遵循预学习和微调范式。它与 Uni-Mol(Zhou 等人,2023 年)进行了比较。
对于 MC 和 MG,它与 MolT5(Edwards 等人,2022 年)进行比较,并使用其发布的检查点;对于 FS 和 RS,它与 RSMILES(Zhong 等人,2022 年)和 Molecular Transformer(Schwaller 等人,2019)进行重新训练,并针对这两项任务调整 Transformer 编码器-解码器模型(Vaswani 等人,2017)。
采用了以下以往研究中常用的评价指标
- 完全匹配 (EM):与黄金标准完全一致的预测结果百分比。
- 基于指纹的谷本相似度(FTS):利用摩根指纹的谷本相似度量化分子间的结构相似性。
- METEOR 评分:基于文本的综合指数,在 MC 中同时考虑精确匹配和语义相似性。
- 均方根误差(RMSE):PP-ESOL 和 PP-Lipo 预测值与实际值之间均方根误差的平方根
- 准确率(Acc):二元分类任务(PP-BBBP、PP-ClinTox、PP-HIV 和 PP-SIDER)的正确预测百分比
- 有效(Valid):在有 SMILES 输出的任务(NC-I2S、MG、FS 和 RS)中,遵循 SMILES 语法和化合价律的有效预测百分比
实验结果
本文介绍了主要的实验结果。在所有大规模语言模型中,LlaSMol 模型表现最佳。这证明了建议的 SMolInstruct 数据集和微调的有效性。特别是,与基本模型(Galactica、Llama 2、Code Llama 和 Mistral)相比,LlaSMol 模型的性能明显更好。这表明 SMolInstruct 在提高对分子表征和任务相关知识的理解方面非常有效。此外,LlaSMol 在所有任务中的表现都明显优于 GPT-4,在大多数任务中甚至超过了 Claude 3 Opus。它的表现也优于其他两个在化学定向数据上训练的化学大规模语言模型(ChemLLM 和 Molinst)。特别是在共享学习任务(MC、MG、FS 和 RS)上,它也优于使用相同基础模型和 LoRA 设置的 Molinst。
四个 LlaSMol 模型在各自的性能上也存在显著差异,这突出表明了基础模型对下游任务的重要影响。尽管具有相同的训练和推理设置以及可比的模型大小,LlaSMolMistral 的表现始终明显优于 LlaSMolLlama 2,这证明了 Mistral 在化学任务中的潜力。LlaSMolCode Llama 在大多数任务中的表现也优于 LlaSMolLlama 2,这表明 Code Llama 的程序语言知识与分子表征之间存在协同作用。此外,在许多情况下,LlaSMolGalactica 的表现都优于 LlaSMolLlama 2 和 LlaSMolCode Llama,这证明了基于化学相关文档的先期学习的益处。
LlaSMol 模型的性能没有超过 SoTA 模型,但显示出进一步改进的潜力。具体来说,LlaSMolMistral 在 PP-Clintox 和 PP-SIDER 中的表现优于 SoTA 模型,但在其他任务中尚未取得成功。不过,与之前的努力(Fang 等人,2023;Zhang 等人,2024)相比,LlaSMol 显著缩小了 LLM 与 SoTA 任务特定模型之间的性能差距。
值得注意的是,LlaSMolMistral 仅通过微调一小部分参数(41.9M,占参数的 0.58%)就实现了这一性能。通过增加可训练参数的数量,LlaSMolMistral 的性能可以得到显著提高,因此它有潜力通过更广泛的微调超越特定任务模型,并成为化学应用领域的强大基础模型。
以上是不同模型在 SMolInstruct 上的主要性能结果。通过对每个模型的详细比较和讨论,证实了本文提出的数据集和微调的出色效果。
总结
大规模语言模型(LLM)已显示出作为多功能辅助工具的潜力,但在化学相关任务中的表现仍然不佳。为了解决这个问题,本文介绍了一个名为 "SMolInstruct "的大型、全面和高质量的指令调整数据集。该数据集由 14 个与实际应用高度相关的任务组成,包含 300 多万个精心挑选的样本。
SMolInstruct 被用于开发用于执行化学任务的大规模语言模型 LlaSMol。实验结果表明,LlaSMol 的性能优于现有的大规模语言模型,证实了 SMolInstruct 在提高性能方面发挥了重要作用。
但是,也存在一些明显的局限性。首先,分子字幕(MC)和分子生成(MG)任务的评估无法准确评估化学描述的正确性或模型生成分子的能力。这可能是由于分子描述的定义不明确和可用数据有限造成的。此外,本文没有考察模型在训练任务之外的通用性,这也是未来研究的一个领域。
此外,本文开发的模型仍未超越最先进的(SoTA)特定任务模型。这可能是由于可训练参数的比例较小,以及训练程序不够理想。不过,本文提出并验证了一个高质量的指令调整数据集。该数据集和模型为今后的研究提供了深刻的启示。
未来的研究有望解决这些挑战,并进一步提高性能。