用途:kermt-finetune 是 KERMT 微调工作流编排技能,用于在用户提供的带标签 CSV 上微调预训练的 KERMT 编码器。它依次完成检查点校验、数据校验、数据准备、后台启动 runner,并返回运行目录与容器名。
输入与参数:必需 --csv(首列为 smiles,其余列为目标)。检查点可选:--ckpt 指向 pretrain 检查点(grover_base/cmim/hybrid);若省略,除非传入 --pretrained-release,否则需用户明确同意后才下载已发布的 nvidia/NV-KERMT-70M-v2 并微调,--ckpt 与 --pretrained-release 互斥。--model-dir 指定保存目录。其他可选参数包括 --dataset-type(regression/classification/multiclass)、--targets、--val-csv/--test-csv、--split-type、--metric,以及 epochs、batch-size、学习率、dropout、early-stop、seed 等训练超参;FFN 相关有 --ffn-hidden-size、--ffn-num-layers、--ffn-num-task-specific-layers、--ffn-task-specific-hidden-size(两者须同时设置)。多模型可用 --ensemble-size、--num-folds;--gpus 选单卡,--num-gpus N>1 走 DDP 数据并行,此时 --batch-size 为每卡值。--from-prepare 可复用已有 prepare_data.json。
硬件:默认单 GPU;默认 batch_size 32 需显存 ≥8 GB,更低显存可减小 batch。每次运行占用数 GB 磁盘。主机需支持 CUDA 12.6。
流程:先用 kermt_container.sh check_system 做预检;计算 RUN_DIR;解析并校验检查点(已微调的检查点会被拒绝并引导至 kermt-infer);用 check_data.py 校验数据;用 prepare_data.py 准备数据(注意 val/test 须与训练 CSV 同目录挂载,含 shell 元字符的目标列名需加单引号);回显默认值;在启动前硬性要求确认最终目标列表;用 run_detached 后台启动,返回容器名、id 与日志路径。
输出与监控:run.json 含 cmd_replay 与镜像摘要;日志在 $RUN_DIR/logs/finetune.log;TensorBoard 在 $RUN_DIR/logs/tb;最终检查点位于 $RUN_DIR/ckpt/fold_0/model_0/model.pt,测试预测在 test_result.csv。用 kermt-monitor <RUN_DIR> 或 docker logs -f 跟踪进度。
限制:不修改输入检查点;架构取自检查点而非命令行;技能不支持续训(saved-task 身份无法机器校验),如需在相同数据集续训须直接调用 python main.py finetune。未提供的信息暂未说明。