SciencesLoop 开放 AI 工程师岗位
← 研究笔记
案例研究

经过微调的分子基础模型,能否达到工程化传统模型的水平?

一项独立 QM9 案例研究:把公开的 MIST 微调 checkpoint 与 Ridge、XGBoost、MLP 和两层集成模型分开比较。

AI for Science分子基础模型迁移学习QM9模型评估

分子基础模型最吸引人的地方,是同一个分子表示有机会适配多个预测任务。但真正落到实验上,问题很直接:这种复用路线,能不能达到为单一数据集反复优化的传统模型水平?

我用 MIST 和 QM9 做了这个比较。本次公开预测模型属于 MIST-28M 系列,模型仓库名称标注约 2690 万参数。传统路线从 ECFP 指纹加 Ridge 开始,第一版结果并不好。后来逐步加入计数指纹、全局分子描述符、非线性模型、超参数搜索和集成模型,才得到有竞争力的结果。对我来说,这段迭代比简单宣布谁排名第一更重要:模型比较本身也是系统工程。

先说明贡献边界。MIST 由密歇根大学 Electrochemical Energy Group 开发、预训练、微调并公开发布。我独立设计和实现了这项基准评测,训练 Ridge、XGBoost 和 MLP,对保存的预测进行评估,并完成结果分析。这不是 MIST 团队的官方研究,我也没有训练这里使用的公开 MIST checkpoint。

数据和问题

QM9 包含 133,885 个小型有机分子及其量子化学计算性质。按照公开 MIST 流程重建后,我比较了 12 个 DFT 计算目标:偶极矩、极化率、HOMO、LUMO、HOMO-LUMO 能隙、电子空间范围、零点振动能、0 K 和 298 K 内能、焓、自由能与热容。这些是计算标签,不是实验测得的电解液性能。

按照固定版本的公开 MIST 代码重建后,候选数据划分包含 107,108 条训练数据、13,388 条验证数据和 13,389 条测试数据。去除测试集中完全重复的分子后,敏感性分析还保留 13,370 条。特征和参数选择只使用训练集与验证集;原始模型选择清单冻结之后,才读取测试标签。

总体指标是平均归一化 MAE。每个性质的 MAE 先除以训练集中该性质的标准差,再对 12 个值做等权平均,因此不同量纲的性质可以放在一起比较。数值越低越好。同时保留逐项结果,避免总体平均掩盖某些性质上的失败。

传统模型经过了哪些迭代

第一版固定基线使用 2,048 位二进制 ECFP4 和 Ridge。ECFP 把局部分子子结构编码为可计算的向量;它不是实验性质表。这个起点在验证集上的指标是 0.36969。

第二步不再只记录某个子结构“有没有出现”,而是统计出现次数。计数型 ECFP 把验证误差降到 0.23329。接着加入 17 个全局描述符,包括分子量、原子/键/环数量、可旋转键、氢键供体和受体、TPSA、LogP、sp3 比例、形式电荷、C/N/O/F 数量和芳香原子数。最终得到 2,065 维表示,Ridge 验证误差继续降到 0.15130。

线性模型的提升接近边界后,我比较了 5 组 XGBoost 和 5 组 MLP 配置。XGBoost 根据验证集提前停止训练,MLP 根据验证损失和等待轮数选择。最佳 XGBoost 验证结果为 0.09403,最佳 MLP 为 0.10124。整套特征筛选、调参、拟合、预测和报告过程耗时 2,183 秒,也就是 36.4 分钟;运行设备是 NVIDIA RTX PRO 2000 Blackwell Generation Laptop GPU。

这里有一个很实际的教训:一个看起来合理的基线,离最终结果可能很远。提升并不是来自某个“神奇参数”,而是来自多轮受控迭代、保存中间产物、只用验证集做选择,以及最后的模型组合。

第一层:把两条路线分开比较

为了回答主要科学问题,经过微调的 MIST 不应该混入传统模型对照。传统集成模型只组合加入特征工程后的 Ridge、XGBoost 和 MLP,并用验证集预测选择非负权重:XGBoost 59.02%、MLP 40.98%、Ridge 约为 0%。

在共同测试集上,12 个性质的平均归一化 MAE 为:

  • 传统集成模型:0.08740
  • XGBoost:0.09434
  • 公开的 MIST 微调模型:0.09506
  • MLP:0.10036
  • 加入特征工程后的 Ridge:0.14984

最初的二进制 ECFP Ridge 测试结果是 0.37005,说明传统路线在开发过程中发生了多大变化。XGBoost 与 MIST 只差 0.00073;这只是一次数据划分得到的估计值,我会把它解释为接近持平,而不是 XGBoost 取得了决定性胜利。

MIST 迁移基准的两层结果图:第一层独立比较传统模型与 MIST,第二层单列全模型集成结果。
SciencesLoop 原创结果图,数据来自保存的基准评测产物。图把主要比较和补充集成结果分开。它展示的是一次重建数据划分得到的估计值;它不能证明预训练造成了当前差异,也没有给出新划分下的不确定性。

逐项看 12 个性质,也没有一个模型在所有项目上保持同样优势。与传统集成模型相比,MIST 在偶极矩、HOMO 和 HOMO-LUMO 能隙上误差更低;传统集成模型在另外 9 项上更低,其中一些差距很小。单独与 XGBoost 比较时,MIST 在热容、HOMO、LUMO、能隙和偶极矩上更低。这个误差结构比单一总排名更有信息,因为它说明两类模型学到的规律并不完全相同。

为什么要明确说明报告方式的修正

第一版报告把全模型混合结果放在最前面。作为工程结果,这没有问题;但它把 MIST 混入传统模型对照,反而模糊了“微调模型与传统模型谁更好”这个问题。因此,在看到第一版测试报告以后,我重新定义了主要展示:传统集成模型中不包含 MIST。

这项修正必须明确标为 事后指定(post-specified)。新权重仍然只由验证集预测决定,没有用测试标签选权重;不过,“把它设为主要结果”这个报告决定发生在初始测试结果已经可见之后。所以 0.08740 应被视为透明的探索性估计,而不是事先注册、一次完成的主要分析。

对基准评测来说,记录“什么时候做出决定”和记录“用什么数据做选择”同样重要。

第二层:把所有模型组合起来

独立比较完成后,还可以再问一个系统问题:两类模型的误差是否互补?

由验证集选择权重的全模型集成使用 39.32% MIST、32.72% MLP、27.96% XGBoost 和 0% Ridge,最终达到 0.08116。相对传统集成模型的 0.08740,误差进一步下降 7.1%。这是一个有用的补充结果,说明两类模型预测可能互补,但它不能替代第一层的独立比较。

第一层回答公开的 MIST 微调模型能否匹配经过优化的传统单模型:在这次划分上,MIST 与 XGBoost 很接近。第二层回答组合不同模型是否有帮助:在这次划分上,集成模型继续降低了误差。

哪些地方可能失败

当前结果仍有几条重要边界:

  • 只有一个候选随机划分;相似分子可能让随机划分比按分子骨架留出的测试更容易。
  • 公开 MIST checkpoint 已经在 QM9 上微调;这次实验无法拆分预训练、微调方法、模型容量和数据接触各自的贡献。
  • 12 个标签来自量子化学计算,不能据此宣称模型已经迁移到实验电解液性质。
  • MLP 运行出现 CUDA/cuBLAS 逐位确定性警告;保存的预测可以审查,但逐位重跑可能略有变化。
  • 即使测试集保持关闭,多组配置之间反复选择仍可能对验证集过拟合。
  • 12 项平均值可能掩盖单项失败,所以逐项指标和预测文件仍是实验记录的一部分。

这些限制并不否定当前实验,它们说明下一轮应该怎样设计。

新的论文级实验方案做了什么

我已经实现下一阶段面向论文的评估方案:5 个预先固定的随机种子、分组随机划分与 Bemis-Murcko 骨架划分、保证重复分子不跨集合的分组、配对 bootstrap 95% 置信区间、逐项统计、按分子相似度分层,以及训练时间、推理速度、内存和运行产物记录。所有传统模型和集成权重都会先冻结,再打开测试指标。

目前这套方案只完成了实验基础设施和小规模运行检查,还没有产出新的五种子 MIST 结果。公开的 QM9 微调 checkpoint 被明确禁止直接进入新的数据划分,因为它过去接触 QM9 标签的方式不符合新实验的训练边界。

下一步需要一个能够确认没有使用新划分标签的 MIST 基础 checkpoint。第一组实验会冻结编码器,只训练回归头;第二组会在相同的数据划分和预算下比较 LoRA 加任务头。这样才能开始区分“复用已有分子表示”和“针对目标任务更新模型参数”的贡献。在这些实验完成以前,不应该对微调的因果价值下更强结论。

我的结论

最简洁的结论是:在这次 QM9 数据划分上,公开的 MIST 微调模型达到了经过大量调优的传统单模型水平。传统路线经过特征工程、10 组非线性模型配置和集成后,才得到更低的整体误差;把 MIST 再加入全模型集成,系统结果还可以继续改善。

我认为“接近持平”比宣布一个赢家更值得关注。MIST 展示了一条可复用的建模路线,传统流程则说明针对任务的工程优化仍然很有价值。下一轮实验要回答的是:这种关系在多个随机种子、分子骨架划分,以及受控的“冻结编码器、只训练预测头”和 LoRA 训练下是否仍然成立。

主要资料:MIST 论文MIST 官方代码仓库官方微调示例本次使用的 QM9 checkpointQM9 数据论文

独立实验材料:基准评测代码仓库固定版本的结果报告汇总结果浏览器基于保存结果的分子预测演示

讨论这篇笔记

GitHub 评论

加载评论会连接 Giscus 和 GitHub Discussions。发表评论需要 GitHub 账号。

邮件联系 LinkedIn