【论文笔记】| 微调LLM晶体生成

news2024/11/23 10:24:12

【论文笔记】| 微调LLM晶体生成

Fine-Tuned Language Models Generate Stable Inorganic Materials as Text
NYU, ICLR 2024
Theme:Material Generation

Main work:

微调大型语言模型以生成稳定的材料

  • 可靠性:在样本结构中,90% 遵循原子位置和电荷的物理约束条件。
  • 亚稳性:可以以大约两倍的速率(49% 对 28%)生成预测为亚稳态的材料,优于 CDVAE。
  • 灵活性:可以同时用于无条件生成稳定材料、填充部分结构以及条件生成文本。
  • 适用性:捕捉晶体结构的关键对称性,在模型规模扩大时性能提升。

Method:

将晶体结构【crystal lattice,原子类型及坐标(Fractional coordinates / 3D coordinates)】编码为换行字符串并与文本指令相结合,然后在基础LLM (LLaMA-2)上执行参数高效微调(PEFT)
[图片]

Dataset and Training details:

  • 将原始的 CDVAE 训练数据集与截至 2023 年 4 月的 Materials Project 中的材料进行扩展,过滤掉晶格中原子数超过 30 个的晶体
  • 4-bit quantization and Low-Rank Adapters (LoRA)
    [图片]

Experiment:

评估指标:

  • 有效性与多样性:结构有效性由非重叠原子半径计算;成分有效性由计算电荷为中性计算;多样性使用Matminer对结构和组成进行特征化后的样本间距离来计算;
  • 预测稳定性:利用来自 Materials Project 的已知材料和能量计算,根据元素组成配比构建了真实能量凸包。使用M3GNET和DFT方法VASP计算生成材料相对凸包的近似能量,即 E ^ h u l l \hat{E}_{hull} E^hull,预测其稳定性
    [图片]
    在这里插入图片描述

实验结果:

  • 无条件生成:我们从每个微调 LLAMA 模型中抽取 10,000 个结构,从生成的字符串解析 CIF。随机抽样、拒绝提取不出来的样本并重新抽取另一个样本
  • 条件生成:加入条件【空间群编号、成分和 E h u l l {E}_{hull} Ehull】进行生成
  • 对称性学习:通过变换下的困惑度的增加(IPT)作为评估语言模型
    IPT ( s ) = E g ∈ G [ PPL ( t g ( s ) ) − PPL ( t g ∗ ( s ) ) ] , g ∗ = arg ⁡ min ⁡ P P L ( t g ∗ ( s ) ) \text{IPT}(s)=\mathbb{E}_{g\in G}[\text{PPL}(t_g(s))-\text{PPL}(t_{g^*}(s))],g^*=\arg\min\mathrm{PPL}(t_{g^*}(s)) IPT(s)=EgG[PPL(tg(s))PPL(tg(s))]g=argminPPL(tg(s))
  • 填充部分结构:mutation-relaxation step
    • mutation:构建一个查找表,将每个元素映射到在相同氧化态时具有相似原子半径的元素。
      • 均匀选择: 从元素的查找表中均匀地选择一个元素进行替换。
      • 语言模型引导的选择: 使用Fine-tuned LLM(温度参数 t 调节)生成的元素分布中进行抽样。
    • relaxation:生成的新结构需要通过 M3GNET 评估结构的能量是否稳定。

参考文献

Gruver N, Sriram A, Madotto A, et al. Fine-Tuned Language Models Generate Stable Inorganic Materials as Text[J]. arXiv preprint arXiv:2402.04379, 2024.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1690305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第97题交错字符串

题目: 题解: class Solution:def isInterleave(self, s1: str, s2: str, s3: str) -> bool:n1 len(s1)n2 len(s2)if len(s3) ! n1 n2: return Falsedp [[False] * (n2 1) for _ in range(n1 1)] # dp[i][j]表示s1[0:i)和s2[0:j)是否能够构成s…

设计模式5——抽象工厂模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 抽象工厂模式(Abst…

2024年贵州特岗教师招聘报名流程,速速查收哦!

2024年贵州特岗教师招聘报名流程,速速查收哦!

DolphinDB 携手九鞅科技,助力固收投研效能飞跃

随着金融市场开放的广度与深度不断拓宽,金融产品呈现出多样化的发展态势,其中债券投资组合凭借其低风险性、高流动性与稳健的收益表现,逐渐成为投资理财领域备受瞩目的焦点。投资经理不仅需要了解哪些债券值得投资,更要对债券投资…

MySQL日常联系---20万数据的存储过程(一)。

一、创建DDL和DML CREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,createDate DATE NOT NULL,userName VARCHAR(255) NOT NULL,phone VARCHAR(15),age INT,sex CHAR(1), -- 假设M代表男,F代表女introduce TEXT );INSERT INTO student (createDate, user…

二叉树创建与销毁操作详解

目录 一、通过前序遍历的数组构建二叉树 1.1 递归思路 1.2 递归分支图 1.3 递归栈帧图 1.4 C语言实现 二、二叉树的销毁 2.1 递归思路 2.2 递归分支图 2.3 递归栈帧图 2.4 C语言实现 一、通过前序遍历的数组构建二叉树 牛客网链接:二叉树遍历_牛客题霸_牛…

2024年618购物狂欢节即将来袭!精选五款超值入手数码好物!

618购物狂欢盛宴即将落幕,是时候展现我们的购物智慧了!在追求价格优惠的同时,我们更应看重商品的品质与实用性。面对琳琅满目的选择,如何筛选出真正值得拥有的好物呢?为了让大家的购物之旅更加轻松愉快,以下…

想学接口测试,不知道那个工具适合?

引言: 接口测试在软件开发中扮演着至关重要的角色,它可以帮助我们验证系统的功能、性能和安全性。而选择适合的工具是进行接口测试的重要一步。本文将从零开始,为你详细介绍如何选择合适的工具,并提供规范的指导。 一、了解接口…

通过cmd命令行使用用3dmax自带的vray渲染

有时调试需要使用vray渲染vrscene文件看效果,只装有3dmax下可以使用自带vray渲染,在3dmax的渲染日志里面看自带引擎路径 使用命令行进入到此目录 执行命令指定vr文件即可看到效果,如:vray.exe -sceneFile“C:\test15\202405241…

Jetbrain | IDEA的启动logo替换成可爱的vtuber-logo

看了这个,好可爱 【上Github热榜了!当编程语言的Logo变得可爱起来~】 又看了这个 光速整活,强啊 看到很多人整IDEA的logo包括我自己,都不是特别方便的搞,我就直接把文件放在绑定资源里直接下吧 然后直接找到本体的安…

HTML+JavaScript+CSS:爱心代码

1、创建heart.js文件 // 定义画布的宽度和高度,以及画布的中心点坐标 const CANVAS_WIDTH 640; const CANVAS_HEIGHT 480; const CANVAS_CENTER_X CANVAS_WIDTH / 2; const CANVAS_CENTER_Y CANVAS_HEIGHT / 2;// 定义图像的放大因子,用于调整爱心的…

【译】组复制和 Percona XtraDB 集群: 常见操作概述

原文地址:Group Replication and Percona XtraDB Cluster: Overview of Common Operations 在这篇博文中,我将概述使用 MySQL Group Replication 8.0.19(又称 GR)和 Percona XtraDB Cluster 8 (PXC)(基于 Galera&…

Wireshark 4.2.5:发现 QUIC 和 VXLAN 协议的新功能

Wireshark 是一种先进且广泛使用的网络协议分析仪,最近发布了新版本 4.2.5,它提供了许多新功能和改进。 Wireshark 4.2.5 发行说明 什么是 Wireshark? Wireshark 是世界上最流行的网络协议分析器。它用于故障排除、分析、开发和教育。 Wiresh…

汇编:函数以及函数参数传递

汇编语言中的函数(或过程)是指一段可以被调用和执行的代码块;它们用于组织和重用代码,并使程序结构更加清晰;由于汇编语言没有高层次语言的语法糖,编写和调用函数涉及直接的堆栈操作和寄存器管理&#xff1…

《中国企业报》集团数字产业发展研究院介绍

《中国企业报》集团数字产业发展研究院(以下简称“中企数研院”),隶属于《中国企业报》集团管理。“中企数研院”致力于“数字经济产业化发展战略”大背景下,以“县域数字经济”、“企业数字化转型”及“数字人民币”推广等发展方…

Vue3实战笔记(35)—集成炫酷的粒子特效

文章目录 前言一、vue3使用tsparticles二、使用步骤总结 前言 学习一个有趣炫酷的玩意开心一下。 tsparticles,可以方便的实现各种粒子特效。支持的语言框架也是相当的丰富. 官网:https://particles.js.org/ 一、vue3使用tsparticles 先来个vue3使用…

大语言模型的工程技巧(四)——梯度检查点

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文将讨论如何利用梯度检查点算法来减少模型在训练时候(更准确地说是运行反向传播算法时)的内存开支。…

【Spring Cloud】全面解析服务容错中间件 Sentinel 持久化两种模式

文章目录 推送模式本地文件持久化(拉模式)配置yml编写处理类添加配置演示 配置中心持久化(推模式)修改nacos在sentinel中生效引入依赖配置文件 修改sentinel在nacos中生效下载源码更改代码演示 总结 推送模式 Sentinel 规则的推送…

网络安全快速入门(十五) linux用户管理

14.1 前言 前面我们已经大概了解了Linux的网络链接,今天我们来看看Linux用户管理的一些基础操作,话不多说,我们来开始吧!! 14.2 用户的基础知识 我们先了解一些有关linux用户的一些基础知识,我们从Linux用…

告别传统,拥抱未来——上门回收小程序引领变革

随着科技的飞速发展,我们生活的方方面面都在经历着前所未有的变革。在环保和可持续发展的背景下,传统的废品回收方式已经难以满足现代社会的需求。而上门回收小程序的出现,正以其便捷、高效的特点,引领着废品回收行业的变革。 一、…