许可协议:apache-2.0
库名称:transformers
流水线标签:文本生成
标签:
GP-MoLFormer-Uniq
GP-MoLFormer是一类基于ZINC和PubChem中6.5亿至11亿分子SMILES字符串表示进行预训练的模型。
本仓库存储的是在两个数据集所有唯一分子上预训练的模型版本。
该模型由Ross等人在论文GP-MoLFormer: 分子生成的基础模型中提出,并在此代码库中发布。
模型详情
模型描述
GP-MoLFormer是一个用于分子生成任务的大规模自回归化学语言模型。该模型采用与MoLFormer-XL相同的架构,包括线性注意力和旋转位置编码,但使用了基于因果语言建模目标训练的仅解码器Transformer模块。其训练数据涵盖最多11亿个SMILES表示的分子。
GP-MoLFormer在大规模从头生成、骨架约束修饰和分子属性优化等任务上进行了评估。
使用场景与限制
预训练模型可直接用于无条件分子从头生成,也可通过输入部分SMILES字符串进行骨架补全/修饰。我们还证明该模型可通过微调改变输出分布(例如更接近类药物特性),或采用配对调优进行分子优化。详情参见论文和GitHub仓库。
本模型未针对分类性能进行测试,也未测试超过约200个原子的大分子(如生物大分子)。此外,使用无效或非规范SMILES可能导致性能下降。
示例代码
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("ibm-research/GP-MoLFormer-Uniq", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("ibm-research/MoLFormer-XL-both-10pct", trust_remote_code=True)
outputs = model.generate(do_sample=True, top_k=None, max_length=202, num_return_sequences=3)
tokenizer.batch_decode(outputs, skip_special_tokens=True)
训练详情
数据
训练数据整合了ZINC15和PubChem数据集中的分子。本仓库版本基于两个数据集所有唯一分子训练。
训练前使用RDKit进行分子规范化并移除异构信息,同时剔除超过202个token的分子。
硬件
评估
我们在多种生成指标上评估了GP-MoLFormer。下表显示GP-MoLFormer-Uniq与基线模型的对比表现:
|
有效性↑ |
万次唯一性↑ |
新颖性↑ |
片段↑ |
骨架↑ |
SNN↑ |
内部多样性↑ |
FCD↓ |
CharRNN |
0.975 |
0.999 |
0.842 |
0.9998 |
0.9242 |
0.6015 |
0.8562 |
0.0732 |
VAE |
0.977 |
0.998 |
0.695 |
0.9984 |
0.9386 |
0.6257 |
0.8558 |
0.0990 |
JT-VAE |
1.000 |
1.000 |
0.914 |
0.9965 |
0.8964 |
0.5477 |
0.8551 |
0.3954 |
LIMO |
1.000 |
0.976 |
1.000 |
0.6989 |
0.0079 |
0.2464 |
0.9039 |
26.78 |
MolGen-7B |
1.000 |
1.000 |
0.934 |
0.9999 |
0.6538 |
0.5138 |
0.8617 |
0.0435 |
GP-MoLFormer-Uniq |
1.000 |
0.977 |
0.390 |
0.9998 |
0.7383 |
0.5045 |
0.8655 |
0.0591 |
所有指标均采用MOSES标准在各模型测试集上计算。注:新颖性是相对于各模型自身训练集而言。
引用
@misc{ross2025gpmolformerfoundationmodelmolecular,
title={GP-MoLFormer: 分子生成的基础模型},
author={Jerret Ross and Brian Belgodere and Samuel C. Hoffman and Vijil Chenthamarakshan and Jiri Navratil and Youssef Mroueh and Payel Das},
year={2025},
eprint={2405.04912},
archivePrefix={arXiv},
primaryClass={q-bio.BM},
url={https://arxiv.org/abs/2405.04912},
}