探索ChatGPT-4在解决化学知识问题上的研究与应用
1. 概述
近年来,人工智能的发展主要集中在 GPT-4 等大型语言模型上。2023 年 3 月发布的这一先进模型展示了利用广泛知识应对从化学研究到日常问题解决等复杂挑战的能力。也开始进行研究,对化学的各个领域,从化学键到有机化学和物理化学,都有深入的见解。该模型可以根据现有知识预测潜在的新化合物和新反应,还可以通过网络搜索和编程语言链接到外部环境并扩展其功能。
GPT-4 可从海量文本数据中学习,其推理能力随训练数据集和模型的大小呈指数增长。该模型在一种被称为 "fuchot 学习 "的技术上也表现出色,甚至能从少量数据中进行逻辑推理。它还能设计和执行自己的任务,例如玩 Minecraft 等游戏,而无需专门学习。
不过,也有人指出,用于 GPT-4 训练的超级计算机的性能已经达到世界领先水平,进一步快速升级可能会很困难。因此,如何利用 GPT-4 级语言模型可能是未来几年的关键问题。
本文通过一些简单的任务来评估 GPT-4 的能力和挑战,从而评估如何将其用于化学领域。这些任务包括了解基础知识、处理信息学中的分子数据、数据分析技能以及对化学问题进行预测和提出建议的能力。

它还讨论了 GPT-4 对化学研究的贡献以及需要克服的挑战。本研究的成果还旨在分享化学任务的提示工程方法,并讨论使用大规模语言模型进行化学研究的未来前景。
论文地址:https://chemrxiv.org/engage/api-gateway/chemrxiv/assets/orp/resource/item/647d305dbe16ad5c577b6627/original/prompt-engineering-of-gpt-4-for-chemical-research-what-can-cannot-be-done.pdf
2. 大规模语言模型所掌握的化学知识
本文的实验使用ChatGPT(2023 年 5 月 24 日版本)作为大规模语言模型。作为大规模语言模型,GPT-4 也是在不通过插件引用外部数据的条件下使用的。此外,为了避免引用以前的对话记录,除非另有说明,否则推断总是在新对话中进行。问题只问一次,回答也只用一次。完整的对话在论文中作为补充信息进行了描述,有兴趣的读者可以查阅。
第一步是了解 GPT-4 对化合物的了解程度。了解 GPT-4 对这些基本知识的理解程度非常重要。GPT-4 在这方面表现突出。例如,它能够准确理解和描述甲苯(化学式 C7H8)这种广泛使用的工业原料的物理和化学性质–分子量、熔点、沸点、芳香性、化学稳定性和反应性,如下图所示。这些知识可能是 GPT-4 通过学习普通化学教科书和网站获得的。

它还涉及教科书中没有的稍微专业一些的知识。例如,对于可用作自由基捕获剂、自旋标签、电化学催化剂和电极活性材料的有机化合物 2,2,6,6-四甲基哌啶 1-氧基(TEMPO),"它的氧化还原电位是多少?GPT-4 能正确回答 “约 +0.5 V(相对于标准氢电极)”,如下图所示。

不过,也发现了一些局限性。例如,该模型没有提供有关 4-氰基 TEMPO(TEMPO 的一种衍生物)氧化还原电位的信息。这表明,某些化学文章和学术论文并没有包含在模型的训练数据中。许多学术文章受版权保护,限制了其自由获取和使用,可能不在人工智能的训练范围之内。

这种情况要求化学家通过公开发表论文和预印本,积极推动人工智能学习更多信息。
接下来,还要考察 GPT-4 的物理化学知识 。物理化学介于化学和物理之间,其复杂性使其难以理解。不过,GPT-4 显然对这一领域的基本概念有大学水平的理解,如理想气体定律和洛伦兹-洛伦兹物质折射率方程。我们假定这些知识是通过学习教科书获得的。
如下图所示,GPT-4 还熟悉研究生水平的内容,如 Vogel-Fulcher-Tamann (VFT) 方程,该方程描述了过冷液体的粘度和结构弛豫时间如何取决于温度,对于理解玻璃化转变现象非常重要GPT-4 提供的方程 𝜂 = 𝜂0exp(𝐵/(𝑇 - 𝑇0))表示粘度取决于温度,𝑇0(Vogel 温度)表示弛豫时间或粘度达到无穷大时的温度。

然而,GPT-4 也有其局限性。特别是,它不具备学术论文级别的专业知识,如 20 世纪 80 年代报道的经验法则(𝑇g = 𝑇0 + 50),该法则显示了聚合物中 Vogel 温度 𝑇0 与玻璃化转变温度 𝑇g 之间的关系。这表明 GPT-4 是基于截至 2021 年 9 月的知识,由于学术论文的版权问题,并不涵盖最新的研究。

还考察了有机化学,GPT-4 展示了对这一领域基本课本知识的掌握。例如,下图显示GPT-4了解对乙酰氨基酚合成途径的描述–该过程从苯酚开始,经过硝化、锡还原和乙酸酐酰胺化反应得到所需的化合物。


然而,实验程序的具体细节却无法回答。诸如’你们能告诉我如何合成对乙酰氨基酚吗?这可能是出于安全考虑,以避免意外传播化学实验知识的风险,并考虑到社会后果。
此外,GPT-4 还对学生的有机合成应用问题提出了挑战,尽管有些答案显示了化学上的误解。例如,有一道关于合成 TEMPO 的题目曾提出了一个错误的化学反应过程。实际上,正确的合成过程是以丙酮和氨为起始原料,然后进行醛醇缩合、肼还原和解吸反应,但 GPT-4 的描述遗漏了这一过程的重要部分。


此外,GPT-4 认为在 TEMPO 合成的最后阶段需要进行化学上不适当的氧化反应。事实上,TEMPO 可通过 TMP 的单电子氧化反应获得,但 GPT-4 错误地声称需要过度的氧化反应。这说明目前人工智能化学知识的局限性,还有进一步改进的余地。
3. 使用大规模语言模型的化学信息学和材料信息学
化学信息学和材料信息学是利用数据科学来阐明化学结构及其特性之间相互关系的领域。化学信息学领域对 GPT-4 的期望非常高。这是因为化学领域乃至研究活动通常都是通过语言来描述和处理的,尽管迄今为止化学信息学还无法充分处理语言数据。在此,我们将探讨 GPT-4 可在多大程度上解决与化学信息学有关的基本问题。
在化学信息学领域,简化分子输入行输入系统(SMILES)符号被广泛用于表示有机化学中的结构。理解和使用这种复杂符号的能力是化学信息学领域的关键技能之一。在此,我们对最先进的语言模型 GPT-4 进行了测试,以了解其在化合物名称与 SMILES 符号之间的转换能力。

实验结果表明,GPT-4 能够将相对简单结构(如甲苯)的化合物名称准确转换为 SMILES 符号。然而,当涉及对氯苯乙烯、TMP 和 4-氰基 TEMPO 等结构较为复杂的化合物时,该模型却无法进行转换。此外,在 SMILES 到化合物名称的反向转换任务中,所有情况下都出现了失败。这表明 GPT-4 只能在基本层面上处理 SMILES 和分子结构转换。这些结果清楚地表明了 GPT-4 和其他语言模型的局限性,尤其是在理解和处理复杂化学结构方面。目前,基于算法的转换工具(如 ChemDraw 和专门的 LLM)被认为适用于更精确、更系统的任务。
推理问题是GPT-4另一个有前途的应用。作为一个具体的例子,它询问为什么三个硝基自由基–TEMPO、4-氧代-TEMPO 和 1-羟基-2,2,5,5-四甲基-2,5-二氢-1H-吡咯-3-羧酸–的电位会按顺序增加。 GPT-4 已经证明 TEMPO 和 4-氧代-TEMPO、1-羟基-2,2,5,5-四甲基-2,5-二氢-1H-吡咯-3-羧酸的电位会按顺序增加。它正确地指出了 TEMPO 之间的引电子羰基是造成电位差异的原因,但它对为什么 1-羟基化合物显示出最高电位的推理是不正确的。这是由于缺乏从化合物名称准确推断分子结构的能力。未来的研究应进一步探讨 GPT-4 在准确识别分子结构时推断的准确性。


GPT-4 的另一个特点是能够进行少量学习。这使它能够学习未知化合物,并从有限的数据中预测其性质。例如,根据 TEMPO 的氧化还原电位,可以准确预测其氰基衍生物的电位。这一预测与实验结果一致,对于传统的化学信息学来说是一项了不起的成果,证明了 GPT-4 能够通过一次学习预测电位,而无需费力费时地收集和分析大量数据。这些结果表明,GPT-4 能够有效地利用化学数据和相关信息作为解释变量。

因此,GPT-4 有潜力在化学推理和性质预测任务方面进行创新。
此外,GPT-4 还具有一定的推理能力,可以被视为一种人工智能,通过巧妙地结合和改进迄今为止讨论过的方法,可以对其进行自主研究。例如,GPT-4 可以在游戏 Minecraft 的虚拟世界中自主做出决定并采取行动。也许用不了多久,这种技术也会被应用到物理空间的研究任务中。
以往的研究需要人类缩小搜索范围,而 GPT-4 可在语言空间内自由移动,并自动完成从搜索文献到设定实验条件和报告结果等各方面的研究工作。研究,如开源项目 AutoGPT,其目的是自动执行代码等任务。以研究为例,如果化学家想了解化学结构与密度之间的关系,GPT-4 可以生成一个具备化学分析和密度测量技能的 "化学家 "对象,并从互联网上收集相关数据。随着这些进步,通过大规模语言模型学习和实施研究方法正在成为现实。
然而,GPT-4 要达到与人类研究人员相媲美的水平仍面临挑战,例如解决复杂的数学问题。它们解决长期规划问题的能力也有局限,在自主缩小研究课题范围、设计实验和撰写论文方面也存在差距。
这些技术的发展有可能彻底改变未来的研究。大规模语言模型的自主研究才刚刚开始,未来有望取得更大进步。
4.总结
论文显示,GPT-4 在化学研究的广泛任务中展示了各种能力,从有机化学到实验的自动机械臂控制。特别是,GPT-4 显示出对一般有机化学知识的深刻理解,但在专业内容(如特定合成方法)方面仍面临一些挑战。结果还显示,将化合物名称转换为 SMILES 符号是化学信息学领域常用的方法,在某些任务中表现良好,但训练数据的缺乏可能限制了其性能。
不过,研究表明,通过福克索特学习,可以对未学习过的化合物进行准确预测。这证明了 GPT-4 在从有限数据中学习和应用新知识方面的高性能。此外,还发现了一些具体的应用,例如利用化学领域的知识为数据探索设定初始条件。
总之,研究结果表明,尽管 GPT-4 能够处理化学研究中的各种任务,但其性能取决于训练数据的质量和数量,因此提高其推断能力是未来的一项挑战。探索如何将不断发展的 GPT-4 有效地应用于化学研究,以及结合现有的专业知识开发混合模型,都是未来的发展方向。
相关文章:
探索ChatGPT-4在解决化学知识问题上的研究与应用
1. 概述 近年来,人工智能的发展主要集中在 GPT-4 等大型语言模型上。2023 年 3 月发布的这一先进模型展示了利用广泛知识应对从化学研究到日常问题解决等复杂挑战的能力。也开始进行研究,对化学的各个领域,从化学键到有机化学和物理化学&…...
性能狂飙:SpringBoot应用优化实战手册
在数字时代,速度就是生命,性能就是王道!《极速启航:SpringBoot性能优化的秘籍》带你深入SpringBoot的内核,探索如何打造一个飞速响应、高效稳定的应用。从基础的代码优化到高级的数据库连接池配置,再到前端…...
Github上一款开源、简洁、强大的任务管理工具:Condution
Condution 是一款开源任务管理工具,它以简洁易用、功能强大著称。它旨在为用户提供一个简单高效的平台,帮助他们管理日常任务、提高工作效率。 1. Condution 的诞生背景 现如今,市面上存在着许多任务管理软件,但它们往往价格昂贵…...
LeetCode-2938. 区分黑球与白球【贪心 双指针 字符串】
LeetCode-2938. 区分黑球与白球【贪心 双指针 字符串】 题目描述:解题思路一:贪心解题思路二:一次遍历统计1的个数,找0后累加左边的1的个数解题思路三: 题目描述: 桌子上有 n 个球,每个球的颜色…...
深度神经网络——什么是扩散模型?
1. 概述 在人工智能的浩瀚领域中,扩散模型正成为技术创新的先锋,它们彻底改变了我们处理复杂问题的方式,特别是在生成式人工智能方面。这些模型基于高斯过程、方差分析、微分方程和序列生成等坚实的数学理论构建。 业界巨头如Nvidia、Google…...
有代码冗余的检查工具嘛
是的,有一些代码质量工具可以帮助检查冗余代码。这些工具可以分析代码库,并识别出重复、冗余或不必要的代码片段。一些流行的代码质量工具包括: PMD: PMD 是一个开源的静态代码分析工具,支持多种编程语言,包括 Java、…...
3D培训大师:快速输出标准3D课件,打造沉浸式培训体验
随着技术的日新月异和市场的迅猛扩张,企业对员工专业技能培训的需求日益凸显。传统的培训方式往往依赖于实地操作、现场指导,这不仅需要大量的人力、物力和时间成本,而且存在安全风险。特别是化工、机械制造等行业,实操培训的成本…...
Python接口自动化测试:Json 数据处理实战
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下…...
Java概述 , Java环境安装 , 第一个Hello World
环境变量,HelloWorld 1.会常用的dos命令 2.会安装java所需要的环境(jdk) 3.会配置java的环境变量 4.知道java开发三步骤 5.会java的入门程序(HelloWorld) 6.会三种注释方式 7.知道Java入门程序所需要注意的地方 8.知道println和print的区别第一章 Java概述 1.1 JavaSE体系介绍…...
查看Linux端口占用和开启端口命令
查看端口的使用的情况 lsof 命令 比如查看80端口的使用的情况 lsof -i tcp:80列出所有的端口 netstat -ntlp查看端口的状态 /etc/init.d/iptables status开启端口以开启端口80为例。 1 用命令开启端口 iptables -I INPUT -p tcp --dport 80 -j accpet --写入要开放的端口/…...
24-unittest简介
一、unittest简介 unittest是Python中常用的单元测试框架,与Java中的Junit单元测试框架类似。 二、示例程序 1)导入unittest模块 import unittest 2)使用help()函数查看源码中的示例程序 help(unittest) Simple usage:import unittestc…...
Kotlin 中,扩展函数(Extension Functions)
在 Kotlin 中,扩展函数(Extension Functions)是用于向已有的类添加新功能而无需继承或使用装饰模式的一个特性。这允许你通过更自然的语法为现有类型添加方法。 下面是一个简单的扩展函数示例: // 定义一个扩展函数,…...
堪称2024最强的前端面试场景题,让419人成功拿到offer
前言 2024年的秋季招聘还有两个月就即将到来,很多同学开始思考前端面试中场景题的重要性。这里我提供一些见解和建议来帮助大家准备即将到来的面试。 首先,理解面试中场景题的必要性是至关重要的。与算法或理论问题不同,场景题更贴近实际工…...
使用node将页面转为pdf?(puppeteer实现)
本文章适合win系统下实验(linux,mac可能会出现些莫名其妙的bug我也不会解决) 具体过程 首先了解什么时无头浏览器启动无头浏览器打开指定的url页面设置导出pdf格式开始转化完整基础代码 首先了解什么时无头浏览器 没有界面的浏览器下载pupp…...
龙迅#LT8711H支持TYPE-C/DP/EDP转HDMI功能应用,分辨率支持 1080p@60Hz,芯片内置固件!
1. 概述 LT8711H是一款高性能 Type-C/DP1.2/EDP 转 HD-DVI1.3 转换器,设计用于将 USB Type-C 源或 DP1.2 源连接到 HD-DVI1.3 接收器。 该LT8711H集成了符合 DP1.2 标准的接收器和符合 HD-DVI1.3 标准的发射器。此外,还包括两个用于 CC 通信的 CC 控制器…...
WPF中Ignorable
在WPF中,“Ignorable”这个概念主要与XAML解析和标记扩展有关。当WPF的XAML解析器遇到一个它不认识的元素或属性时,它会抛出一个异常,这是因为默认情况下,WPF要求所有XAML都是完全可识别和可解析的。然而,在某些情况下…...
系统安全及应用11
一个新的服务器到手之后,部署服务器的初始化 1、配置IP地址 网关 dns解析(static)内网和外网 2、安装源外网(在线即可),内网(只能用源码包编译安装) 3、磁盘分区,lvm …...
vue中SKU实现
通过发送请求获取商品详情数据,包括商品规格(specs)和库存信息(skus)。 选中状态更新:根据当前状态进行激活或取消激活的逻辑,通过为每个规格项添加的“selected”字段来标识是否激活,同时利用样式处理,通过动态类属性…...
闭眼推荐的,新手教师工具
亲爱的老师们,尤其是那些刚踏入教育界的新手教师们,还在为如何高效管理课堂、如何制作精美的教学材料而头疼吗?让我来分享几款教育界口碑爆棚的工具。 易查分小程序 易查分是一款超级方便的成绩查询工具,一分钟就能上传成绩并生成…...
charles抓包工具之---添加vConsole
Charles Rewrite重写(详解!必懂系列)-CSDN博客 chales 重写/断点/映射/手机代理/其他主机代理_charles 批量映射-CSDN博客 在 Charles 上添加 rewrite 规则,以便在响应的 <head> 部分添加 vConsole,可以按照以下步骤操作:…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
