ChatGPT 能为计算材料科学做些什么?未来会取代计算材料科学家吗?

来源 | ScienceAI
编辑 | 绿萝


ChatGPT 已火爆全球,它可以完成一系列具有挑战性的任务,比如撰写论文、编程、作曲、绘画等。

但 ChatGPT 在计算材料科学中的潜在应用还有待讨论。

近日,浙江大学材料科学与工程学院洪子健在《Energy Material Advances》发表题为「ChatGPT for Computational Materials Science: A Perspective」(《用于计算材料科学的 ChatGPT:一个 Perspective》)的展望文章。

作者简要讨论了 ChatGPT 可能应用于计算材料科学的 3 个方面,即生成结构、计算材料软件编程,数据可视化等。

研究发现,虽然 ChatGPT 在尝试完成一般任务时可能会犯一些简单的错误,但其具有在人类交流过程中「学习」的能力。同时,现阶段 ChatGPT 仍存在如下问题:输出的一致性、隐藏错误和伦理问题等。作者希望这一观点能够激发人们对 ChatGPT 在计算材料科学中的潜在应用的进一步兴趣。


论文链接:https://spj.science.org/doi/10.34133/energymatadv.0026

ChatGPT 最近在社交媒体和科学界引起了极大的关注。它可以完成许多过去认为是人类智能的工作,如写作,编程,作曲等。

洪子健说:「作为一名计算材料科学家,我总是渴望拥抱新工具,特别是计算机科学和人工智能领域的新工具。自从新的 ChatGPT 诞生以来,我想知道这样一个工具是否可以帮助我们进行计算材料科学。」

机器学习是计算机科学中的一种革命性工具,已广泛应用于计算材料科学的各个领域,例如预测材料特性、图像识别和处理等。从这个角度,将简单讨论:ChatGPT 能为计算材料科学做些什么?如何利用这样的工具来帮助我们进行科学计算?ChatGPT 将来会取代计算材料科学家吗?


▎生成结构

首先,构建模型或结构是计算材料科学的第一步。以密度泛函理论(DFT)为例,构建合适的分子或晶体结构是计算的第一步。首先,让 ChatGPT 帮助我们构建原子结构。假设想通过 DFT 研究锂金属表面(电池和能源科学中最重要的表面之一),则需要构建锂金属 Slab 模型。

为此,作者在今年 2 月 20 日询问了 ChatGPT:「Can you generate a cif for lithium Slab?」 (你能帮我生成一个锂 Slab 的 cif 文件吗?)」 ,它给出了一串代码,画出的结果如图 1A 所示。这个更像是锂的单胞而不是 Slab。进一步询问:「 Can you expand to 16 atoms?」(「你能扩展到 16 个原子吗?」),然后,它会生成一个奇怪的输出,结果出来一个内含有 16 个随机分布原子的结构(图 1B)。


有趣的是,当作者在最初提交手稿 20 天后再次问同样的问题时,输出完全不同。它表示自己作为一个 AI 模型,不能生成 cif 文件,而是给出一些使用 VESTA 或 Materials Studio 的建议,或在晶体学开放数据库 (COD) 和无机晶体结构数据库 (ICSD) 中搜索预生成的 cif 文件。有时,它可能还会提供不正确的示例 cif 文件。

然而,如果作者通过输入「 Lithium is bcc, can you generate a cif for lithium metal slab」(「锂是 bcc,你能帮我生成一个锂 Slab 的 cif 文件吗?) 来提供更多信息,例如晶体结构,那么它将生成体心立方 (BCC) 晶格,如图 1 C 所示。可以进一步要求它扩展到 16 个原子,如图 1D 所示。

这个例子表明,尽管 ChatGPT 有时候没法得到完全正确的结果,它会给我们一些提示。当我们给它更多信息的时候,它具有从我们的信息中「学习」的能力。


▎为特定科学软件编写代码

下一步是编写特定脚本,用于在特定科学计算软件上运行模拟。想象一下,要使用开源 DFT 软件 GPAW 对 bulk 硅(一种广泛应用于光伏和半导体器件的重要材料)进行能带结构计算。

可以问 ChatGPT:「can you write a GPAW code for calculating the band structure of Si」(「你能写一个计算 Si 能带结构的 GPAW 代码吗」);它会给你一个看起来非常类似于我们在 GPAW 官方网站上可以找到的代码,尽管它会使用不正确的属性,例如「gpaw.Cell」和「gpaw.Atoms」。(2023 年 2 月 20 日)

值得注意的是,如果作者进一步问:「can you write a GPAW code for calculating the band structure of SiO2」(「你能写一个计算 SiO2 能带结构的 GPAW 代码吗」),它会假设之前的代码是正确的,并通过简单地用 SiO2 替换 Si 并改变晶格参数 a 来生成新代码,忽略了 SiO2 的稳定构型不是立方体这一事实。

令人惊讶的是,当作者在 20 天后执行类似的请求时,会获得不同的输出,其中 Si 的大部分代码是正确的,这将正确地进行结构最小化并给出优化的 Si 晶胞的输出。但是,它也会给出一个不存在的名为「calc.get_band_structure」的错误属性。然后,作者尝试通过输入 「please use calc.band_structure since there's no attribute get_band_structure」(「请使用 calc.band_structure,因为没有属性 get_band_structure」来「教」ChatGPT 没有名为「calc.get_band_structure」的属性),它会立即更正此错误。

而对于 SiO2,作者在 2023 年 3 月 10 日访问 ChatGPT 时也得到了新的输出,它使用「方英石」作为 SiO2 的默认结构,不同的 250 eV ecut(与 Si 的 150 eV)和不同的 kpts_path( 「G」、「M」、「X」、「R」、「G」),表明机器人已经进化到一定程度,它知道改变一些输入参数。然后可以通过输入「教」它改变为石英结构:「SiO2 的晶体结构是石英」;然后,将生成石英相中的 SiO2 bulk 结构。


▎数据可视化

最后一步是数据可视化。作者选取了一个简单的例子「Can you write a script for 3 dimensional vector plot with MATLAB, do the plotting from data.dat」 (你能否用 MATLAB 写一个三维矢量图的脚本,从 data.dat 中进行绘图?)。它给出一个使用「quiver3」函数来做三维矢量图的代码;但是数据维度 quiver3(x, y, z)不正确,应该写成quiver3(x, y, z, u, v, w)。然后,作者尝试通过输入:「The data.dat has six dimensions, the first three dimension is the coordinate, can you do the plotting again」(「data.dat 有六个维度,前三个维度是坐标,你能再画一遍吗?」),这时,它就可以给出一个简单的正确作图程序。简单数据作图结果如图 2 所示。

图 2:基于 ChatGPT 给出的代码利用 MATLAB 做出的三维箭头图。(来源:论文)


▎未来展望

总的来说,ChatGPT 已经有了非常强大的能力,可以帮助我们进行计算材料科学。使用 ChatGPT 这样的工具的好处可以概括为:

(a) 使用非常简单方便,只需要打几个字,不用看说明书,对初学者特别友好;

(b) 在专家的指导下,它能够从交互中「学习」并自行纠正错误,并能够正确地执行任务;

(c) 即使 ChatGPT 不知道确切的答案,它也可以给我们一些提示或建议,告诉我们应该寻找哪种工具来解决我们的问题。

同时,ChatGPT 仍然有很大的改进空间,可以更好地帮助我们进行计算材料科学:

(a) 输出结果取决于 ChatGPT 的版本和访问时间,无法保证结果的稳健性。

(b) 它可能会生成一些对初学者来说看起来非常专业的东西,但如果没有经过适当的训练,它可能会在代码中犯下非常简单的错误,甚至可以用以前的知识或训练的简单替换来欺骗我们。因此,我们在此阶段应始终谨慎使用它;正确的计算仍然需要人为干预和检查。

(c) 应该关注伦理问题。一些大学对使用 ChatGPT 有特定的政策/禁令,例如,在撰写论文时。

但是,作者相信并主张这些限制可能不适用于在计算材料科学中使用 ChatGPT。随着 ChatGPT 等新工具的出现,计算材料科学即将发生变革。


参考内容:https://phys.org/news/2023-04-chatgpt-materials-scientists.html

本文转自:ScienceAI,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。

最新文章