ChemLLM:一种化学大型语言模型
- 论文简介
- ChemBench:面向化学领域的大规模基准测试集
- ChemLLM:一款面向化学领域的大型语言模型
- ChemLLM表现
-
- [1. 化学方面](#1. 化学方面)
- 通用方面
- 化学相关的自然语言处理任务
- 结论
大规模语言模型(LLMs)在化学应用领域取得了令人瞩目的进展。然而,目前学术界仍缺乏一款专为化学设计的LLM。这一挑战主要体现在两个方面:首先,大多数化学数据和科学知识都存储于结构化数据库中,这限制了模型直接应用于连贯对话时的表现;其次,当前尚无一套客观公正、涵盖广泛化学任务的基准测试体系。为此,我们推出了 ChemLLM------首个专注于化学领域的综合性框架 。此外,我们还构建了 ChemData数据集,专门用于指令微调 ;以及 ChemBench基准,全面覆盖九大核心化学任务,确保测试的权威性与全面性 。ChemLLM能够自如地应对化学各学科中的多样化任务,并实现流畅的对话交互。值得一提的是,在核心化学任务上,ChemLLM的表现已媲美GPT-4;而在通用场景下,其性能也与同规模的其他LLM不相上下。ChemLLM为化学研究开辟了全新探索路径,而我们将结构化化学知识融入对话系统的方法,更为未来开发跨领域科学领域的LLM树立了全新标杆。代码、数据集和模型权重均可在 https://hf.co/AI4Chem 公开获取。
论文简介

这篇文章主要介绍了大语言模型(LLMs)在近年来取得的迅速进展,并成功地应用于各个领域,包括自然语言处理、计算机视觉、自动驾驶和医学诊断等。由于它们令人印象深刻的理解和推理能力,它们在各种科学领域中显示出潜力。值得注意的是,LLMs已经被应用于与化学相关的任务,如分子性质预测、分子生成和实验协议设计等。这些工作展示了LLMs在为化学研究提供有洞察力的建议和解决方案方面的潜力。尽管之前已经尝试过将LLMs适应于各种化学下游任务,但这些LLMs并非专门针对化学而设计,它们对化学空间的理解不足,难以处理复杂的化学知识。
开发化学领域大型语言模型的挑战与意义:化学信息和知识存储于结构化数据库中,而分子则以特殊符号表示,例如SMILES。那么,为什么化学家需要专门针对化学领域的大型语言模型?ChemLLM给出了答案。
快速解读
此前,存在3个挑战:
- 原化学的表达是SMILES,不适合自然语言处理。
- 大部分的化学信息和知识都存储在结构化的数据库中
- 化学数据和任务非常多样化,这使得为化学LLM设计一个统一的训练管道变得困难
通过开发一个合成化学指令调优数据集ChemData来解决这些挑战,该数据集利用一种基于模板的指令构建方法,可以将结构化的化学数据转换为适合于训练LLM的自然对话形式 。并进一步训练了一个化学专业模型ChemLLM ,ChemLLM是基于大规模化学语料训练的,包括来自丰富模板合成的各种化学指令数据,如化学名称转换 、分子性质预测 、分子生成 、分子标题 、反应条件预测 、反应产物预测 等。论文还提出了一个两阶段的指令调整管道来适应ChemLLM :通用语料库 和化学领域知识训练。这种训练管道保留了ChemLLM在一般情况下的能力,并使消融实验能够比较第二阶段的化学语料库训练对模型的影响。
然后,进行了三方面的评估:
- 化学专业领域能力
- 通用领域语言模型能力
- 多语言能力的评估
关键要点:
- ChemLLM是一种语言模型,用于化学领域的问答和翻译任务。
- ChemLLM使用多种数据源和模板将原始数据转换为自然语言问题,并提供多个选项以增加难度。
- ChemLLM采用分布式训练和ZeRO++技术来处理大规模数据和减少内存占用。
- ChemLLM还采用了LoRA和SFT等技术来提高训练效率和稳定性。
- ChemLLM可以应用于化学文献翻译等领域,提供了高效的解决方案。
ChemData:面向化学领域的大规模指令微调数据集
化学大模型的性能,取决于能否获取广泛且经过精心筛选的数据集。为此,我们从多个在线资源库中收集了丰富的化学数据,包括Pub-Chem、ChEMBL、ChEBI、ZINC、USPTO、ORDerly、ChemXiv、LibreTexts Chemistry、维基百科以及维基数据等。
图2 ChemData和Chembench的数据。ChemData包含700万条指令微调问答,涵盖分子 、反应 及其他领域特定任务三大主要类别;ChemBench则包含4000道选择题,对应分子和反应两大主要任务类别。
原始数据的收集
收集了来自大量互联网来源的化学数据。如下图所示,该数据包含了广泛的化学领域知识,与三个主要的任务类别相一致:分子、反应和结构域任务。
下表是公共可用数据来源:
指令构建
由于化学语言模型(LLM)对分子的独特表示和数据库的性质,其高度结构化的训练提出了重大挑战。为了克服这些障碍,需要一种创新的策略,将这种结构化的、特定于领域的数据转换为一种更有利于LLM训练的格式。我们引入了一种新的管道,将这种形式化的化学数据转换为可访问的自然语言格式,以确保重要的化学信息的保存 。我们的方法利用了一个"种子模板
"。它实现了一个"戏剧和剧本和剧作家
"的策略来创建单回合和多回合的对话场景,显著提高了训练数据集的多样性。虽然这个管道在设计时考虑到了化学数据,但它的基本原理是通用的。它们可以应用于其他科学领域,标志着LLM研究跨越广泛的科学学科的一个新阶段的开始。
将结构化的化学数据转换为适合于训练LLM的指令调优数据涉及到解决两个关键挑战:
- 模板的多样性
- 在问答对中包含化学逻辑和推理
对于挑战1,通过下面种子模板的方式解决。种子模板的生成和使用方式如下图所示,其中借助GPT4生成大量问答模板(这里都是单轮对话场景数据模板),在模板中把结构化数据进行随机填充,以此得到大量多样性良好的自然语言数据 。
在不同任务中,处理细节不同:
- 分子任务中,首先,从数据库中提取结构化数据,如"IUPAC name,common name,SMILES"。然后,我们将这些数据字段组织成针对特定任务的问答格式。例如,"IUPAC name"可能是问题,"SMILES"作为答案。这对初始对构成了我们的种子模板的基础。为了加强这一点,我们让ChatGPT来解释最初的问题和答案,生成了40个不同的模板,反映了现实世界和学术文本的多样性。
- 反应任务中,在化学反应数据输入领域,关键领域表现出高度的均匀性,包括反应物、产物、产率和反应条件。其中,反应条件数据的特点是其格式不同和存在缺失值。为了解决这个问题,设计了一个专门的反应条件模板,以适应缺失的值,便于将这些数据转换为标准化的自然语言描述。随后,使用种子模板方法,为各种预测目标制作了不同的模板,从而能够构建目标指令。
- 领域任务中,在领域任务指令的构建中,结合"扮演剧作家"的指导技术,将广泛的领域文献文本和研究主题转化为建设性的、多回合的对话数据,旨在促进实质性的讨论。然后,聚合了来自ChemXiv、列表文本化学和维基百科化学门户的特定领域的教科书数据,以为特定领域的多回合对话合成主题。
为了解决第二个挑战,通过构建多回合对话来增强指令调优数据的上下文丰富性和逻辑一致性。
我们坚持综合多回合对话数据的三个指导原则 :内容的专业性和准确性 ,讨论对中心主题的针对性 ,以及随着领域主题的展开而扩大内容和深化对话的范围。目标是模拟专家之间典型的动态交流和深入讨论,从而细化模型在专门领域问题上进行推理、对话和分析的能力。
两阶段指令微调管道
为了提高语言模型在专业领域的熟练程度,采用了一种新颖的两阶段指令调优管道,如下图所示。从一个InternLM2-base-7B开始,在第一阶段使用一些开源的通用数据集进行训练,第二阶段,使用通用+化学领域数据进行训练 。
其他训练的重点:
- LORA,这个工作微调时使用了Lora微调,从以往的经验来看,全量微调>Lora微调。所以,是否是因为训练数据比较大的缘故,lora微调能够更稳定,所以采用了这个。参数如下: a rank of 8, a scale factor of 16.0, and a dropout rate of 0.1。
- AdamW优化器,初始学习速率为5.0×10−5,β1为0.99,β2为0.999,ϵ为1.0×10−8。
- 16个A100,两个机器,每个上8个gpu,在slurm集群上训练。
- NEFTune,使用NEFTune加入数据噪声,防止过拟合。
- 损失函数,采用自监督的自回归交叉熵函数,即常规的生成模型损失函数,最大化预测词在真实下一个词上的概率。
ChemBench:面向化学领域的大规模基准测试集
目前,针对化学任务的现有基准大多专为特定任务设计的专业模型而打造,例如Mol-eculeNet。然而,这些基准可能并不适用于评估大型语言模型(LLMs)。此外,当前用于化学领域大型语言模型的基准测试主要以问答形式呈现,并普遍采用BLEU和ROUGE作为评价标准。但这类评估方式极易受到语言模型输出风格的影响,尤其不适用于那些强调科学事实准确性的情境。在这些情境中,即便答案存在明显事实性错误,只要语言风格与参考答案相似,反而可能获得更高的评分。因此,构建一个由多项选择题组成的化学基准测试集,这一形式与当前主流的评测集MMLU及C-Eval如出一辙。
为了严格评估语言模型对化学知识的理解能力,推出了ChemBench
------一项创新性的基准测试工具,它包含九个与化学分子和反应相关的任务,其设计思路与ChemData一致。这一基准测试集为客观衡量大型语言模型的化学素养奠定了坚实基础。ChemBench共包含4,100道单项选择题,每题仅有一个正确答案。图2b展示了ChemBench中各任务的具体分布情况。
为方便学术界和业界利用ChemBench评估大型语言模型的化学能力,我们已将其贡献至OpenCompass
开源项目------这是一个专注于大型模型评估的一站式平台,旨在为大规模模型的公正、开放且可复现的基准测试提供支持。
ChemLLM:一款面向化学领域的大型语言模型
为提升大语言模型在化学领域的应用能力,同时保留其在通用场景中的出色表现,提出了一种两阶段指令微调方法 ,具体如图3所示。我们的化学模型基于InternLM2-Base-7B模型进行训练。
- 在第一阶段,该流程利用了从Hugging Face46收集的170万组问答对组成的多语料库------Multi-Corpus,以增强模型的通用语言理解能力。经过第一阶段训练后得到的模型被命名为InternLM2-Chat-7B。
- 在第二阶段,采用ChemData与Multi-Corpus混合的数据集对模型进行进一步微调:其中,ChemData用于强化模型的化学知识储备,而Multi-Corpus则帮助保持模型的通用能力。

通过这一两阶段的指令微调流程,在领域专业知识与模型通用性之间实现了平衡,显著提升了模型在化学领域的多样化应用潜力。
ChemLLM表现
从两个维度对ChemLLM进行评估:化学能力 和通用能力。
- ChemBench作为衡量核心化学能力的基准,通过九项不同任务反映了模型的专业水平。
- 通用能力则从如下方面进行评估,例如跨学科知识、迁移能力、推理技能以及多语言处理能力。
此次评估旨在确定它们作为化学助手的潜力,以及支持更广泛科学界的能力。以ChemLLM为基准,与其他大型语言模型进行对比,包括规模相当的开源模型,如LLaMA-2、Mistral、ChatGLM3和Qwen,同时还对比了以擅长遵循指令而闻名的闭源模型,特别是GPT-3.5和GPT-4。
1. 化学方面
化学评估:基于ChemBench平台,对LLM在化学任务中的表现进行了全面评估,并将结果展示于图4中。评估结果显示,ChemLLM显著优于同规模的通用大模型,甚至在所有测试任务中全面超越了GPT-3.5。与InternLM2-Chat-7B相比,ChemLLM在化学领域的各项能力均实现了大幅提升,这充分体现了第二阶段化学能力训练的显著成效。而在与GPT-4的对比中,ChemLLM在九项任务中有六项取得了更高得分,其余三项则仅略低于GPT-4。这一优异表现彰显了ChemLLM在处理化学相关任务时所展现出的全面实力。
值得注意的是,早期的开源模型LLaMA2在这些任务中的表现较差,平均得分仅约为每项任务25分------这一水平几乎与随机选择无异。相比之下,Mistral等较新的模型则展现出更优异的性能。此外,GPT-3.5的表现优于除ChemLLM之外的所有7B参数模型,而公认最强大的GPT-4更是全面超越了其他基线模型。这些结果充分彰显了ChemBench在评估大语言模型化学能力方面的有效性。
通用方面
对ChemLLM的通用能力在以下数据集上进行了评估:
(1) MMLU30,这是一个涵盖STEM、人文社科等学科领域共57个主题的基准测试,能够全面评估跨学科知识;
(2) C-Eval31,这是一项覆盖52个学科、分为四个难度等级的综合性中文基准测试;
(3) GSM8K52,这是广受认可的、用于测试语言模型数学能力的基准,题目通常需要2至8步的基本数学运算才能解答;
(4) C-MHChem,这是我们自行收集的数据集,专门用于评估模型对中学阶段常见化学概念的理解与掌握情况。

如图5所示,在英文MMLU和中文C-Eval基准测试中,ChemLLM分别取得了65.6和67.2的优异表现,超越了所有参数规模相近的竞品模型。这充分展现了ChemLLM在跨学科领域及多语言场景中的卓越能力,尽管其主要是在化学语料库上进行微调训练的。此外,在GSM8K数据集上,ChemLLM的准确率高达67.2%,同样优于其他基线模型。这些结果表明,针对化学数据的微调可能有效提升模型的推理能力------这或许正是化学问题解决过程中所必需的逻辑思维所致。ChemLLM的强大实力也体现在其于C-MHChem评测中的出色表现,得分达到76.4分,甚至超过了GPT-4,进一步证明了ChemLLM在应对中国中高考题型时的卓越表现。这一系列成果不仅凸显了ChemLLM在多语言环境下的高效性,更彰显了其服务更广泛研究群体的潜力。另一方面,值得注意的是,在这四项评估中,ChemLLM全面超越了仅完成第一阶段训练的InternLM2-chat,这表明引入化学数据显著提升了模型在通用场景中的能力。
化学相关的自然语言处理任务
除了上述定量评估外,还评估了模型在一些与化学相关的自然语言处理任务中的表现,包括文本翻译、化学诗歌创作等。这些结果凸显了模型在不同NLP场景中对化学知识的细致理解及创造性应用能力。
结论
在本工作中,构建了ChemData和ChemBench,并开发了ChemLLM------首个专为化学领域打造的语言模型。ChemLLM能够通过无缝的对话交互,胜任多种化学任务。它借助基于模板的指令构建方法,将结构化的化学知识转化为易于理解的对话形式,成功架起了大语言模型与化学领域的桥梁 。此外,ChemBench已建立起评估大语言模型化学能力的标准化体系,这一评价不仅适用于化学专用的大模型,同样适用于衡量通用大语言模型的化学能力。实验表明,ChemLLM展现出媲美GPT-4的化学处理能力,并在其他领域表现出令人称道的多才多艺。除了核心功能外,ChemLLM在化学领域的专业自然语言处理任务中也颇具优势,例如文献翻译等。ChemLLM的问世,为科学类大语言模型的发展树立了典范,有望加速推动化学研究的创新进程。未来通过这一专业领域知识注入策略,能激发更多将大语言模型应用于科学领域的前沿探索与实践。