YAML HEAD
开源许可类型: Apache License 2.0
任务类型: 分子热力学性质-沸点预测
框架: Pytorch
支持的语言类型: - 中文 - 英文
评估指标: - MAE - R2
模型所属领域: 物质科学
燧人大模型介绍
模型描述
燧人大模型是一套面向分子原子尺度的深度学习模型,基于 PyTorch 框架构建,能够同时支持各种热力学性质的预测,包括沸点、临界性质、热容、扩散系数、燃烧焓、生成焓、溶解度、粘度等。
沸点定义 沸点是指在标准大气压(通常为1个大气压,即101.325 kPa)下,液体转变为气体(即沸腾)时的温度。在该温度下,液体的饱和蒸气压等于外界压力,液体内部产生气泡并剧烈汽化。不同物质由于分子间作用力、分子量、极性等差异,具有不同的沸点。
应用场景:
- 物质鉴定:沸点是化合物的重要物理常数,可用于初步鉴定和纯度判断(纯物质有固定沸点)。
- 结构-性质关系研究:通过比较沸点,可推断分子间作用力类型和强度,辅助理解分子结构特征。
- 热力学研究:沸点与蒸发热、熵变等热力学参数相关,是研究相变过程的基础数据。
- 分离与提纯:蒸馏、分馏等工艺依赖不同物质的沸点差异,广泛应用于石油炼制、酒精提纯、化工产品分离等。
- 工艺设计:在化工生产中,反应温度、溶剂选择、设备操作条件等常依据物质的沸点进行设计。
- 安全与储存:低沸点物质(如液化气、有机溶剂)易挥发,需特殊储存条件;高沸点物质则可能需高温处理。
- 材料选择:在高温或低温环境中工作的材料需考虑其沸点,以确保稳定性。
期望模型使用方式以及适用范围
- 科研人员:在材料设计、分子筛选过程中快速获取热力学性质预测值,辅助实验设计和评估。
- 工程应用:在工艺模拟与安全评估环节中,用于替代部分昂贵或不精确的实验测量。
- 教学场景:作为化工、材料、热物性课程的辅助工具。
⚠️ 模型适用于 有机小分子,不适合直接推广到 复杂聚合物、大分子材料或金属体系,模型支持的元素种类包括(H,C,N,O,F,P,S,Cl,Br,I)。
如何使用
环境安装
torch>=2.0
torch-geometric
pip install -r requirements.txt
1. 微调
用户可以基于已有的预训练权重,在自己的数据集上进一步微调,以适配特定分子空间或特殊热力学性质。
请将微调数据集放入data/{name}/raw目录下,提供名为 {name}_train.csv, {name}_valid.csv, {name}_test.csv 三个数据文件,每个文件包含两列,分别为“SMILES”列和"values",“SMILES”表示分子的结构式(str格式),"values"表示性质数值(float格式)。
微调代码示例:
python train.py --name boiling_point --epochs 10 --batch_size 64 --lr 1e-3 --checkpoint path --loss l1 --output_dir checkpoints
参数说明:
-
name:性质名称或实验名称,用于产生对应checkpoint文件
-
epochs:训练轮次
-
batch_size:一次性处理的样本批次大小
-
lr:学习率
-
checkpoint:预训练模型路径
-
loss:训练损失函数
-
outpu_dir:微调模型保存路径
2. 推理
我们提供了微调模型,可以直接调用进行推理。
代码范例
python infer.py --device cuda --model_path ./chekpoints/boiling_point --smiles "CC=O"
参数说明
-
device:推理设备,使用GPU/CPU进行推理
-
model_path:微调模型的存储路径
-
smiles:待推理的分子SMILES表达式
模型局限性以及可能的偏差
-
数据覆盖不足:训练数据集主要覆盖常见有机小分子,对于稀有化合物或大分子体系预测精度可能不足。
-
温度/压力依赖性:模型预测的是标准条件下的物性,未显式建模温压依赖效应。
-
泛化性:在实验数据较少的性质上,模型预测可能偏差较大。
模型训练
1. 训练数据介绍
训练数据来自开源化学数据库与部分实验文献整理。 数据包括:
-
分子结构(SMILES)
-
对应实验热力学性质值
2. 预处理
-
使用 RDKit 将 SMILES 转换为分子图表示
-
构建分子图的2d图表示以及3d分子坐标
-
数据标准化与归一化,保证不同物性的数值范围适配神经网络训练
3. 训练
-
框架:PyTorch + PyTorch Geometric
-
优化器:AdamW
-
损失函数:MAE
-
评估指标:MAE、R²
-
每个热力学性质单独进行微调,存储在 ./checkpoints/ 目录下
模型评估
在内部测试集上,模型在不同任务上表现如下:
| 任务 | MAE | R² |
|---|---|---|
| 沸点预测 | 7.02979 | 0.98413 |
开源协议
本项目采用 Apache License 2.0 开源许可证