# ============================================================ # ANI-1x 8 DCU 训练配置 # 单节点 8 DCU 分布式训练 # ============================================================ # 实验名称(用于输出目录和模型文件命名) name: ani1x_8dcu # 实验描述 description: "ANI-1x - 8 DCU 分布式训练" # ============================================================ # train.py 参数 # 以下所有字段将被转换为 train.py 的命令行参数 # 例如 model: MACE -> --model=MACE # swa: true -> --swa (布尔标志) # ============================================================ train_args: # --- 模型配置 --- model: MACE # 模型类型 default_dtype: float64 # 数据精度 num_interactions: 2 # 交互层数 num_channels: 64 # 通道数 max_L: 0 # 最大角动量 correlation: 3 # 相关阶数 # --- 数据配置 --- # 路径中的 ${ONESCIENCE_DATASETS_DIR} 默认指向仓库根目录,下载对应数据集到 ./data 后即可使用 train_file: "${ONESCIENCE_DATASETS_DIR}/data/ani1x/ANI1x_cc_DFT_rc5_train" valid_file: "${ONESCIENCE_DATASETS_DIR}/data/ani1x/ANI1x_cc_DFT_rc5_val" statistics_file: "${ONESCIENCE_DATASETS_DIR}/data/ani1x/ANI1x_cc_DFT_rc5_statistics.json" E0s: "{1: -13.62222753701504, 6: -1029.4130839658328, 7: -1484.8710358098756, 8: -2041.8396277138045}" # --- 训练超参 --- seed: 123 # 随机种子 device: cuda # 设备: cuda / cpu r_max: 4.5 # 截断半径 (Angstrom) batch_size: 128 # 训练批大小 valid_batch_size: 128 # 验证批大小 max_num_epochs: 20 # 最大训练轮数 forces_weight: 1000 # 力的损失权重 energy_weight: 40 # 能量的损失权重 weight_decay: 1e-7 # 权重衰减 clip_grad: 1.0 # 梯度裁剪阈值 scheduler_patience: 20 # 学习率调度器耐心值 patience: 50 # 早停耐心值 eval_interval: 1 # 每 10 个 epoch 评估并打印一次 num_workers: 32 # 数据加载线程数 error_table: PerAtomMAE # 误差表类型 # --- SWA / EMA --- ema: true # 启用 EMA swa: true # 启用 SWA start_swa: 15 # SWA 开始 epoch swa_lr: 0.00025 # SWA 学习率 swa_forces_weight: 10 # SWA 力的损失权重 # --- 其他 --- restart_latest: true # 从最新检查点重启 save_cpu: true # 保存模型到 CPU # ============================================================ # 启动配置(控制 python / torchrun / srun 的选择) # ============================================================ launch: launcher: torchrun # 启动方式: python / torchrun (多节点时自动用 srun) num_nodes: 1 # 节点数 num_gpus: 8 # 申请的 DCU 卡数 # ============================================================ # 环境配置 # ============================================================ env: conda_env: matchem # conda 环境名 modules: - sghpc-mpi-gcc/26.3 # 需要加载的 module # ============================================================ # SLURM 配置(仅 --submit 模式使用) # ============================================================ slurm: partition: hpctest02 # SLURM 分区 time: "8:00:00" # 作业时间限制 cpus_per_task: 128 # CPU 核心数