返回列表

7th Place Solution: Ensemble of Two Protenix Models

669. Stanford RNA 3D Folding | stanford-rna-3d-folding

开始: 2025-02-27 结束: 2025-09-24 基因组学与生物信息 数据算法赛
第 7 名解决方案:两个 Protenix 模型的集成

第 7 名解决方案:两个 Protenix 模型的集成

作者: AyPy
发布日期: 2025-10-02
竞赛: Stanford RNA 3D Folding

首先,我想向竞赛主办团队和 Kaggle 团队表示诚挚的感谢,感谢你们组织了这场有趣的竞赛。我也深深感谢所有持续分享宝贵见解和信息的参赛者。花费三个月时间解决生物分子 3D 结构预测的机器学习问题, truly enjoyable and rewarding( truly enjoyable and rewarding 意为非常愉快且有益)。

总结

我的解决方案由两种类型的微调 Protenix(AlphaFold3 克隆版)模型集成组成,分别带有和不带有 MSA。在竞赛早期,我尝试了 RibonanzaNet2_DDPMDRfold2NuFold,但 Protenix 在我的实验中给出了最好的结果,因此我在后半段 exclusively focused on Protenix( exclusively focused on Protenix 意为 exclusively 专注于 Protenix)。Protenix 微调是使用 @lihaoweicvch 和 d4t4 团队 提供的代码进行的,并做了少量修改。

我尝试了两种爬山策略,并选择了这两个模型作为最终提交:

  1. 侧重于公共榜单分数:主要在 CASP16 VFold 预测结构上训练
  2. 侧重于本地分数:主要在主办方提供的 PDB 数据(Kaggle v1/v2 数据)上训练

TM-Score 结果如下:

1. 侧重于公共榜单的模型

模型 公共榜单 (Public LB) 私有榜单 (Private LB)
无 MSA (wo-MSA) 0.43529 0.39196
有 MSA (with-MSA) 0.43205 0.41014
两个模型集成
(最终提交 1)
0.46901 0.43514

2. 侧重于本地分数的模型

模型 本地验证 公共榜单 (Public LB) 私有榜单 (Private LB)
无 MSA (wo-MSA) 0.5982 0.43135 0.47654
有 MSA (with-MSA) 0.5943 0.42501 0.46793
两个模型集成
(最终提交 2)
0.6092 0.43991 0.48511
(私有榜单第 7 名)

数据集

Kaggle v1/v2 数据和 CASP16 VFold 预测数据被用于模型训练。

数据过滤

  • 质量标准
    仅使用符合以下标准的数据:

    • 连续核苷酸 C1'-C1' 距离 ≤ 15 Å
    • 分辨率 ≤ 15 Å
    • 包含所有四种核苷酸 (A, U, G, C)
  • 去重
    对于具有多个结构数据的序列,根据以下规则仅选择一个结构用于训练:

    • 保留分辨率 (Å) 最低的结构
    • 如果分辨率为 NaN,则根据以下实验方法优先级选择一个结构:
      1. X-ray (X 射线)
      2. Cryo-EM (冷冻电镜)
      3. NMR (核磁共振)

训练/验证集划分

1-a: 公共榜单侧重 / 无 MSA 模型

训练和验证数据相同,均为 CASP16 vfold 预测数据。

1-b: 公共榜单侧重 / 有 MSA 模型
  • 数据集:Kaggle v1 (带 MSA)
  • 验证集:最近的 37 个序列
  • 训练集:733 个序列 / 验证集:37 个序列
2-a: 本地榜单侧重 / 无 MSA 模型
  • 数据集:Kaggle v1 (带 MSA)
  • 验证集:最近的 40 个序列
  • 训练集:2407 个序列 / 验证集:40 个序列
    仅基于时间截止日期划分数据集导致验证集内的多样性有限(例如,序列长度非常相似)。为了提高多样性,一些序列在训练集和验证集之间进行了手动重新分配(即,优先将多样化的序列类型分配给验证集,而不是严格遵守时间截止规则)。
2-b: 本地榜单侧重 / 有 MSA 模型
  • 仅使用上述训练/验证集中提供的 MSA 数据。
  • 训练集:1398 个序列 / 验证集:36 个序列

训练

训练配置

  • 学习率: 1e-4
  • 无学习率调度器
  • 预热步数: 50
  • EMA (指数移动平均) 衰减: 0.995
  • 扩散采样: 20
  • 主干回收 (Trunk recycling): 4
  • 序列长度 cutoff: 416 个核苷酸
  • GPU: RTX5090 或 RTX4090

1. 侧重于公共榜单的模型

  • 无 MSA 模型
    • 使用 CASP16 VFold 结构(44 个序列) without MSA 进行微调。这个CASP16 过拟合检查点不仅用于提交,还用于其他模型的进一步微调。
    • num_steps: 2,000
  • 有 MSA 模型
    • 加载上述CASP16 过拟合检查点,并使用具有 MSA 的 Kaggle v1 数据训练模型。
    • num_steps: 7,300

2. 侧重于本地分数的模型

  • 无 MSA 模型
    • 使用 Kaggle v1/v2 数据 without MSA 进行微调。
    • num_steps: 48,200
  • 有 MSA 模型
    • 加载CASP16 过拟合检查点,并使用具有 MSA 的 Kaggle v1/v2 数据微调模型。
    • num_steps: 29,320

推理

推理配置

对于最终提交:

  • 最大序列长度: 850
    • 长序列被截断为 850 个残基,以适应 Kaggle 环境中的显存 (VRAM) 限制。
  • 扩散采样: 200
  • 主干回收: 10
  • 预测数量: 每个 Protenix 模型(有/无 MSA)预测五个结构,每个目标总共十个结构。

后处理(实际上在私有测试集上无效)

采用了一些技术用于截断位置填充和结构选择。它们略微提高了本地分数和公共榜单分数,表明这些技巧至少在竞赛期间是有效的。但实际上,它们在私有榜单上并没有产生有意义的增益,甚至在某些情况下恶化了分数。虽然相信它们是合理的方法,但结果令人失望,不过我还是在这里分享它们。

  • 填充方法
    截断位置的坐标必须填充某些值。虽然一些公共 notebook 似乎用 (0, 0, 0) 填充,但在我的实验范围内,用与截断端相同的坐标填充会导致公共榜单略有提升(见下图)。然而,私有榜单显示相对于零填充并没有 meaningful improvement(meaningful improvement 意为有意义的改进)。如果私有集不包含任何超过 850 个核苷酸的序列,则不会触发截断,因此这可能不是一个 essential factor(essential factor 意为 essential 因素)。
    相关讨论帖
    填充方法对比图

  • 用于结构选择的 K-Medoids 聚类
    需要从十个结构中选出五个(两个 Protenix 各输出五个结构)。虽然基于置信度 (pLDDT) 的选择是常见方法,但我担心它倾向于 favor similar structures(favor similar structures 意为偏好相似结构),限制了多样性。鉴于竞赛指标采用五个提交中最高的 TM-score,选择结构多样化的候选似乎更有效。为了实现这一点,使用 1 - TM-score 作为距离度量对十个预测结构进行 k-medoids 聚类 (k = 5),并选择五个中心点 (medoids) 进行提交。与基于 pLDDT 的选择相比,这种方法提高了公共榜单侧重模型和本地分数侧重模型的公共榜单分数。然而,在私有榜单上总体差异很小,在某些情况下基于 pLDDT 的选择实际上表现更好。

后处理方法比较

提交 1 (公共榜单侧重模型) 变体

模型 填充 结构选择 公共榜单 私有榜单
最终提交 1 末端相同 (end-same) k-中心点 (k=5) 0.46901 0.43514
变体 1-1 零 (zero) k-中心点 (k=5) 0.46576 0.43217
变体 1-2 末端相同 (end-same) pLDDT 前 2+3
(无 MSA 2 + 有 MSA 3)
0.44640 0.43643
变体 1-3 零 (zero) pLDDT 前 2+3 0.44960 0.43443


提交 2 (本地分数侧重模型) 变体

模型 填充 结构选择 公共榜单 私有榜单
最终提交 2 末端相同 (end-same) k-中心点 (k=5) 0.43991 0.48511
变体 2-1 零 (zero) k-中心点 (k=5) 0.43906 0.48459
变体 2-2 末端相同 (end-same) pLDDT 前 2+3 0.43826 0.48831
变体 2-3 零 (zero) pLDDT 前 2+3 0.43568 0.48861

'变体' 加载与最终提交 1 或 2 相同的权重。仅改变了推理中的后处理方法。

同比赛其他方案