boiling_point

12 downloads 4 likes on ModelScope updated

Model card


YAML HEAD

开源许可类型: Apache License 2.0

任务类型: 分子热力学性质-沸点预测

框架: Pytorch

支持的语言类型: - 中文 - 英文

评估指标: - MAE - R2

模型所属领域: 物质科学


燧人大模型介绍

模型描述

燧人大模型是一套面向分子原子尺度的深度学习模型,基于 PyTorch 框架构建,能够同时支持各种热力学性质的预测,包括沸点、临界性质、热容、扩散系数、燃烧焓、生成焓、溶解度、粘度等。

沸点定义 沸点是指在标准大气压(通常为1个大气压,即101.325 kPa)下,液体转变为气体(即沸腾)时的温度。在该温度下,液体的饱和蒸气压等于外界压力,液体内部产生气泡并剧烈汽化。不同物质由于分子间作用力、分子量、极性等差异,具有不同的沸点。

应用场景:

  1. 物质鉴定:沸点是化合物的重要物理常数,可用于初步鉴定和纯度判断(纯物质有固定沸点)。
  2. 结构-性质关系研究:通过比较沸点,可推断分子间作用力类型和强度,辅助理解分子结构特征。
  3. 热力学研究:沸点与蒸发热、熵变等热力学参数相关,是研究相变过程的基础数据。
  4. 分离与提纯:蒸馏、分馏等工艺依赖不同物质的沸点差异,广泛应用于石油炼制、酒精提纯、化工产品分离等。
  5. 工艺设计:在化工生产中,反应温度、溶剂选择、设备操作条件等常依据物质的沸点进行设计。
  6. 安全与储存:低沸点物质(如液化气、有机溶剂)易挥发,需特殊储存条件;高沸点物质则可能需高温处理。
  7. 材料选择:在高温或低温环境中工作的材料需考虑其沸点,以确保稳定性。

期望模型使用方式以及适用范围

  • 科研人员:在材料设计、分子筛选过程中快速获取热力学性质预测值,辅助实验设计和评估。
  • 工程应用:在工艺模拟与安全评估环节中,用于替代部分昂贵或不精确的实验测量。
  • 教学场景:作为化工、材料、热物性课程的辅助工具。

⚠️ 模型适用于 有机小分子,不适合直接推广到 复杂聚合物、大分子材料或金属体系,模型支持的元素种类包括(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. 预处理

  1. 使用 RDKit 将 SMILES 转换为分子图表示

  2. 构建分子图的2d图表示以及3d分子坐标

  3. 数据标准化与归一化,保证不同物性的数值范围适配神经网络训练

3. 训练

  • 框架:PyTorch + PyTorch Geometric

  • 优化器:AdamW

  • 损失函数:MAE

  • 评估指标:MAE、R²

  • 每个热力学性质单独进行微调,存储在 ./checkpoints/ 目录下

模型评估

在内部测试集上,模型在不同任务上表现如下:

任务 MAE R²
沸点预测 7.02979 0.98413

开源协议

本项目采用 Apache License 2.0 开源许可证