
# MiAD 模型信息## 1. 模型概述MiAD是一个基于 DiffCSP 骨干网络的从头晶体生成扩散模型,发表于 arXiv 2025。模型在 MP-20 数据集上训练 8000 个 epoch,使用 CSPNet 作为骨干网络,包含 6 层 CSPLayer 消息传递层。MiAD 在以下数据集上进行了训练:| 数据集 | 描述 | 权重来源 ||--------|------|----------|| MP-20 | Materials Project 20K 数据集(约 20,000 个训练/验证/测试晶体) | [Google Drive](https://drive.google.com/file/d/1KyD6KzvjYFPfU8lutFyO_0b8EbeHSGqf/view?usp=sharing) |## 2. 模型权重### 2.1 原始权重原始 PyTorch 权重存储在以下位置:| 权重文件 | 来源 | 说明 ||----------|------|------|| `miad_mp20_epoch8000.pt` | [Google Drive](https://drive.google.com/file/d/1KyD6KzvjYFPfU8lutFyO_0b8EbeHSGqf/view?usp=sharing) | MP-20 数据集预训练权重,8000 epoch |训练集和数据集,如果获取困难,可以使用国内的加速地址(原样数据) [https://aistudio.baidu.com/modelsdetail/48578](https://aistudio.baidu.com/modelsdetail/48578)。### 2.2 权重转换**转换脚本**: `convert_weights.py`**转换方法**:```bashpython scripts/convert_weights.py \ --pt_checkpoint pretrained-pt/miad_mp20_epoch8000.pt \ --pd_checkpoint pretrained-pd/miad_mp20_epoch8000.pdparams```### 2.3 权重加载```pythonimport paddleckpt_path = 'pretrained-pd/miad_mp20_epoch8000.pdparams'state_dict = paddle.load(ckpt_path)from ppmat.models.miad.cspnet import CSPNetmodel = CSPNet( hidden_dim=512, latent_dim=256, num_layers=6, max_atoms=100, act_fn='silu', dis_emb='sin', num_freqs=128, edge_style='fc', cutoff=7.0, max_neighbors=20, ln=True, ip=True, smooth=True, pred_type=True,)# 加载权重model.set_state_dict(state_dict)print("权重加载成功!")```## 3. 训练超参数| 参数 | 值 ||------|-----|| 数据集 | MP-20 || 训练轮数 | 8,000 epochs || 批大小 (batch size) | 256 || 学习率 (learning rate) | 0.001 || 优化器 | Adam(无权重衰减) || 学习率调度器 | 无 || 评估频率 | 每 1,000 epochs || 检查点保存 | 每 1,000 epochs(另每 10 epochs 快速保存) || 种子 (seed) | 12345 || Mirage 原子数上限 | 25 |## 4. 评估指标MiAD 模型使用 S.U.N. 指标评估生成质量:| 指标 | 描述 ||------|------|| **Stability (S)** | 稳定性 - 生成晶体结构的能量高于凸包的比例 || **Uniqueness (U)** | 独特性 - 唯一结构的比例 || **Novelty (N)** | 新颖性 - 不在训练集中的结构的比例 || **S.U.N.** | 综合指标 - 同时满足 S、U、N 的结构比例 |**预训练模型在 MP-20 上的表现**:- S.U.N. (CHGNet): 12.21%- S.U.N. (eq-V2): 5.64%