垂直领域大模型搭建训练指南,ChemLLM论文介绍

news/2024/4/17 6:52:00

ChemLLM论文介绍,垂直领域模型搭建训练指南(ChemLLM: A Chemical Large Language Model)

返回论文目录

1.论文简介

论文是上海人工智能实验室的工作,想训练一个化学垂直领域的对话大模型,然而现有的化学数据往往是结构性的,所以这里论文提出了一套垂直领域数据制作和训练方法,为社区制作专有领域模型提供参考。ChemLLM在化学的三个主要任务上都超过了GPT-3.5,并且超过了GPT-3.5,在其中两个任务上都超过了GPT-4。值得注意的是,ChemLLM对相关的数学和物理任务也显示出了特殊的适应性,尽管它主要接受了以化学为中心的语料库的训练。

2.介绍

此前,存在3个挑战:

  1. 原化学的表达是SMILES,不适合自然语言处理。
  2. 大部分的化学信息和知识都存储在结构化的数据库中
  3. 化学数据和任务非常多样化,这使得为化学LLM设计一个统一的训练管道变得困难

作者通过开发一个合成化学指令调优数据集ChemData来解决这些挑战,该数据集利用一种基于模板的指令构建方法,可以将结构化的化学数据转换为适合于训练llm的自然对话形式。并进一步训练了一个化学专业模型ChemLLM,ChemLLM是基于大规模化学语料训练的,包括来自丰富模板合成的各种化学指令数据,如化学名称转换、分子性质预测、分子生成、分子标题、反应条件预测、反应产物预测等。论文还提出了一个两阶段的指令调整管道来适应ChemLLM:通用语料库和化学领域知识训练。这种训练管道保留了ChemLLM在一般情况下的能力,并使消融实验能够比较第二阶段的化学语料库训练对模型的影响。

作者进行了3方面的评估:

  1. 化学专业领域能力
  2. 通用领域语言模型能力
  3. 多语言能力的评估

3.ChemData

本节介绍ChemData,这是一个为化学语言模型(llm)精心定制的创新的指令调优数据集。化学数据已经被精心设计为包含三个基本类别:分子、反应和特定领域的任务。总的来说,这些类别封装了化学研究的基本组成部分,为推进该领域提供了一个全面的资源。在即将到来的小节中,我们将深入研究不同的数据来源,概述每个类别中的具体任务,并描述为组装这个数据集所进行的细致过程。通过这一详细的描述,我们的目的是清楚地概述化学数据的来源,相应的任务,以及教学构建的方式,以及它将彻底改变化学llm的培训的潜力。

3.1原始数据的收集

收集了来自大量互联网来源的化学数据。如下图所示,该数据包含了广泛的化学领域知识,与三个主要的任务类别相一致:分子、反应和结构域任务。
在这里插入图片描述

3.2指令构建
由于化学语言模型(llm)对分子的独特表示和数据库的性质,其高度结构化的训练提出了重大挑战。为了克服这些障碍,需要一种创新的策略,将这种结构化的、特定于领域的数据转换为一种更有利于LLM训练的格式。我们引入了一种新的管道,将这种形式化的化学数据转换为可访问的自然语言格式,以确保重要的化学信息的保存。我们的方法利用了一个“种子模板”。它实现了一个“戏剧和剧本和剧作家”的策略来创建单回合和多回合的对话场景,显著提高了训练数据集的多样性。虽然这个管道在设计时考虑到了化学数据,但它的基本原理是通用的。它们可以应用于其他科学领域,标志着LLM研究跨越广泛的科学学科的一个新阶段的开始。

将结构化的化学数据转换为适合于训练llm的指令调优数据涉及到解决两个关键挑战:

  1. 模板的多样性
  2. 在问答对中包含化学逻辑和推理

对于挑战1 ,通过下面种子模板的方式解决。种子模板的生成和使用方式如下图所示,其中借助GPT4生成大量问答模板(这里都是单轮对话场景数据模板),在模板中把结构化数据进行随机填充,以此得到大量多样性良好的自然语言数据。
在这里插入图片描述

在不同任务中,作者的处理细节不同。
分子任务中,首先,从数据库中提取结构化数据,如“IUPAC name,common name,SMILES”。然后,我们将这些数据字段组织成针对特定任务的问答格式。例如,“IUPAC name”可能是问题,“SMILES”作为答案。这对初始对构成了我们的种子模板的基础。为了加强这一点,我们让ChatGPT来解释最初的问题和答案,生成了40个不同的模板,反映了现实世界和学术文本的多样性。
反应任务中,在化学反应数据输入领域,关键领域表现出高度的均匀性,包括反应物、产物、产率和反应条件。其中,反应条件数据的特点是其格式不同和存在缺失值。为了解决这个问题,我们设计了一个专门的反应条件模板,以适应缺失的值,便于将这些数据转换为标准化的自然语言描述。随后,我们使用种子模板方法,我们为各种预测目标制作了不同的模板,从而能够构建目标指令。
领域任务中,在领域任务指令的构建中,我们的方法主要结合了“扮演剧作家”的指导技术,将广泛的领域文献文本和研究主题转化为建设性的、多回合的对话数据,旨在促进实质性的讨论。然后,我们聚合了来自ChemXiv、列表文本化学和维基百科化学门户的特定领域的教科书数据,以为特定领域的多回合对话合成主题。

为了解决第二个挑战,通过构建多回合对话来增强指令调优数据的上下文丰富性和逻辑一致性。
我们坚持综合多回合对话数据的三个指导原则:内容的专业性和准确性,讨论对中心主题的针对性,以及随着领域主题的展开而扩大内容和深化对话的范围。我们的目标是模拟专家之间典型的动态交流和深入讨论,从而细化模型在专门领域问题上进行推理、对话和分析的能力。

4.两阶段指令微调管道

为了提高语言模型在专业领域的熟练程度,采用了一种新颖的两阶段指令调优管道,如下图所示。从一个InternLM2-base-7B开始,在第一阶段使用一些开源的通用数据集进行训练,第二阶段,使用通用+化学领域数据进行训练。
在这里插入图片描述

其他训练的重点:
1.LORA,这个工作微调时使用了Lora微调,从以往的经验来看,全量微调>Lora微调。所以,是否是因为训练数据比较大的缘故,lora微调能够更稳定,所以采用了这个。参数如下: a rank of 8, a scale factor of 16.0, and a dropout rate of 0.1。
2.AdamW优化器,初始学习速率为5.0×10−5,β1为0.99,β2为0.999,ϵ为1.0×10−8。
3.16个A100,两个机器,每个上8个gpu,在slurm集群上训练。
4.NEFTune,使用NEFTune加入数据噪声,防止过拟合。
3.损失函数,采用自监督的自回归交叉熵函数,即常规的生成模型损失函数,最大化预测词在真实下一个词上的概率。
在这里插入图片描述

5.ChemLLM表现

1.化学方面
使用论文中提出的ChemBench,包括下面三个任务。
在这里插入图片描述

2.通用方面
使用多学科MMLU和数学GSM8K。
在这里插入图片描述

3.中文方面
使用论文中提出的Chinese ChemQA 和Chinese M&H ChemTest数据集。
在这里插入图片描述


https://www.xjx100.cn/news/3293505.html

相关文章

STM32_DS18B20_1_芯片简介及初始化配置

DS18B20介绍 DS18B20数字温度计提供9位到12位摄氏度的温度测量,并具有非易失性,用户可编程的上下触发点的报警功能。DS18B20通过1线总线进行通信,根据定义,该总线只需要一条数据线,即可与中央微处理器进行通信…

【Python】进程与线程实现子进(线)程终止,另一个子进(线)程继续执行,不干扰

需求: 1.一个工具有两个子进程,分别是进程A与进程B,现在情况是其中一个进程A出现异常停止,另一个进程B也被终止了;现在想进程A终止的时候,进程B继续运行,如何实现,给出python代码示例…

Spring08、使用注解开发

8、使用注解开发 8.1、说明 在spring4之后&#xff0c;想要使用注解形式&#xff0c;必须得要引入aop的包 在配置文件当中&#xff0c;还得要引入一个context约束 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.sprin…

搭建XSS 测试平台

XSS 测试平台是测试XSS漏洞获取cookie并接收Web 页面的平台&#xff0c;XSS 可以做 JS能做的所有事&#xff0c;包括但不限于窃取cookie、后台增删改文章、钓鱼、利用XSS漏洞进 行传播、修改网页代码、网站重定向、获取用户信息(如浏览器信息、IP 地址)等。这 里使用的是基于x…

[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

嵌出式工程师小小知识点006

二极管作用 1.整流&#xff1a;利用二极管单向导电性&#xff0c;可以把方向交替变化的交流电zhi变换成单一方向的脉冲直流电 2.、开关&#xff1a;二极管在正向电压作用下电阻很小&#xff0c;处于导通状态&#xff0c;相当于一只接通的开关&#xff1b;在反向电压作用下&…

為什麼使用海外動態代理IP進行網路爬蟲?

網路爬蟲作為獲取網路數據的重要工具&#xff0c;其重要性不言而喻。但隨著網站反爬策略的日益嚴格&#xff0c;爬蟲任務變得愈發困難&#xff0c;不過海外動態代理IP可以很好地解決這一問題。本文將詳細闡釋動態代理IP在爬蟲中的應用&#xff0c;以及如何使用動態代理IP提升爬…

oracle 如何使用脚本实现访问控制(无需额外插件)

随着这些年勒索病毒的爆发,各个企业对数据安全的要求越来越高,常见的办法有开启数据库审计,加数据库防火墙,网络限制等等;但是细粒度审计会消耗大量系统资源,第三方数据库防火墙一般是需要收费的;这里介绍我个人常用的四个db级别trigger,用于记录部分关键信息可以应对部…