信息速览

PCQM4Mv2 — OGB-LSC 量子化学图回归数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | PCQM4Mv2 |
| 英文全称 | PubChem Quantum Mechanics 4M version 2(OGB-LSC PCQM4Mv2) |
| 别名/简称 | PCQM4Mv2、OGB-LSC PCQM4Mv2、PCQM4M v2(前代:PCQM4M / PCQM4M-LSC) |
| 疾病分类 | 不适用(分子量子化学数据,非疾病、非临床数据) |
| SNOMED CT | 不适用(非疾病/非人类受试者数据) |
| 数据模态 | 分子 2D 拓扑图(SMILES 解析)+ 分子 3D 重原子构象坐标(SDF,仅 train/valid 提供) |
| AI 任务类型 | 分子图回归(HOMO-LUMO gap 预测)、分子性质预测、分子表示学习预训练、几何图学习 |
| 样本总数 | 3,746,619 个有机分子(train 3,378,606 / valid 73,545 / test-dev 73,545 / test-challenge 149,923) |
| 数据大小 | ~1.5 GB(3D SDF 压缩包)/ 约 8 GB(预处理后全量) |
| 数据格式 | CSV.gz(SMILES + 标签)/ SDF(3D 坐标)/ PyG 与 DGL 二进制(经 ogb 库转换) |
| 许可证 | CC BY 4.0 |
| 访问级别 | 开放下载(ogb Python 库自动获取,无需注册申请) |
| DUO 标签 | 不适用(非人类受试者数据) |
| 语言 | 不适用(SMILES 机读格式,无自然语言文本) |
| 首发日期 | 2020(v1 随 OGB 首发)/ 2021(v2 随 OGB-LSC 发布) |
| 最后更新 | v2 为当前最终版本(此后停止更新,仅排行榜收录新模型结果) |
| 发布机构 | 斯坦福大学 OGB 团队 × PubChemQC 项目(理化学研究所 RIKEN 等,DFT 计算来源) |
| 官方主页 | https://ogb.stanford.edu/docs/lsc/pcqm4mv2/ |
| 下载地址 | https://ogb.stanford.edu/docs/lsc/pcqm4mv2/ (ogb 库自动下载) |
| DOI | 10.48550/arXiv.2103.09430(OGB-LSC 论文) |
| 引用次数 | 633+(Google Scholar,OGB-LSC 论文口径,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 规模与官方划分顶尖、许可开放、加载生态成熟;扣分项:test 标签不公开、valid/test 无 3D、约 46 个 Si 分子 2D/3D 不一致、划分非 scaffold 型 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
化学审核者:千方病案医学编辑部交叉审核:§2 化学背景(HOMO-LUMO gap 与 DFT 方法描述、分子结构标识标准映射)、§7 质量评估与局限性(DFT 计算型标签的精度边界)。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(9 维节点/3 维边特征、SMILES 到 2D 图的解析协议)、§5 官方划分与泄漏防御、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-13
审核方式:交叉审核
利益冲突声明:千方病案医数集与斯坦福 OGB 团队、PubChemQC 项目及理化学研究所(RIKEN)无任何商业利益关联。本页面不销售 PCQM4Mv2 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
领域免责声明:本页面提供的量子化学信息仅供研究和教育目的,不构成化学合成、药物设计或材料研发建议。数据集的标签为 DFT(密度泛函理论)计算值而非实验测量值,其与真实物理量的偏差在文献中已有讨论。任何基于该数据集训练的 AI 模型在应用于实际化学决策前,必须经过独立的实验验证。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。PCQM4Mv2 采用 CC BY 4.0 许可,允许商用与再分发,但要求注明原始出处(OGB-LSC 论文与 PubChemQC 项目)。具体引用格式见 §9。
数据边界声明:本数据集为计算型(DFT)标签数据集,页面中所有"性质"均指"计算设置的近似值";页面不提供任何化学合成、药物设计或安全评估建议。排行榜数字为 2026-09 检索时点快照,最新结果以 OGB 官方页面为准。
§1 数据集概览
§1.0 30 秒速览
- 一句话定位:图学习史上最大规模的公开分子性质回归基准——374.7 万个有机分子的 DFT 计算 HOMO-LUMO 能隙(eV)预测任务,先后作为 KDD Cup 2021 与 NeurIPS 2022 两大顶会竞赛赛道。
- 规模:3,746,619 个分子(train 3,378,606 / valid 73,545 / test-dev 73,545 / test-challenge 149,923),平均每分子约 14 个原子、15 条键。
- 模态:2D 分子图(SMILES 解析,节点 9 维/边 3 维特征)+ 3D 重原子构象坐标(SDF,仅 train/valid)。
- 标签:DFT 计算 HOMO-LUMO gap(eV),连续回归,指标 MAE;test-dev 与 test-challenge 标签不公开。
- 许可:CC BY 4.0,开放下载,ogb 库一行代码获取。
- 最大坑:官方划分按 PubChem CID 而非 scaffold;train 仅含 ≤20 重原子分子而 valid/test 含 ≤51 重原子;约 46 个含硅分子 2D/3D 不一致。
§1.1 摘要
PCQM4Mv2 由斯坦福 OGB 团队从 PubChemQC 项目(理化学研究所等维护的 DFT 计算数据库)整理发布,是 OGB-LSC(Open Graph Benchmark Large-Scale Challenge)的分子图回归赛道数据集。它在 2020 年 PCQM4M v1(3,803,453 个分子、纯 2D)的基础上推出 v2:新增约 150 万训练分子之外的关键变化——为 train/valid 分子补充 DFT 优化 3D 重原子构象坐标、更正约 10% 分子的 SMILES、将总数调整为 3,746,619 并把划分比例改为 90/2/4/4(按 PubChem CID 切分)。标签为 DFT 计算的 HOMO-LUMO 能隙,这一性质直接关联分子的光吸收、发射与电子输运行为,是高通量虚拟筛选中的经典筛选量。
作为基准,PCQM4Mv2 定义了一个时代分子图学习的评测格局:GCN-virtual(validation MAE 0.1153)到 Graphormer(0.0864)再到 NeurIPS 2022 冠军方案 GPS++(test-challenge MAE 0.0719,112 模型集成),大量新架构——Graphormer、GPS、Transformer-M、Uni-Mol+、ViSNet、TGT——都把在此数据集上的 MAE 作为核心战绩。它同时是几何图学习(geometry-aware GNN)事实上的标准训练库:3D 坐标仅训练侧可得的设定,天然催生了"2D 推理、3D 训练"的方法范式。
§1.2 战略价值分析
- 规模带来统计力:374.7 万分子 × 连续标签,验证集 73,545 条,MAE 差异可分辨到 0.0001 eV 量级——小数据集上"比 SOTA 高 1%"的噪声在这里可被稳定复现。
- 竞赛双背书:KDD Cup 2021(v1 赛道,>500 队注册、约 150 队参赛)与 NeurIPS 2022 OGB-LSC(v2 赛道)两届竞赛沉淀了完整的方案报告与排行榜,是复现研究中"方法含金量"最易核实的数据集之一。
- 预训练跳板:3D 坐标 + 能隙标签使其成为分子表示学习预训练的首选语料,训练好的模型可迁移到更小的实验性质数据集。
- 许可零摩擦:CC BY 4.0 + ogb 库自动下载,从决定使用到跑通第一个 batch 通常不超过 30 分钟。
- AI-Ready 短板清晰:标签为计算值而非实验值、3D 不全、划分非 scaffold——使用边界明确,可控性强。
- 适用人群:图学习/几何深度学习研究者、分子表示学习团队、需要大规模回归基准的算法工程师、图学习课程教学者。
- 不适配人群:需要实验级性质精度的新材料/药物研发团队(请配合 Molecule3D 或实验数据库)、需要标签元数据(计算参数)完整披露的计量研究、期待 scaffold 标准划分的骨架泛化研究(需自建划分)。
§1.3 横向对比
| 数据集 | 规模 | 任务 | 模态 | 与 PCQM4Mv2 的关系 |
|---|---|---|---|---|
| PCQM4Mv2 | 3,746,619 分子 | HOMO-LUMO gap 回归(MAE) | 2D 图 + 3D(仅 train/valid) | 本文主体;OGB-LSC 赛道 |
| PCQM4M v1 | 3,803,453 分子 | 同一标签定义 | 仅 2D 图 | v2 前身;约 10% SMILES 在 v2 中被更正,两代标签不可混用 |
| QM9 | 万级小分子 | 12+ 种量子化学性质回归 | 2D + 3D | 经典小规模对照基准;适合消融实验,规模差约两个数量级 |
| Molecule3D | PubChemQC 同源分子 | 带实验/计算双标签的回归 | 2D + 3D | 同一计算来源的姊妹基准,提供 random/scaffold 双划分,常作外部验证 |
| ogbg-molpcba | PCBA 子集 | 分子分类(128 任务) | 仅 2D 图 | OGB 系分类赛道;与 PCQM4Mv2 互补构成"回归+分类"双报告口径 |
| PubChemQC | 数百万计算记录 | DFT 计算数据库 | 2D + 3D | PCQM4Mv2 的直接上游数据源(RIKEN 等维护) |
§1.4 版本演进时间轴
- 2020:PCQM4M v1 随 OGB 首版发布,3,803,453 个分子,纯 2D 图,标签为 DFT 计算 HOMO-LUMO gap。
- 2021:KDD Cup 2021 将 PCQM4M 列为大规模图回归赛道(首届 OGB-LSC),超过 500 支队伍注册、约 150 支队伍正式参赛。
- 2021(同年):OGB-LSC 论文(Hu et al., 2021, NeurIPS Datasets and Benchmarks Track. arXiv:2103.09430)发布 PCQM4Mv2:新增 3D 重原子构象、更正约 10% SMILES、总数调整为 3,746,619、划分比例改为 90/2/4/4。
- 2022:NeurIPS 2022 第二届 OGB-LSC 以 PCQM4Mv2 为赛道,WeLoveGraphs 队以 GPS++(112 模型集成)以 test-challenge MAE 0.0719 夺冠;ViSNet 与 NVIDIA 方案以 0.0723 并列第二。
- 2023 至今:数据集冻结于 v2,但持续作为几何图学习新架构(Transformer-M、Uni-Mol+、ViSNet、TGT 等)的首选大规模验证场;官方排行榜持续收录新结果。
§1.5 典型 AI 应用场景
- 分子性质预测架构研发:消息传递网络、图 Transformer、几何感知 GNN 的标准试炼场。
- 分子表示学习预训练:在 374 万分子上预训练后微调至实验性质预测等下游任务。
- 高通量虚拟筛选的代理模型:以 DFT gap 为代理标签训练快速筛查模型,用于光电材料与有机发光分子初筛。
- 竞赛与教学:两届顶会竞赛的完整方案链路,适合作为图学习课程的综合实验。
- 数据引擎研究:划分策略(CID vs scaffold)、标签噪声(DFT 系统性偏差)、分布偏移(20 vs 51 重原子)等数据中心 AI 课题的天然实验台。
场景-资源匹配建议:
| 场景 | 最低资源 | 预期产出 |
|---|---|---|
| 课程作业/教学演示 | Colab + GCN-virtual | 一条完整"下载→训练→评测"链路 |
| 新架构论文基线 | 单卡多日 + GPS 复现 | 与 14 个排行榜数字可比的 MAE |
| 预训练研究 | 多卡 + 数周 | 可迁移分子编码器 |
| 数据中心研究 | CPU 为主 | 划分/偏倚/噪声分析报告 |
§2 化学背景
§2.1 学科体系锚定(ICD-11 不适用)
PCQM4Mv2 为分子量子化学数据集,与 ICD-11 疾病分类体系无任何映射关系,本节以化学学科体系锚定替代:
- 学科归属:计算化学(quantum chemistry)× 图机器学习(graph machine learning)交叉。
- 化学对象:以 C、H、N、O 为主的有机小分子(平均 14 个重原子/分子),少量含硅分子(其中约 46 个存在 2D/3D 不一致的已知问题)。
- 性质锚定:HOMO-LUMO gap 属于分子电子结构性质,对应分子前线轨道(最高占据分子轨道 HOMO 与最低未占分子轨道 LUMO)之间的能量差。
§2.2 结构标识标准映射(SMILES/InChI/CID)
分子结构在 PCQM4Mv2 中的三层标识体系,功能上等价于医学数据集的 ICD/SNOMED 编码映射:
| 标识层 | 内容 | 在数据集中的角色 |
|---|---|---|
| SMILES | 线性文本形式的分子结构式 | 数据集主字段;2D 图由其解析而来 |
| PubChem CID | PubChem 数据库的化合物数字 ID | 官方划分(90/2/4/4)按 CID 切分 |
| 3D 坐标(SDF) | DFT 优化后的重原子笛卡尔坐标 | 补充模态;仅 train/valid 提供 |
注意:SMILES 存在同分子多写法问题(等价 SMILES),v2 已更正约 10% 分子的 SMILES 表示;做去重或匹配时应以 CID 或规范化 SMILES 为准,而非逐字符比对。
SMILES 使用三原则:
- 解析必须用官方 smiles2graph:节点 9 维/边 3 维的编码与顺序以官方实现为唯一标准(坑点 7)。
- 跨版本不逐字比对:v1 与 v2 的同 mol_id 字符串可能不同,含义(分子)以官方更正为准(坑点 6)。
- 手性信息有价值:SMILES 含手性标记(如示例记录中的
@H),而 3D 重原子坐标不含氢——两条模态的信息并不冗余。
§2.3 HOMO-LUMO gap 与 DFT 简介
- HOMO-LUMO gap:分子最高占据轨道(HOMO)与最低未占轨道(LUMO)之间的能量差,单位 eV。它近似决定分子的光学带隙——gap 越小,分子越易吸收长波光子——因此是有机光电材料、染料敏化太阳能电池与 OLED 发光分子设计中的核心筛选量。
- DFT(密度泛函理论):以电子密度替代多体波函数的量子化学计算方法,在精度与算力之间取得工程平衡,是高通量计算筛选的主流选择。PCQM4Mv2 的标签即来自 PubChemQC 项目的 DFT 计算。
- 计算型标签 vs 实验值:DFT 值与实验测量值之间存在系统性偏差(依赖泛函与基组选择)。基于 PCQM4Mv2 训练的模型学到的是"给定计算设置下的 gap",直接外推到实验场景需谨慎(详见 §7.1)。
| 应用领域 | gap 的角色 | PCQM4Mv2 代理模型的用法 |
|---|---|---|
| 有机光电材料 | 光学带隙的一级近似 | 大规模虚拟初筛,缩小 DFT 复算候选集 |
| OLED 发光分子 | 发射波长相关能级差 | 候选分子排序 |
| 染料敏化电池 | 光吸收窗口估计 | 分子库快速过滤 |
| 分子表示学习 | 自监督/监督预训练信号 | 通用分子编码器预训练后微调 |
§2.4 任务定义
- 输入:分子的 2D 拓扑图——节点为原子(9 维特征:原子类型、手性标记、度、形式电荷、手性 E/Z 标记、芳香性、环内/环外等原子属性),边为化学键(3 维特征:键类型、键立体化学、共轭性)。
- 可选输入:train/valid 分子的 DFT 优化 3D 重原子坐标(SDF)。
- 输出:标量——HOMO-LUMO gap(eV)。
- 指标:MAE(平均绝对误差)。官方排行榜 validation MAE 从 GCN-virtual 的 0.1153 到 TGT-At(+RDKit) 的 0.0671(详见 §8.1)。
- 竞赛约束:NeurIPS 2022 赛道对提交方案设有推理预算限制(单 GPU 4 小时内完成 150k 分子推理量级),这直接影响了集成规模与模型选择的权衡。
I/O 规格一览:
| 项 | 规格 |
|---|---|
| 输入格式 | SMILES 字符串(机读),可选 3D 重原子坐标(SDF,train/valid) |
| 图规模 | 平均 14 节点/15 边,无向键存为双向边 |
| 输出 | 标量回归值(eV),shaped [batch, 1] |
| 指标 | MAE(eV),ogb 库内置 Evaluator |
| 评测协议 | 本地 valid 自评 → 官方服务器 test-dev/test-challenge 提交 |
§2.5 分子人群特征
- 平均规模:每分子约 14 个原子、15 条化学键(OGB-LSC 论文口径)。
- 重原子数分布(关键偏倚):train 集仅含 ≤20 重原子的分子;valid/test 集含 ≤51 重原子的分子——这是官方刻意设置的分布偏移,检验模型的尺寸外推能力(详见坑点 1)。
- 元素覆盖:以 CHNO 有机分子为主体,含少量 Si 分子(约 46 个存在 2D 图与 3D 结构不一致)。
- 标签值域:连续值(eV),官方文档未附完整分布直方图,使用前建议自行统计分位数(DAIMS 第 17 项 ⚠️)。
分子"人群画像"速览:
| 画像维度 | train | valid/test | 风险提示 |
|---|---|---|---|
| 重原子数 | ≤20 | ≤51 | 尺寸外推是任务的一部分 |
| 平均原子/键数 | 约 14 / 约 15(全库口径) | 同左 | 小分子主导 |
| 元素覆盖 | CHNO 为主 + 少量 Si | 同左 | 约 46 个 Si 分子 2D/3D 不一致 |
| 划分粒度 | 按 PubChem CID | 同左 | 同骨架相似分子可跨侧 |
§2.6 参考标准
- 标签的"金标准"地位:PCQM4Mv2 的标签不是实验测量值,而是 PubChemQC 项目的 DFT 计算值。它在数据集语境下是唯一真值(ground truth),但在化学语境下是"某计算设置的近似真值"。
- 交叉参考数据库:PubChemQC(上游原始库)、Molecule3D(同源分子的实验/计算双标签版本)、QM9(万级规模多性质对照)。
- 对结果的解读原则:论文中报告的 MAE 是"模型 vs DFT"的误差,不能直接解读为"模型 vs 实验"的误差;引用 Molecule3D 等含实验标签的数据集做外部验证是弥合这一鸿沟的标准做法(§5.5)。
§3 数据集规格
§3.0 版本抉择矩阵
| 决策点 | 用 PCQM4M v1 | 用 PCQM4Mv2(推荐) |
|---|---|---|
| 复现 KDD Cup 2021 竞赛结果 | ✅ 唯一选择 | ❌ 标签与 SMILES 均有变化 |
| 复现 NeurIPS 2022 竞赛/排行榜结果 | ❌ | ✅ 唯一选择 |
| 需要 3D 几何做几何感知预训练 | ❌ 无 3D | ✅ train/valid 提供 SDF |
| 与旧论文数字直接对比 | ✅ 口径一致 | ⚠️ 需注明 v2,约 10% SMILES 更正导致不可比 |
| 生产环境长期使用 | ⚠️ 已被取代 | ✅ 当前最终版 |
两条硬规则:① v1 与 v2 的标签不可混用(约 10% SMILES 更正意味着部分分子与其标签的配对在两代间不同,详见坑点 6);② 引用 MAE 数字时必须注明版本与划分口径(validation 还是 test-dev/test-challenge)。
§3.1 模态详细说明
| 模态 | 内容 | 覆盖范围 | 文件载体 |
|---|---|---|---|
| 2D 分子图 | SMILES 解析得到的原子-键拓扑图,节点 9 维/边 3 维特征 | 全部 3,746,619 分子 | data.csv.gz |
| 3D 构象 | DFT 优化的重原子笛卡尔坐标 | 仅 train/valid 分子 | 3D SDF 压缩包(1.5 GB,md5 fd72bce606e7ddf36c2a832badeec6ab) |
| 标签 | DFT 计算 HOMO-LUMO gap(eV) | 仅 train/valid;test 两套为 NaN | data.csv.gz |
| 划分 | mol_id 到 train/valid/test-dev/test-challenge 的映射 | 全部分子 | split_dict.pt |
§3.2 样本量拆分(官方划分精确行数)
| 划分 | 分子数 | 占比 | 标签 | 3D 坐标 | 用途 |
|---|---|---|---|---|---|
| train | 3,378,606 | 90% | ✅ 公开 | ✅ 提供 | 训练 |
| valid(test-dev 之外的验证集) | 73,545 | 2% | ✅ 公开 | ✅ 提供 | 本地验证/排行榜 validation 榜 |
| test-dev | 73,545 | 4% | ❌ NaN | ❌ 无 | 排行榜公开评测集 |
| test-challenge | 149,923 | 4% | ❌ NaN | ❌ 无 | 竞赛最终评测集 |
| 合计 | 3,746,619 | 100% | — | — | — |
划分按 PubChem CID 进行(见坑点 1),valid 与 test-dev 规模相同(各 73,545)。
对账恒等式(加载后务必核验):
3,378,606 (train) + 73,545 (valid) + 73,545 (test-dev) + 149,923 (test-challenge)
= 3,746,619(总分子数)
四集合互斥且完备;任何对账失败都意味着下载损坏或 v1/v2 混用(坑点 6)。
§3.3 数据格式详情
- data.csv.gz:一行一分子的 CSV(gzip 压缩),核心列为 SMILES 字符串与 HOMO-LUMO gap 数值;test 分子的标签以 NaN 占位。
- split_dict.pt:PyTorch 序列化字典,记录 train/valid/test-dev/test-challenge 四个划分的 mol_id 列表及其与 PubChem CID 的对应。
- 3D SDF 压缩包:1.5 GB(md5 fd72bce606e7ddf36c2a832badeec6ab),解压后为 SDF 格式的重原子 3D 坐标。
- ogb 库二进制:
ogb首次加载时自动下载原始文件并转换为PCQM4Mv2Dataset对象;only_smiles=True时跳过 3D 文件。 - PyG OnDiskDataset:
torch_geometric.datasets.PCQM4Mv2,raw 目录为pcqm4m-v2/raw/data.csv.gz与split_dict.pt,首次运行自动解析为图对象缓存。
文件清单与完整性校验:
| 文件 | 内容 | 校验方式 |
|---|---|---|
| data.csv.gz | 3,746,619 行 SMILES + gap(test 为 NaN) | 解压后行数断言 |
| split_dict.pt | 四划分 mol_id 映射(train/valid/test-dev/test-challenge) | 加载后四集合行数断言(§3.2) |
| 3D SDF 压缩包 | DFT 优化重原子构象,仅 train/valid | md5 = fd72bce606e7ddf36c2a832badeec6ab |
| ogb 转换缓存 | PyG/DGL 二进制图对象 | ogb 版本固定后无需校验 |
§3.4 存储大小
- 下载口径:SMILES+标签 CSV.gz(数百 MB 级)+ 3D SDF 压缩包 1.5 GB(md5 fd72bce606e7ddf36c2a832badeec6ab,下载后务必校验)。
- 预处理后:全量数据(含图对象缓存)约 8 GB。
- 建议预留:磁盘 20 GB(原始 + 缓存 + 中间产物);内存峰值处理单 batch 无压力,全量入内存做统计约需 4-8 GB。
| 环节 | 占用 | 说明 |
|---|---|---|
| 原始下载 | ~1.5 GB SDF + CSV.gz | md5 校验后可删包节省空间 |
| PyG/DGL 缓存 | ~8 GB | processed 目录,删除后需重新解析 |
| 训练期峰值 | 视 batch 与模型 | 2D 模型单卡 16-24 GB 显存常见 |
| 长期归档 | <2 GB | 仅原始文件 + 配置 + md5 即可复现 |
§3.5 标注方式
- 标注类型:计算型标注(computational annotation)——全部标签由 DFT 量子化学计算产生,非人工标注、非实验测量。
- 标签定义:分子 HOMO 轨道能量与 LUMO 轨道能量之差,单位 eV。
- 上游来源:PubChemQC 项目的 DFT 计算记录,经 OGB 团队整理对齐为"SMILES + gap"格式。
§3.6 标注者资质
- 无人类标注者。标签由量子化学计算软件按 PubChemQC 项目的计算流程产生。
- OGB 团队承担整理、更正(v2 更正约 10% SMILES)与划分设计工作。
- 含义务提示:DFT 计算的具体泛函/基组等参数未在 OGB 文档中完整披露,需溯源至 PubChemQC 项目文档(DAIMS 第 11 项 ❌)。
§3.7 数据采集时间范围
- 分子静态、无时间戳:分子结构与计算标签不携带时间维度。
- 整理时间线:2020 年 v1 首发;2021 年 v2 发布(新增 3D、更正 SMILES、调整划分);此后数据冻结。
§3.8 地理覆盖
不适用。PCQM4Mv2 为计算生成数据集,无地理/机构/人群属性;上游 PubChemQC 项目由理化学研究所(RIKEN)等日本研究机构主导维护。
§3.9 采集设备规格
- "采集设备"即计算环境:DFT 计算的软件版本、泛函与基组选择是本数据集的"设备规格"。
- 现状:OGB 官方文档未完整披露上述参数;约 46 个含硅分子的 2D/3D 不一致问题亦被官方归因于来源项目的已知问题。
- 对使用者的影响:无法以计算参数做标签分层修正;解读模型误差时应假设存在未知但一致的系统性计算偏差(详见 §7.2)。
- 给计量型研究的提示:若研究目标依赖计算设置元数据(如泛函敏感性分析),PCQM4Mv2 无法满足;应直接对接 PubChemQC 项目原始记录并自行重建标签链路。
§3.10 深度溯源链
| 环节 | 执行方 | 产出 | 说明 |
|---|---|---|---|
| 1. DFT 计算 | PubChemQC 项目(理化学研究所 RIKEN 等) | 分子 3D 结构 + HOMO/LUMO 能级计算记录 | 原始计算数据库,持续扩充 |
| 2. 分子选取 | OGB 团队 | 与 PubChem CID 对齐的分子列表 | 选取可计算、结构可靠的有机分子 |
| 3. 整理与发布 v1(2020) | OGB 团队 | PCQM4M:3,803,453 分子,仅 2D | 随 OGB 首版发布 |
| 4. 升级与更正 v2(2021) | OGB 团队 | PCQM4Mv2:3,746,619 分子,2D + 3D(train/valid) | 更正约 10% SMILES;划分 90/2/4/4 |
| 5. 分发 | ogb 库 / PyG / DGL | 一行代码自动下载与转换 | GitHub snap-stanford/ogb 维护 |
§4 数据结构详解
§4.0 目录结构预览
pcqm4m-v2/
├── raw/
│ ├── data.csv.gz # 3,746,619 行:SMILES + HOMO-LUMO gap(test 行为 NaN)
│ └── split_dict.pt # train / valid / test-dev / test-challenge 的 mol_id 映射
├── pcqm4m-v2-3d.zip # 3D 重原子构象 SDF(1.5 GB,md5 fd72bce606e7ddf36c2a832badeec6ab)
│ └── *.sdf # 仅 train/valid 分子提供坐标
└── processed/ # 首次加载后生成的图对象缓存(约 8 GB)
├── geometric_data_processed.pt(PyG 口径)
└── ...
§4.1 DAIMS 标准化字段描述表
| 字段/结构 | 类型 | 维度 | 说明 |
|---|---|---|---|
| mol_id | 整数索引 | 1 | 分子唯一编号;split_dict.pt 记录其与 PubChem CID 的对应关系 |
| smiles | 文本 | 变长 | 规范 SMILES 字符串;2D 图的唯一解析来源;v2 更正了约 10% 分子的 SMILES |
| homolumogap | 浮点(eV) | 1 | DFT 计算 HOMO-LUMO 能隙;test-dev/test-challenge 为 NaN |
| 节点特征 | 浮点张量 | 9 维/节点 | 原子类型(one-hot)、手性标记、原子度、形式电荷、手性 E/Z 标记、芳香性、sp 杂化环内/环外等原子属性 |
| 边特征 | 浮点张量 | 3 维/边 | 键类型、键立体化学、共轭性;无向键在实现中通常存储为两条有向边 |
| 3D 坐标 | 浮点张量 | 3×重原子数 | DFT 优化重原子构象;仅 train/valid;氢原子坐标不含 |
节点 9 维特征逐维拆解(ogb 官方 atom_to_feature_vector 口径,每维为类别索引值):
| 维度 | 含义 |
|---|---|
| 1 | 原子序数类别索引(atomic number) |
| 2 | 手性标记(chirality tag) |
| 3 | 原子度(degree,重键数) |
| 4 | 形式电荷(formal charge) |
| 5 | 隐式氢原子数(numH) |
| 6 | 自由基电子数(number of radical electrons) |
| 7 | 杂化方式(hybridization) |
| 8 | 是否芳香(is aromatic) |
| 9 | 是否在环内(is in ring) |
边 3 维特征(每条有向边,ogb 官方 bond_to_feature_vector 口径):
| 维度 | 含义 |
|---|---|
| 1 | 键类型(单键/双键/三键/芳香键) |
| 2 | 键立体化学(bond stereo) |
| 3 | 是否共轭(is conjugated) |
示例记录(PyG 文档口径):('CC(NCC[C@H]([C@@H]1CCC(=CC1)C)C)C', 6.811009678015001)——一个含手性中心的胺类分子,gap 约 6.81 eV。
§4.2 标签分布统计
- 标签性质:连续回归目标,单位 eV;HOMO-LUMO gap 的化学常识值域多在数 eV 量级。
- 官方缺口:官方文档未附完整的标签分布直方图与分位数表(DAIMS 第 17 项 ⚠️)。
- 实践建议:加载后先按划分分别统计 min/mean/std/分位数;train 与 valid 的分布可能因划分方式存在差异,建模前建立基线(如均值预测的 MAE)作为参照。
# 标签分布自检脚本(首次使用必跑)
import torch
ds = PygGraphPropPredDataset(name="PCQM4Mv2", root="dataset/")
split = ds.get_idx_split()
y = ds._data.y.view(-1)
for name in ["train", "valid", "test-dev", "test-challenge"]:
idx = torch.tensor(split[name])
vals = y[idx]
print(name, len(idx),
"n_nan=", int(torch.isnan(vals).sum()),
"min=", float(vals.nanmin()) if (~torch.isnan(vals)).any() else None,
"mean=", float(vals[~torch.isnan(vals)].mean()) if (~torch.isnan(vals)).any() else None)
# 预期:train/valid 有统计值;test-dev/test-challenge 全 NaN
§4.3 关键字段描述性统计
| 统计项 | 数值 | 来源口径 |
|---|---|---|
| 平均原子数/分子 | 约 14 | OGB-LSC 论文 |
| 平均化学键数/分子 | 约 15 | OGB-LSC 论文 |
| train 重原子数上限 | 20 | 官方文档 |
| valid/test 重原子数上限 | 51 | 官方文档 |
| 2D/3D 不一致分子 | 约 46 个(含 Si) | 官方文档 |
§4.4 数据层级关系(三级结构体系)
数据集(3,746,619 分子)
└── 分子(mol_id,对应 PubChem CID)
├── 2D 视图:SMILES → 原子节点(9 维)+ 化学键边(3 维)
├── 3D 视图:重原子笛卡尔坐标(仅 train/valid)
└── 标签视图:homolumogap(eV;test 为 NaN)
- 2D 与 3D 视图通过原子顺序对齐;对齐不总是成立——约 46 个含 Si 分子的 2D 图与 3D 结构不一致(坑点 3),混合使用双模态前必须剔除或单独处理这批分子。
- 氢原子出现在 2D 图的 SMILES 中(若显式写出)但不一定出现在 3D 坐标中(重原子口径),做几何特征时注意口径统一。
§4.5 缺失值情况与信息性缺失编码
- 结构性缺失(设计如此):test-dev 与 test-challenge 的全部 223,468 个分子的标签为 NaN——这是保密设计而非数据事故(DAIMS 第 10 项 ✅),但加载时若不过滤会静默污染训练(坑点 4)。
- 模态性缺失:test 分子无 3D 坐标;任何依赖 3D 输入的模型必须为推理阶段准备 2D-only 或"RDKit 生成构象"的回退路径(坑点 2)。
- 无随机缺失:字段级缺失不存在;SMILES 解析失败属于解析器问题而非数据缺失,需在预处理中显式捕获(坑点 8)。
缺失场景处理决策表:
| 场景 | 性质 | 处理 |
|---|---|---|
| test-dev/test-challenge 标签 NaN | 结构性(保密设计) | 按 split 过滤,不参与训练与本地评测 |
| test 分子无 3D 坐标 | 结构性(模态设计) | 推理走 2D-only 或 RDKit 构象回退 |
| 约 46 个 Si 分子 2D/3D 不一致 | 数据质量问题 | 剔除或单独标记,不入几何训练 |
| SMILES 解析失败 | 解析器问题 | raise + 对账断言,禁止静默跳过(坑点 8) |
§5 数据划分与使用建议
§5.1 官方数据划分
- 划分方式:按 PubChem CID 切分——train 90%(3,378,606)/ valid 2%(73,545)/ test-dev 4%(73,545)/ test-challenge 4%(149,923)。
- 划分文件:split_dict.pt,随数据集分发;mol_id 与 CID 的对应关系以此为准。
- 重要性质:CID 划分不是 scaffold 划分——同系物、同骨架的相似分子可能分属训练与测试两侧(坑点 1);同时 train 与 valid/test 存在重原子数上限差异(20 vs 51)。
§5.2 推荐划分策略
- 主报告口径:无条件使用官方划分,否则结果无法与排行榜(§8.1)对齐。
- 稳健性补充口径:额外报告一个 scaffold split(按 Bemis-Murcko 骨架分组),回答"模型是否记住了骨架"的问题;Molecule3D 的经验显示,同源分子库上 scaffold 口径的改进幅度显著小于 random 口径(ViSNet 论文:random split 提升 33.6% vs scaffold split 提升 6.51%),说明骨架记忆是真实效应。
- 尺寸外推口径:按重原子数分桶(如 ≤20 vs >20)报告分组 MAE,量化跨尺寸泛化——这正是官方 20/51 设定想考察的能力。
# 稳健性对照:Bemis-Murcko 骨架分组划分(scaffold split)
from rdkit import Chem
from rdkit.Chem.Scaffolds import MurckoScaffold
from collections import defaultdict
def scaffold_of(smiles):
mol = Chem.MolFromSmiles(smiles)
return MurckoScaffold.MurckoScaffoldSmiles(mol=mol, includeChirality=False)
scaffolds = defaultdict(list)
for mol_id, smiles in enumerate(train_smiles): # 仅对 train 内部做二次划分
scaffolds[scaffold_of(smiles)].append(mol_id)
# 按 scaffold 组做 GroupShuffleSplit(如 95/5),保证同骨架分子不跨侧
# 报告口径:官方划分 MAE(对齐排行榜)+ scaffold 划分 MAE(对齐骨架泛化)
§5.3 数据泄漏风险防御
- 骨架泄漏:CID 划分下相似分子跨侧分布。防御:补充 scaffold 口径;不要把 test 集上"均值预测都很好"的现象当作模型胜利。
- 3D 信息泄漏:在 train 上用 DFT 3D 训练、在 valid 上也用官方 3D 评测,会高估真实部署性能——真实部署场景(新分子)没有 DFT 构象。防御:推理路径固定为 2D-only 或 RDKit 生成构象(坑点 2)。
- v1/v2 交叉污染:从旧项目复用 v1 缓存/标签做 v2 实验会引入约 10% 的错配。防御:目录隔离 + md5 校验(坑点 6)。
- 特征泄漏:若将"是否为 test 分子"或重原子数等侧信息泄露进特征工程,分组 MAE 会虚高。防御:特征清单评审。
§5.4 交叉验证建议
- 默认单划分:验证集 73,545 条已足够大,MAE 标准误很小;全量 5 折 CV 的算力代价远大于信息增益。
- 小模型/消融研究:可从 train 内部再切 1% 做 dev,避免频繁"偷看"官方 valid 造成模型选择过拟合。
- 竞赛复现:以 valid MAE 做模型选择、test-dev 提交做最终核对,遵循官方两段式协议(§8.3)。
| 场景 | 推荐做法 |
|---|---|
| 常规论文实验 | 单官方划分 + 固定种子;不再做 k 折 |
| 消融研究 | train 内部再切 dev(约 1%),保护 valid 不被"模型选择过拟合" |
| 模型终选 | 用 valid 做一次终评后冻结,test-dev 只提交 1-2 次 |
| 教学/练习 | valid 上做 5 折即可体会 CV 流程,不必动全量 |
§5.5 外部验证
- Molecule3D(首选):与 PCQM4Mv2 同源自 PubChemQC,提供实验/计算双标签与 random/scaffold 双划分;ViSNet 在其 random split 上较基线提升 33.6%、scaffold split 上提升 6.51%(Feng et al., 2023, Nature Communications),是检验"DFT 优势是否泛化到实验标签"的直接标尺。
- QM9:万级多性质回归,验证跨性质迁移。
- PCQM4M v1:验证跨版本稳健性(注意标签不可混用,仅比较口径)。
- ogbg-mol 系列*:分类任务的跨任务泛化参考。
§6 AI 就绪指南
§6.0 云端快速启动
# Google Colab / Kaggle:约 10 分钟跑通首个 batch
!pip install ogb torch torch_geometric
!python -c "
from ogb.graphproppred import PygGraphPropPredDataset
dataset = PygGraphPropPredDataset(name='PCQM4Mv2', root='dataset/')
split_idx = dataset.get_idx_split()
print(len(dataset), len(split_idx['train']), len(split_idx['valid']))
"
- 仅 2D 快速验证可用
only_smiles=True(跳过 3D 文件下载)。 - Colab 免费档即可完成 2D 基线;3D 模型建议 A100 级显卡。
环境固定建议(requirements 片段):
ogb>=1.3.6 # 含 PCQM4Mv2 与 LSC 支持
torch>=2.0
torch_geometric>=2.3
rdkit==2023.09.* # 涉及构象/解析时必须锁定(坑点 8)
§6.1 快速上手(本地 ogb 库版)
from ogb.graphproppred import PygGraphPropPredDataset
from torch_geometric.loader import DataLoader
dataset = PygGraphPropPredDataset(name="PCQM4Mv2", root="dataset/")
split_idx = dataset.get_idx_split() # train / valid / test-dev / test-challenge
train_loader = DataLoader(dataset[split_idx["train"]], batch_size=256, shuffle=True)
valid_loader = DataLoader(dataset[split_idx["valid"]], batch_size=256)
# 标签形状 [batch, 1],单位 eV;评价指标 MAE
- 指标即 MAE:
F.l1_loss(或torchmetrics.MeanAbsoluteError)即可完全对齐官方口径;ogb 库的 Evaluator 体系主要面向分类任务,PCQM4Mv2 回归场景直接计算 MAE 即可。 - 首次运行自动下载并预处理(约 8 GB),请预留磁盘与时间。
最小训练循环骨架(含官方 Evaluator 与 NaN 防御):
import torch, torch.nn.functional as F
from ogb.graphproppred import PygGraphPropPredDataset
dataset = PygGraphPropPredDataset(name="PCQM4Mv2", root="dataset/")
split_idx = dataset.get_idx_split()
model = MyGNN(num_node_features=dataset.num_node_features) # 节点 9 维
opt = torch.optim.Adam(model.parameters(), lr=2e-4)
def train(epoch):
model.train()
for batch in train_loader:
opt.zero_grad()
pred = model(batch) # [batch, 1]
loss = F.l1_loss(pred, batch.y.view(-1, 1)) # L1 = MAE 损失,单位 eV
loss.backward()
opt.step()
@torch.no_grad()
def evaluate(loader):
model.eval()
preds, trues = [], []
for batch in loader:
preds.append(model(batch))
trues.append(batch.y.view(-1, 1))
mae = torch.cat(preds).sub(torch.cat(trues)).abs().mean()
return {"mae_ev": mae.item()}
§6.2 数据获取流程
- 安装 ogb:
pip install ogb(Python 3.8+)。 - 自动下载 2D:
PCQM4Mv2Dataset(only_smiles=True)或 PyGPCQM4Mv2类——自动获取 data.csv.gz 与 split_dict.pt。 - 手动下载 3D(需要几何时):从官方文档页下载 3D SDF 压缩包,校验 md5 = fd72bce606e7ddf36c2a832badeec6ab 后解压。
- 记录版本:在实验记录中固定 ogb 库版本与下载日期;v1/v2 文件名仅差一个字符,务必目录隔离(坑点 6)。
常见下载问题:
| 现象 | 原因 | 处理 |
|---|---|---|
| 下载中断后校验失败 | 网络中断 | 删除残包重下,先校验 md5 再解压 |
| 加载 v2 时提示 v1 结构 | 目录混用/缓存残留 | 清理 root 目录重新下载(坑点 6) |
| 3D 文件解压后缺分子 | 半截包或下载错版本 | md5 必须等于 fd72bce606e7ddf36c2a832badeec6ab |
| 预处理内存不足 | 全量解析峰值 | 限制 DataLoader worker 数或分批解析 |
§6.3 预处理 Pipeline
# 步骤 1:加载官方划分,过滤无标签样本(test 两套 NaN)
import numpy as np
labels = dataset[0].y # 逐样本访问时统一判断 NaN
mask = ~torch.isnan(dataset._data.y.view(-1))
# 步骤 2:SMILES → 2D 图(ogb 官方 smiles2graph,节点 9 维/边 3 维)
from ogb.utils.mol import smiles2graph
graph = smiles2graph("CC(NCC[C@H]([C@@H]1CCC(=CC1)C)C)C")
# graph["node_feat"].shape == [n_atoms, 9]; graph["edge_feat"].shape == [2*n_bonds, 3]
# 步骤 3:剔除已知不一致分子(约 46 个含 Si 分子,官方列表见数据集主页)
# 步骤 4:(可选几何路线)解析 3D SDF → 重原子坐标张量,与 2D 图按原子顺序对齐
# 步骤 5:标准化——gap 标签不建议全局标准化;节点特征已 one-hot,无需缩放
- 官方 smiles2graph 输出双向边(无向键 → 两条有向边),自写模型时极易把边特征维度错写为 3×n_bonds 与 2×n_bonds 混用(坑点 7)。
- 解析失败样本必须显式记录并回填,禁止静默跳过(坑点 8)。
预处理对账清单(跑完 pipeline 后逐项断言):
- [ ] 总样本数 = 3,746,619;train 有标签样本 = 3,378,606;valid = 73,545。
- [ ] test-dev/test-challenge 标签全为 NaN 且已从训练路径排除。
- [ ] 含 Si 不一致分子已剔除(或显式标记),剔除数有记录。
- [ ] 节点特征维度 = 9;边特征维度 = 3;边数 = 2 × 化学键数(坑点 7)。
- [ ] 3D 坐标仅存在于 train/valid 样本(几何路线)。
§6.4 框架加载
| 框架 | 入口 | 说明 |
|---|---|---|
| OGB 原生 | ogb.graphproppred.PygGraphPropPredDataset(name="PCQM4Mv2") |
官方推荐;含 Evaluator |
| OGB(DGL 口径) | ogb.graphproppred.DglGraphPropPredDataset(name="PCQM4Mv2") |
DGL 用户 |
| PyG 数据集类 | torch_geometric.datasets.PCQM4Mv2(root=...) |
OnDiskDataset;raw 为 data.csv.gz + split_dict.pt;部分版本支持 smiles2graph 自定义 |
| 仅 SMILES + CSV | 直接读 data.csv.gz + split_dict.pt | 最透明;适合自建 pipeline 或特征工程研究 |
§6.5 常见坑点
⚠️ 坑点 1:CID 划分不是 scaffold 划分——相似分子跨侧分布 + 重原子数 20/51 偏移(分类:数据划分)
问题:官方 90/2/4/4 划分按 PubChem CID 切分,同骨架同系物可分属训练/测试两侧;同时 train 仅含 ≤20 重原子分子,valid/test 含 ≤51 重原子的更大分子——两重效应叠加,validation MAE 系统性偏乐观。
症状:论文里小幅提升在 scaffold 口径或大分子子集上消失甚至反转;“改进 1%” 的模型换成骨架划分后与基线打平。
解决:
- 简单:主报告用官方划分对齐排行榜;同时用 RDKit 提取 Bemis-Murcko 骨架做一次 scaffold 划分对照实验。
- 进阶:按重原子数分桶(≤20 / 21-51)报告分组 MAE,量化尺寸外推;对照 Molecule3D 的 random/scaffold 双口径(ViSNet:random 提升 33.6% vs scaffold 提升 6.51%)校准预期。
- SOTA:训练侧做尺寸数据增强(对大分子子采样、混合尺寸课程),并在论文中同时报告官方/scaffold/尺寸分组三套口径。
参考:OGB-LSC 官方文档(划分与重原子上限);Feng et al., 2023, Nature Communications(ViSNet/Molecule3D)。
⚠️ 坑点 2:valid/test 没有 3D 坐标——"3D 模型"在评测时无处用武(分类:模态缺失)
问题:3D 重原子构象仅随 train/valid 提供;test-dev/test-challenge 分子无 3D。以 DFT 3D 为输入的模型若没有 2D 回退路径,根本无法在官方评测中出分;用官方 3D 在 valid 上评测还会高估部署性能。
症状:训练时一切正常,提交评测时报输入维度错误;valid 分数很好、test-dev 分数塌陷;竞赛方案被迫在最后一周加做构象生成。
解决:
- 简单:固定"2D 推理"路线(GCN/GIN-virtual、Graphormer、GPS 均为此路线),3D 仅用作训练辅助信号或预训练语料。
- 进阶:推理时用 RDKit 生成构象替代 DFT 构象(Uni-Mol+ 与 TGT-At(+RDKit) 的核心技巧之一,validation MAE 0.0701/0.0671 均依赖该路线),并对 RDKit 版本与构象搜索参数做固定。
- SOTA:蒸馏或一致性训练——让模型对"DFT 构象 vs RDKit 构象"输出一致,缩小训练/推理几何分布差;NeurIPS 2022 前三名方案均配合 Transformer-M 式预训练弥合 2D/3D 断层。
参考:OGB-LSC 官方文档;OGB-LSC @ NeurIPS 2022 竞赛报告(arXiv:2206.08900)。
⚠️ 坑点 3:约 46 个含硅分子的 2D/3D 不一致(分类:数据质量)
问题:官方明示约 46 个 Si 分子的 2D 图(SMILES 解析结果)与 3D 结构不匹配;来源为 PubChemQC 项目的已知问题。混合双模态训练时,这些样本的几何监督信号是错的。
症状:3D 模型的 loss 出现极少数顽固离群样本;消融时剔除"问题分子"后几何相关模块的收益突然变大。
解决:
- 简单:按元素组成过滤含 Si 分子(46 个占比可忽略,直接剔除不影响统计效力)。
- 进阶:对全量数据做 2D/3D 一致性校验(原子数、元素组成、键级近似比对),建立自有"问题分子清单"并随代码入库。
- SOTA:把一致性校验固化为数据准入断言(assertion),任何新增分子数据先过闸门再入训练集。
参考:OGB-LSC 官方文档(known issues)。
⚠️ 坑点 4:test 标签是 NaN——不做过滤直接训练会静默崩溃或污染(分类:工程陷阱)
问题:data.csv.gz 中 test-dev/test-challenge 共 223,468 行的标签为 NaN 占位(保密设计)。全量加载后若不过滤就喂给训练器,轻则 loss 变 NaN 中断训练,重则某些框架静默跳过导致"训练集悄悄变大"的假象。
症状:loss 第一步即 NaN;或训练曲线正常但训练集大小与文档对不上;或把 test 样本当负样本参与了无监督预训练却以为用的是纯 train。
解决:
- 简单:加载后立刻
dropna/按 split_idx 过滤,训练日志打印"有标签样本数"。- 进阶:把"标签非 NaN"写入 Dataset 的
__getitem__断言;数据卡片记录四划分各自的确切行数(§3.2)。- SOTA:自建数据版本控制(DVC/MD5),每次训练前校验"train=3,378,606 有标签"等不变量。
参考:snap-stanford/ogb 仓库 examples/lsc/pcqm4m-v2。
⚠️ 坑点 5:eV、meV 与"毫电子伏口径"混写——跨论文比较先统一单位(分类:标签理解)
问题:官方标签与排行榜一律为 eV;部分论文为展示精度改写为 meV(数值 ×1000)。混读时容易把 0.0864 eV 与 86.4 meV 误当成不同数量级,或把旧文献中不同定义的"gap"(光学 gap vs 基础 gap)混为一谈。
症状:复现结果与论文相差 1000 倍;表格里同一模型出现 0.086 与 86.4 两个"矛盾"数字。
解决:
- 简单:内部统一 eV;引用他人数字时标注原文单位。
- 进阶:在实验记录表格里固定"数值 + 单位 + 划分口径 + 版本"四元组,杜绝单一数字引用。
- SOTA:用 MLflow/W&B 的指标命名规范(如
mae_ev_valid)把单位编码进指标名。参考:OGB-LSC 排行榜(官方单位口径 eV)。
⚠️ 坑点 6:v1 与 v2 标签不可混用——约 10% SMILES 更正意味着配对关系变了(分类:版本管理)
问题:v2 更正了约 10% 分子的 SMILES 表示并调整了划分(train 95%→90%、valid 5%→2%)。用 v1 的缓存/标签配 v2 的 SMILES(或反之)会造成分子-标签错配;两代数据的任何"对比实验"若不注明版本即不可信。
症状:loss 不收敛或显著高于公开数字;新旧结果对比出现系统性异常;同一 mol_id 在两代数据中对应不同结构。
解决:
- 简单:目录命名带版本(
dataset/pcqm4m-v1/、dataset/pcqm4m-v2/),下载时校验 md5(3D 包 fd72bce606e7ddf36c2a832badeec6ab)。- 进阶:实验配置中显式记录 dataset 版本与 ogb 库版本;复现 KDD Cup 2021 用 v1、复现 NeurIPS 2022 用 v2,写进 README。
- SOTA:数据版本控制工具(DVC)管理两代快照,训练脚本启动时断言版本号。
参考:OGB-LSC 官方文档(v2 更新说明)。
⚠️ 坑点 7:节点 9 维、边 3 维、无向键存为双向边——维度失配三连(分类:工程陷阱)
问题:官方 smiles2graph 输出节点特征 9 维、边特征 3 维;无向化学键在实现中存储为两条有向边(边数 = 2×键数)。自写 Dataset/模型时最常见的三类错配:节点特征维数写错、边特征按"键数"而非"有向边数"索引、消息传递里双向边特征方向弄反。
症状:模型第一层就报 shape 错误;或能跑但边特征全零/全一(索引错位);自实现版与官方版同模型不同分。
解决:
- 简单:直接使用 ogb 官方 smiles2graph 与 Evaluator,不自造轮子。
- 进阶:自实现时对单分子做黄金测试——固定一条 SMILES,断言 node_feat.shape[1]==9、edge_feat.shape[0]==2×键数、edge_index 与 edge_feat 逐条对齐。
- SOTA:把官方图构建做成共享库,多模型实验统一入口,杜绝"每篇论文一份 smiles2graph 复刻"。
参考:snap-stanford/ogb 仓库(ogb.utils.mol.smiles2graph 源码)。
⚠️ 坑点 8:SMILES 解析失败静默丢样本——索引错位毁掉整个实验(分类:工程陷阱)
问题:逐条解析 SMILES 构图时,个别分子可能因解析器版本或写法问题失败。若实现里"失败就 continue",样本会静默减少,导致标签数组与 mol_id 数组错位——所有指标失真且难以察觉。
症状:数据集长度比官方少;valid MAE 与公开结果差一个怪异数值;shuffle 前后结果不一致(错位导致)。
解决:
- 简单:解析失败立即 raise,人工排查该样本。
- 进阶:解析器与 RDKit/ogb 版本一并锁定;预处理产物携带"处理成功数 = 3,746,619 - 显式剔除数"的对账断言。
- SOTA:预处理输出带清单文件(成功/剔除/失败三列 mol_id),训练入口校验清单与 split 一致后才放行。
参考:PyG
torch_geometric.datasets.PCQM4Mv2(OnDiskDataset)实现。
§6.6 数据增强
- 2D 增强:SMILES 随机化(同分子多写法)、子图掩码——对图 Transformer 的正则化收益中等,注意保持标签不变性。
- 3D 增强:随机旋转/平移(等变模型免费)、坐标噪声注入——仅 train 侧可用;推理侧统一 RDKit 构象(坑点 2)。
- 构象重生成:对 train 分子用 RDKit 生成额外构象做一致性训练,弥合"DFT 构象 vs 推理构象"的分布差(NeurIPS 2022 前列方案的共同做法)。
- 不建议:标签侧增强(gap 是确定性计算值,无噪声可模拟);跨数据集混入 v1 标签(坑点 6)。
# 几何一致性训练的典型形态(伪代码)
for batch in train_loader:
dft_coords = batch.coords3d # 官方 DFT 构象(train 独有)
rdk_coords = rdkit_conformers(batch.smiles) # RDKit 生成构象(推理口径)
loss = task_loss(model(batch, dft_coords), batch.y) \
+ lambda_ * consistency_loss(model(batch, dft_coords),
model(batch, rdk_coords))
# Uni-Mol+ / TGT-At 路线的核心思想:让模型对两种构象源输出一致
§6.7 模型推荐
| 梯队 | 模型 | validation MAE (eV) | 适合场景 |
|---|---|---|---|
| 基线 | GCN-virtual | 0.1153 | 管线打通、快速迭代 |
| 基线 | GIN-virtual | 0.1083 | 同上,略强 |
| 中坚 | TokenGT / GRPE / EGT | 0.0910 / 0.0890 / 0.0869 | 图 Transformer 起点对照 |
| 中坚 | Graphormer / GPS | 0.0864 / 0.0858 | 预训练 + 结构编码路线 |
| 强基线 | GEM-2 / Transformer-M / Global-ViSNet | 0.0793 / 0.0787 / 0.0784 | 几何/预训练加持 |
| 前沿 | GPS++ / Uni-Mol+ / TGT-At(+RDKit) | 0.0778 / 0.0701 / 0.0671 | 复现 SOTA 或在其上改进 |
选型逻辑:算力有限 → GPS 一把梭(单模型性价比最高);追求极限 → 3D/RDKit 构象路线(Uni-Mol+、TGT)或集成(NeurIPS 2022 冠军 GPS++ 为 112 模型集成,test-challenge MAE 0.0719);新架构论文 → 至少对比 Graphormer 与 GPS。
模型路线三条判断题:
- 推理端拿不到 3D?→ 2D-only 路线(Graphormer/GPS 家族),否则评测协议上不去分。
- 有 RDKit 工程能力?→ 构象提升路线(Uni-Mol+/TGT-At),进 0.070 区间。
- 有集群算力?→ Transformer-M 预训练 + 集成,对标竞赛前三。
§6.8 计算资源需求
- 2D 基线(GCN/GIN-virtual):单张消费级 GPU 数小时-1 天;预处理 CPU 数十分钟。
- 图 Transformer(Graphormer/GPS 级):单卡数天或 4-8 卡 1 天内;全量 374 万样本一个 epoch 的吞吐是主要瓶颈。
- SOTA 复现:Uni-Mol+/TGT 级需要 RDKit 构象生成的 CPU 集群 + 多卡训练;冠军方案 GPS++ 为 112 模型集成,个人复现建议只复现单模型 GPS++ 核心(valid 0.0778)。
- 竞赛预算参考:NeurIPS 2022 赛道要求提交方案可在单 GPU 4 小时内完成 150k 分子量级的推理——选型时把推理预算当硬约束。
| 实验类型 | 典型配置 | 时间量级 |
|---|---|---|
| 管线打通(GCN-virtual 子采样) | 单张消费级 GPU | 数小时 |
| 基线全量训练(GCN/GIN-virtual) | 单卡 24-48 GB | 1-2 天 |
| 图 Transformer(GPS 级) | 4-8 卡 A100 | 1-3 天 |
| 构象路线(Uni-Mol+/TGT 级) | 多卡 + RDKit 构象 CPU 集群 | 3-7 天 |
| 竞赛级(112 模型集成 GPS++) | 大规模集群 | 竞赛周期级 |
预处理 CPU 时间:首次 smiles2graph 全量解析约需数十分钟到数小时(单机),PyG 会缓存为二进制对象,后续启动秒级。
§6.9 评估指标
- 唯一官方指标:MAE(eV),越低越好;ogb 库提供专用 Evaluator。
- 双榜口径:validation 榜(valid 73,545,可无限次自评)与 test 榜(test-dev 73,545 + test-challenge 149,923,需官方提交)——论文引用时必须注明口径。
- 分层报告(强烈建议):按重原子数分桶的 MAE、scaffold 划分 MAE——单值 MAE 会掩盖尺寸外推与骨架记忆两大系统性问题(坑点 1)。
- 基线参照:均值预测与 GCN-virtual 0.1153 是"这条管线是否活着"的最快检验。
分层 MAE 自评模板(量化尺寸外推与骨架记忆):
@torch.no_grad()
def stratified_mae(loader, heavy_atom_counts):
preds, trues = predict_all(loader)
err = (preds - trues).abs()
for lo, hi in [(1, 20), (21, 35), (36, 51)]:
mask = (heavy_atom_counts >= lo) & (heavy_atom_counts <= hi)
print(f"heavy_atoms [{lo},{hi}] n={mask.sum()} MAE={err[mask].mean():.4f}")
# train 分子全部落在 [1,20];>20 的桶只在 valid/test 出现——差值即外推代价
§6.10 MLOps 笔记
- 数据版本化:ogb 库版本 + 数据 md5 + split 版本三要素入实验记录;v1/v2 目录隔离(坑点 6)。
- 可复现性:固定 smiles2graph 实现来源(官方 vs 自实现会在 0.001 eV 量级产生差异);记录 RDKit 版本(凡涉及构象)。
- 评测纪律:valid 频繁自评可以,test-dev 提交要节制;排行榜提交记录(时间、代码版本、结果)随论文归档。
- 监控:训练中监控 loss NaN(坑点 4 的早期信号)与每 epoch 样本数(坑点 8 的早期信号)。
- 发布:模型卡片注明训练数据版本、划分口径与"DFT 标签"性质声明,避免下游误用于实验性质预测。
依赖版本锁定表(复现实验的最低记录要求):
| 依赖 | 为什么必须锁定 |
|---|---|
| ogb 库版本 | 数据下载、smiles2graph、划分文件解析行为随版本演进 |
| PyTorch / PyG / DGL | 图对象缓存格式与算子行为 |
| RDKit | SMILES 解析与构象生成结果直接依赖其版本(坑点 2/8) |
| 数据 md5 | 3D 包 fd72bce606e7ddf36c2a832badeec6ab;v1/v2 目录隔离(坑点 6) |
§7 质量评估与局限性
§7.1 已知偏倚
- 尺寸偏倚(官方刻意):train ≤20 重原子 vs valid/test ≤51 重原子——模型在新尺寸区间外推是任务的一部分,任何"全量平均 MAE"都被该设计部分主导。
- 来源选择偏倚:分子来自 PubChemQC 项目的选择口径——倾向可计算、结构稳定的有机小分子(平均 14 原子),不含金属配合物、自由基等复杂体系,覆盖面远小于化学空间。
- 计算标签偏倚:DFT 值与实验值存在系统性偏差(依赖计算设置,且设置未完整披露,见 §3.9);模型学到的是"逼近该计算设置",不是逼近化学现实。
- 划分偏倚:CID 划分使同骨架相似分子跨侧分布,validation 分数包含"骨架记忆"成分(坑点 1)。
§7.2 标签质量评估
- 内部一致性:高——同一计算设置产生,无人工标注的主观性;约 46 个 2D/3D 不一致分子与约 10% SMILES 更正说明 OGB 团队做过实质性清洗。
- 外部效度:中——以 DFT 为参考标准(§2.6),与实验 gap 的偏差未在数据集内提供;需要实验口径时请转 Molecule3D。
- 精度上限:MAE 的天花板由 DFT 计算本身的收敛性决定;追求 0.001 eV 以下的改进可能是在拟合计算噪声。
- 已知污点:约 46 个含 Si 分子的 2D/3D 不一致(官方记录);约 10% SMILES 在 v2 中被更正(说明 v1 存在真实的表示错误)——两者均提示"上游计算数据库的质量边界"。
- 标签稳定性:v2 冻结后未再修订;若上游 PubChemQC 修订计算,官方未承诺同步更新(截至检索日 v2 仍为最终版)。
§7.3 泛化性讨论
- 跨尺寸:20→51 重原子的外推是官方设计的考点;VRGraph 类大分子、聚合物、蛋白配体场景需另行验证。
- 跨化学空间:CHNO 为主的训练分布对含金属、含卤素、离子体系的外推无保证。
- 跨标签体系:向实验性质迁移时建议先用 Molecule3D 校准(§5.5),再下结论。
- 跨表示:只学过 2D 的模型在需要立体化学精细区分的任务上可能不足(SMILES 手性标记信息有限)。
泛化性自查表(论文写作前逐项回答):
| 泛化方向 | 自查问题 | 验证手段 |
|---|---|---|
| 跨尺寸 | 大分子桶 MAE 是否失控? | 分层 MAE(§6.9) |
| 跨骨架 | scaffold 划分下还剩多少收益? | Murcko 分组划分(§5.2) |
| 跨标签体系 | DFT 优势能否迁移到实验值? | Molecule3D 外部验证(§5.5) |
| 跨数据规模 | 小样本微调是否仍稳? | 子采样曲线 |
§7.4 伦理考量
- 不适用人类受试者议题:数据为计算生成的分子结构,无个人数据、无隐私、无知情同意问题(DAIMS 第 24 项 ✅)。
- 双用途提示:分子性质预测属通用化学 AI 能力;向药物设计等场景迁移时,使用者需自行承担相应领域的合规审查义务——本数据集本身不携带此类限制(CC BY 4.0)。
- 环境影响:374 万分子的 DFT 计算由上游项目完成,复用该数据集避免了大量重复计算;但 SOTA 竞赛式的大规模集成训练有可观的算力碳足迹,建议在论文中报告。
§7.5 公平性评估
- 传统数据集公平性(人群/亚组)不适用:无人口统计学属性。
- 分子子空间公平性(可做):按元素组成、环系类型、尺寸分桶检查模型误差分布——例如"含氮分子 vs 纯烃分子的 MAE 差异",是本数据集上公平性研究的正确打开方式。
- 已知风险点:尺寸分桶误差(20/51 偏移)与骨架记忆(scaffold)是两个最可能造成"子空间精度悬殊"的因素。
§7.6 数据漂移提示
- 无时间漂移:分子为静态对象,数据集已冻结于 v2,不存在现实世界数据随时间变化的问题。
- 真实漂移源是"工具链":RDKit/PyG/ogb 版本变化会改变解析与构象生成的输出(SMILES 解析失败、构象不同),等效于隐性的数据分布漂移——锁定依赖版本是最好的防御(坑点 8)。
- 部署侧漂移:若模型上线对接真实分子库(如新 CID 批次),注意输入分子可能超出 train 的 ≤20 重原子分布。
依赖漂移检查清单(上线/换机前逐项过一遍):
- [ ] RDKit 版本与建模时一致?解析与构象结果可能不同。
- [ ] ogb 库版本一致?smiles2graph 输出维度/顺序随版本演进。
- [ ] 3D 包 md5 校验通过?杜绝半截下载或 v1 混入。
- [ ] 未知元素/超大分子入口拦截?train 未见元素与 >51 重原子分子需显式策略。
- [ ] 输出单位标注 eV?下游系统不得二次换算。
§7.7 DAIMS 24 项数据就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | data.csv.gz 一行一分子的 SMILES + gap |
| 2 | 有唯一标识符列 | ✅ | mol_id 唯一索引;split_dict.pt 记录其与 PubChem CID 的对应 |
| 3 | 无 Unicode 或特殊字符 | ✅ | SMILES 为 ASCII 文本,无特殊字符问题 |
| 4 | 无重复行 | ⚠️ | 官方未提供去重协议;含约 46 个已知 2D/3D 不一致分子,需自行剔除 |
| 5 | 缺失值已识别并编码 | ⚠️ | test 标签 NaN 有官方说明,但文件无独立缺失掩码列,加载时需按 split 过滤 |
| 6 | 标签列被明确标识 | ✅ | homolumogap 列为明确回归靶标,定义与单位(eV)官方注明 |
| 7 | 已对罕见类别(<3%)进行分组 | ⚠️ | 连续回归无类别分组需求;gap 值域的长尾分布需自行分箱检查 |
| 8 | 偏倚评估已完成 | ✅ | 尺寸偏移(20/51)、来源选择偏倚、计算标签偏倚均已官方或本文记录(§7.1) |
| 9 | 有完整的数据字典 | ✅ | 节点 9 维/边 3 维特征逐维说明见官方文档与 §4.1 |
| 10 | 对"信息性缺失"有明确编码解释 | ✅ | test NaN 为刻意保密而非意外缺失,官方文档明确 |
| 11 | 数据采集设备和设置已记录 | ❌ | DFT 计算的具体泛函/基组/软件版本未在 OGB 文档完整披露,需溯源 PubChemQC 项目 |
| 12 | 已移除完全共线性变量 | ⚠️ | 官方特征(9 维/3 维)未做共线性处理,发布即原始口径 |
| 13 | 对编码的映射标准已说明 | ✅ | SMILES 标准 + 官方 smiles2graph 实现(9 维节点/3 维边)定义明确 |
| 14 | 对时间戳的处理已明确说明 | ⚠️ | 分子无时间维度;但 PubChemQC 计算批次/软件版本差异未记录 |
| 15 | 训练/验证/测试划分建议已给出 | ✅ | 官方 90/2/4/4 划分文件随数据集分发(split_dict.pt) |
| 16 | 数据泄漏风险已被讨论 | ✅ | 骨架记忆、3D 推理泄漏、v1/v2 混用均有讨论(§5.3) |
| 17 | 标签分布已被分析 | ⚠️ | 官方未附 gap 分布直方图/分位数表,使用前需自行统计 |
| 18 | 选择性测量偏倚已被讨论 | ✅ | PubChemQC 分子选择口径与尺寸偏倚已记录(§7.1) |
| 19 | 外部验证建议已给出 | ✅ | Molecule3D(同源双标签)/ QM9 / v1 / ogbg-mol* 路径齐备(§5.5) |
| 20 | 数据更新和版本信息已记录 | ✅ | v1→v2 更新点(3D 新增、约 10% SMILES 更正、比例调整)官方完整记录 |
| 21 | 最小必要预处理脚本已提供 | ✅ | ogb/PyG 官方加载器 + examples/lsc/pcqm4m-v2 官方代码 |
| 22 | 合规使用要求已明确 | ✅ | CC BY 4.0,开放商用,署名要求明确 |
| 23 | 多模态对齐方法已说明 | ⚠️ | 2D/3D 按原子顺序对齐,但约 46 个 Si 分子不一致,对齐断言需自建 |
| 24 | 去标识化方法已被记录 | ✅ | 不适用:计算生成数据,无人类受试者与个人身份信息 |
DAIMS 评分:19.5 / 24
评分解读:优秀——16 个 ✅ 项中多数来自"官方划分完备、特征字典明确、许可零摩擦、上游可溯源"的硬实力;7 个 ⚠️ 与 1 个 ❌ 集中在"计算参数披露不全、官方统计缺口、2D/3D 对齐遗留问题"。
对你意味着什么:这是一个"拿来就能训,但边界要自己画"的数据集。16 项 ✅ 保证从安装到第一个 batch 半小时内可完成、结果可与全球排行榜对齐;但 4 件事必须自己动手——① 过滤 test 的 NaN 标签(否则训练静默污染);② 剔除约 46 个含 Si 不一致分子(几何路线必做);③ 自建 scaffold/尺寸分层评测(官方单值 MAE 会掩盖骨架记忆与尺寸外推);④ 锁定 RDKit/ogb 版本(唯一真实的"漂移"来源)。与同领域数据集相比,PCQM4Mv2 的 DAIMS 短板几乎全部来自"计算型标签"这一先天属性而非整理质量——在分子基准里,它的工程就绪度属于第一梯队。
§7.8 外部验证矩阵
| 外部数据集 | 与 PCQM4Mv2 的关系 | 已核实证据 | 建议用途 |
|---|---|---|---|
| Molecule3D | 同源自 PubChemQC,含实验/计算双标签,random/scaffold 双划分 | ViSNet 迁移后 random split 提升 33.6%、scaffold split 提升 6.51%(Feng et al., 2023, Nature Communications) | 验证 DFT 优势向实验标签的迁移 |
| QM9 | 万级多性质小分子基准 | 公认对照库 | 跨性质、跨规模对照 |
| PCQM4M v1 | 前代版本 | 官方 v2 更新说明 | 跨版本稳健性检查(勿混标签) |
| ogbg-molpcba | OGB 系分子分类赛道 | 官方同门数据集 | 回归→分类跨任务泛化 |
§8 基准性能与生态
§8.1 排行榜(validation MAE,单位 eV)
官方排行榜 validation 榜(OGB-LSC 口径,截至本文检索日 2026-09 的公开收录结果,按 MAE 升序):
| 模型 | validation MAE (eV) | 技术路线 |
|---|---|---|
| TGT-At(+RDKit) | 0.0671 | 图 Transformer + RDKit 构象辅助 |
| Uni-Mol+ | 0.0701 | 2D→3D 构象提升 Transformer |
| GPS++ | 0.0778 | GPS 家族竞赛版(NeurIPS 2022 冠军核心) |
| Global-ViSNet | 0.0784 | 等变图网络 + 全局注意力 |
| Transformer-M | 0.0787 | 2D/3D 双通道预训练 |
| GEM-2 | 0.0793 | 几何增强消息传递 |
| GPS-deep | 0.0852 | GPS 加深版 |
| GPS | 0.0858 | 通用图 Transformer(MPNN+注意力混合) |
| Graphormer | 0.0864 | 中心性编码图 Transformer |
| EGT | 0.0869 | 边增强全局注意力 |
| GRPE | 0.0890 | 相对位置编码图 Transformer |
| TokenGT | 0.0910 | 纯 Transformer 图学习 |
| GIN-virtual | 0.1083 | 消息传递 + 虚拟节点 |
| GCN-virtual | 0.1153 | 经典基线 + 虚拟节点 |
引用注意:以上为 validation 榜数字;竞赛/最终成绩常报 test-challenge 口径(冠军 0.0719),两套口径不可混排一张表。
test-challenge 榜(NeurIPS 2022 OGB-LSC 竞赛最终成绩,arXiv:2206.08900):
| 名次 | 方案/队伍 | test-challenge MAE (eV) | 备注 |
|---|---|---|---|
| 1 | GPS++(WeLoveGraphs 队) | 0.0719 | 112 模型集成 |
| 2(并列) | ViSNet | 0.0723 | 等变几何图网络 |
| 2(并列) | NVIDIA 方案 | 0.0723 | 工程化集成方案 |
| — | 共同底座 | — | 前三名均使用 Transformer-M 预训练 |
§8.2 SOTA 总结与选型建议
- 当前战绩:NeurIPS 2022 OGB-LSC 竞赛冠军 WeLoveGraphs 队以 GPS++(112 模型集成)取得 test-challenge MAE 0.0719;ViSNet 与 NVIDIA 方案以 0.0723 并列第二;前三名方案均使用 Transformer-M 预训练作为底座(OGB-LSC @ NeurIPS 2022 报告,arXiv:2206.08900)。
- 路线分化:2D-only 路线的天花板约为 0.086(Graphormer/GPS 档);加入构象/RDKit 几何后进入 0.070 区间(Uni-Mol+、TGT-At);集成与预训练叠加后进入 0.072 以下(竞赛前三)。
- 性价比建议:单模型场景 GPS(0.0858)是复现门槛与性能的最佳折中;两条改进杠杆——几何信息(+约 0.008 eV)与预训练/集成(+约 0.005-0.01 eV)——的收益已被排行榜与竞赛结果双重验证。
| 改进杠杆 | 证据 | 收益量级 |
|---|---|---|
| 3D/构象信息 | Uni-Mol+ 0.0701、TGT-At(+RDKit) 0.0671 vs 2D 前沿约 0.078 | 约 0.008 eV |
| Transformer-M 预训练 | NeurIPS 2022 前三名共同底座(arXiv:2206.08900) | 约 0.005-0.01 eV |
| 模型集成 | GPS++ 112 模型集成夺冠(0.0719) | 约 0.005 eV |
| 虚拟节点/结构编码 | GCN-virtual 0.1153、Graphormer 0.0864 | 架构代际差异 |
§8.3 官方评测协议
- 本地验证:在 valid(73,545)上自评 MAE,随时可做、无限次。
- 公开评测:向 OGB 官方评测服务器提交 test-dev 预测,进入公开榜。
- 竞赛评测:test-challenge 预测仅在竞赛期提交,决定最终名次;标签永不公开。
- 提交物:按 mol_id 顺序的预测文件;NeurIPS 2022 附加推理预算约束(单 GPU 4 小时内完成 150k 分子量级推理)。
| 环节 | 数据 | 标签 | 谁能看到分数 |
|---|---|---|---|
| 本地验证 | valid(73,545) | 公开 | 无限次自评 |
| 公开评测 | test-dev(73,545) | 官方持有 | 提交后显示,计入公开榜 |
| 竞赛终评 | test-challenge(149,923) | 官方持有 | 竞赛期提交,决定名次 |
§8.4 相关数据集
| 数据集 | 关系 | 关键差异 | 何时用它 |
|---|---|---|---|
| PubChemQC | 上游原始库 | 原始 DFT 记录,含计算元数据 | 需要计算参数溯源时 |
| PCQM4M v1 | 前代 | 3,803,453 分子,纯 2D | 复现 KDD Cup 2021 |
| Molecule3D | 姊妹基准 | 同源 + 实验双标签 + random/scaffold 双划分 | 实验口径外部验证 |
| QM9 | 对照基准 | 万级规模、多性质 | 小规模消融 |
| ogbg-molhiv/molpcba | 同门分类赛道 | 分类任务、仅 2D | 跨任务泛化报告 |
§8.5 关键论文 Top 10
- Hu, W. et al., 2020, “Open Graph Benchmark: Datasets for Machine Learning on Graphs”, NeurIPS. arXiv:2005.00687(OGB 框架与 v1 语境)
- Hu, W. et al., 2021, “OGB-LSC: A Large-Scale Challenge for Machine Learning on Graphs”, NeurIPS Datasets and Benchmarks Track. arXiv:2103.09430(数据集主引用)
- OGB-LSC 组织方, 2022, “OGB-LSC @ KDD Cup 2021 and NeurIPS 2022 竞赛报告”, arXiv:2206.08900(两届竞赛方案与结果汇总)
- Ying, C. et al., 2021, “Do Transformers Really Perform Badly for Graph Representation?”, NeurIPS(Graphormer,validation 0.0864)
- Rampášek, L. et al., 2022, “Recipe for a General, Powerful, Scalable Graph Transformer”, NeurIPS(GPS,validation 0.0858)
- Kim, J. et al., 2022, “Pure Transformers are Powerful Graph Learners”, NeurIPS(TokenGT,validation 0.0910)
- Feng, S. et al., 2023, “ViSNet 相关几何图学习工作”, Nature Communications(ViSNet;Molecule3D 外部验证证据,random 提升 33.6% / scaffold 提升 6.51%)
- Nakayama, H. et al., PubChemQC 项目, https://pubchemqc.riken.jp/ (DFT 计算标签的上游来源)
- Transformer-M 团队, 2023, “Transformer-M 预训练方法”(validation 0.0787;NeurIPS 2022 前三名共同底座)
- Uni-Mol+ 团队, 2023, “Uni-Mol+ 构象提升方法”(validation 0.0701,2D 推理 + 构象路线代表)
条目 4-6 的 validation 数字为官方排行榜收录口径;条目 9-10 以排行榜与竞赛报告为出处,写作时以官方页面最新收录为准。
§8.6 社区活跃度
- 引用体量:OGB-LSC 论文 Google Scholar 633+ 次、Semantic Scholar 451 次(截至 2026-09)——考虑到其为 2021 年发布的数据集论文,引用增速稳定。
- 竞赛参与:KDD Cup 2021(v1 赛道)超过 500 队注册、约 150 队正式参赛;NeurIPS 2022 赛道延续热度,产出了一批开源方案仓库。
- 代码生态:snap-stanford/ogb 仓库持续维护;PyG 与 DGL 均内置一等公民级加载支持;主流图学习框架教程均以 PCQM4Mv2 为回归示例。
社区时间线速览:
- 2020:OGB 首版发布,PCQM4M(v1)进入图学习主赛道视野。
- 2021:KDD Cup 2021 竞赛(>500 队注册、约 150 队参赛);同年 OGB-LSC 论文发布 v2。
- 2022:NeurIPS 2022 竞赛收官,GPS++/ViSNet/NVIDIA 三强定格 test-challenge 榜。
- 2023 起:数据冻结、排行榜持续收录,转向"几何图学习标准试炼场"角色。
§8.7 生态快照
- 教科书级基线链:从 GCN-virtual 到 GPS++ 的完整结果链全部可复现,是论文写作中"基线数字从哪来"问题最易回答的数据集。
- 竞赛方案开源:NeurIPS 2022 前列方案(GPS++、ViSNet、NVIDIA)均有公开技术报告,Transformer-M 预训练权重的公开使"站在前三名肩膀上"成为可能。
- 下游辐射:作为预训练语料辐射至实验性质预测、分子生成评价、构象预测(Uni-Mol+ 方向)等多个子领域。
- 教学渗透:图学习课程与教程(PyG 官方教程等)普遍以其为大规模回归案例。
- 复现友好度评级(本文判断):★★★★☆——数据/代码/划分全公开且 md5 固定,唯一门槛是 SOTA 级算力与 RDKit 构象工程。
| 生态维度 | 状态 | 说明 |
|---|---|---|
| 官方维护 | ✅ 活跃 | snap-stanford/ogb 持续维护,OGB-LSC 页面收录新结果 |
| 框架支持 | ✅ 原生 | PyG PCQM4Mv2 / DGL DglGraphPropPredDataset 一等支持 |
| 竞赛方案开源 | ✅ 丰富 | KDD Cup 2021 与 NeurIPS 2022 均有公开方案报告 |
| 教程覆盖 | ✅ 广泛 | 图学习教程标配回归示例 |
| 预训练权重 | ⚠️ 部分 | Transformer-M 等公开,部分竞赛集成方案仅报告不发放 |
§9 相关资源与引用
官方资源
- 数据集主页(含下载、特征说明与已知问题):https://ogb.stanford.edu/docs/lsc/pcqm4mv2/
- OGB-LSC 排行榜:https://ogb.stanford.edu/docs/lsc/leaderboard/
- 官方代码仓库:https://github.com/snap-stanford/ogb
- OGB-LSC 论文:https://arxiv.org/abs/2103.09430
- 上游数据库 PubChemQC:https://pubchemqc.riken.jp/
- 许可证全文:https://creativecommons.org/licenses/by/4.0/
BibTeX 引用
% 1) 数据集主引用(OGB-LSC 论文)
@inproceedings{hu2021ogblsc,
title={OGB-LSC: A Large-Scale Challenge for Machine Learning on Graphs},
author={Hu, Weihua and Fey, Matthias and Zitnik, Marinka and Dong, Yuxiao and Ren, Hongyu and Liu, Bowen and Catasta, Michele and Leskovec, Jure},
booktitle={NeurIPS Datasets and Benchmarks Track},
year={2021},
note={arXiv:2103.09430}
}
% 2) OGB 框架论文(v1 与 OGB 生态语境)
@inproceedings{hu2020ogb,
title={Open Graph Benchmark: Datasets for Machine Learning on Graphs},
author={Hu, Weihua and Fey, Matthias and Zitnik, Marinka and Dong, Yuxiao and Ren, Hongyu and Liu, Bowen and Catasta, Michele and Leskovec, Jure},
booktitle={NeurIPS},
year={2020},
note={arXiv:2005.00687}
}
文本引用格式
- 首次引用:PCQM4Mv2(Hu et al., 2021, NeurIPS Datasets and Benchmarks Track. arXiv:2103.09430),数据源自 PubChemQC 项目(https://pubchemqc.riken.jp/ )。
- 排行榜数字引用:OGB-LSC 官方排行榜(https://ogb.stanford.edu/docs/lsc/leaderboard/ ,截至检索日期)。
- 竞赛结果引用:OGB-LSC 竞赛报告(arXiv:2206.08900)——冠军 GPS++ test-challenge MAE 0.0719 等。
许可与署名速览
- 许可:CC BY 4.0——允许商用、修改、再分发;唯一硬性要求是署名。
- 最低署名实践:论文/产品说明中引用 Hu et al., 2021(arXiv:2103.09430)并注明数据经 OGB 团队整理、源自 PubChemQC 项目。
- 禁止暗示:不得暗示 OGB 团队或 PubChemQC 项目为你的衍生数据/模型背书。
§10 AI 使用声明卡
§10.1 AI 模型使用
- 本页面由千方病案医数集数据集百科写作流水线(AI 写作 agent)起草,采用"检索核实 → 事实清单 → 结构化写作 → 自动校验"四阶段流程。
- 全部规模数字、划分数字、竞赛结果与许可条款均经检索核实并记录于事实清单(FACTS.md);未核实线索(如种子线索中的"DFT B3LYP/6-31G(2df,p) 泛函基组细节"与"Kaggle 竞赛"说法)已按纪律省略或改写。
§10.2 AI 参与范围
- AI 起草:全部章节初稿、表格构建、代码示例、DAIMS 逐项评估。
- 人工审核:编辑部对 §2 化学背景、§5 划分策略、§7 质量评估做交叉审核;对全部数字做来源核对。
- 机器校验:check_md.py 自动校验结构完整性、坑点数量、纯净度与代码围栏配对。
§10.3 输入来源
| 来源类型 | 内容 | 用途 |
|---|---|---|
| 官方文档 | OGB-LSC 数据集页(划分、特征、已知问题、许可) | 主要事实来源 |
| 官方代码仓库 | snap-stanford/ogb(examples/lsc/pcqm4m-v2、加载器实现) | 工程细节与文件结构 |
| 竞赛报告 | OGB-LSC @ NeurIPS 2022(arXiv:2206.08900) | 竞赛结果与前三名方案 |
| 论文 | arXiv:2103.09430(OGB-LSC)、ViSNet 相关 Nature Communications 论文 | 规模数字与外部验证证据 |
| 排行榜 | OGB-LSC 官方排行榜 | validation MAE 数字(截至 2026-09 检索) |
§10.4 人工校验表
| 校验项 | 校验方法 | 结果 |
|---|---|---|
| 总分子数与各划分行数 | 官方文档交叉核对(3,746,619 / 3,378,606 / 73,545 / 73,545 / 149,923) | ✅ 通过 |
| 许可条款 | 官方文档与 CC BY 4.0 原文核对 | ✅ 通过 |
| 竞赛结果 | 竞赛报告(arXiv:2206.08900)与排行榜互证 | ✅ 通过 |
| 3D 文件 md5 | 官方仓库 README 记录(fd72bce606e7ddf36c2a832badeec6ab) | ✅ 通过 |
| 种子线索真实性 | "Kaggle 竞赛"未获证实,已改为官方评测服务器口径;DFT 泛函/基组细节未获证实,已省略 | ✅ 已修正 |
| 引用计数 | Google Scholar 633+ / Semantic Scholar 451(截至 2026-09 检索) | ✅ 通过 |
§10.5 AI 生成章节标注
- 全部章节由 AI 起草;其中 §1.3 横向对比、§6.5 坑点、§7.7 DAIMS 评估为 AI 综合判断型内容(基于已核实事实的整理与推断),已在相应章节内注明判断依据。
- 排行榜数字与竞赛结果为检索时点快照,AI 无法保证 2026-09 之后新增的排行榜结果;引用前请查阅官方页面。
§10.6 最后审核
- 审核日期:2026-09-13
- 审核者:千方病案医学编辑部
- 审核范围:全篇结构与数字;化学表述(§2、§7.2)与工程表述(§4、§5、§6)交叉审核
- 结论:published
§C 机器可读元数据(JSON-LD)
---
## 相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- [qm9](https://www.qianfanghub.com/ai-ready-dataset/qm9/105) — 共享标签:药物发现与化学 / 医学问答与基准 / 化学信息学 / 评测基准 / 量子化学
- [pubchem-pcba](https://www.qianfanghub.com/ai-ready-dataset/pubchem-pcba/86) — 共享标签:药物发现与化学 / 医学问答与基准 / 化学信息学 / 评测基准
- [moleculenet](https://www.qianfanghub.com/ai-ready-dataset/moleculenet/113) — 共享标签:药物发现与化学 / 医学问答与基准 / 化学信息学 / 评测基准
- [lit-pcba](https://www.qianfanghub.com/ai-ready-dataset/lit-pcba/154) — 共享标签:药物发现与化学 / 医学问答与基准 / 化学信息学 / 评测基准
- [kiba](https://www.qianfanghub.com/ai-ready-dataset/kiba/244) — 共享标签:药物发现与化学 / 医学问答与基准 / 化学信息学 / 评测基准
- [tdc](https://www.qianfanghub.com/ai-ready-dataset/tdc/131) — 共享标签:药物发现与化学 / 化学信息学 / 评测基准
- [guacamol-moses](https://www.qianfanghub.com/ai-ready-dataset/guacamol-moses/429) — 共享标签:药物发现与化学 / 医学问答与基准 / 评测基准
- [plinder](https://www.qianfanghub.com/ai-ready-dataset/plinder/184) — 共享标签:药物发现与化学 / 化学信息学 / 评测基准
- [mdad](https://www.qianfanghub.com/ai-ready-dataset/mdad/706) — 共享标签:药物发现与化学 / 化学信息学 / 评测基准
- [i2b2-n2c2-nlp](https://www.qianfanghub.com/ai-ready-dataset/i2b2-n2c2-nlp/14) — 共享标签:医学问答与基准 / 评测基准
> 导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
