OpenFold: 忠实复现的AlphaFold2 | AI生成和翻译

Home 2026.06

以下是OpenFold的介绍:


OpenFold——DeepMind AlphaFold 2(蛋白质结构预测)的忠实可训练PyTorch复现版本。

由哥伦比亚大学/哈佛大学的AlQuraishi实验室开发。该仓库拥有约159位贡献者,并持续维护中(近期有NVIDIA贡献支持cuEquivariance功能)。

功能: 输入蛋白质氨基酸序列,预测其三维原子结构。这是AlphaFold 2解决的同一难题——堪称人工智能在生物学领域最重大的突破。

架构(基于代码):

openfold/model/model.py中的AlphaFold类实现了AlphaFold 2论文中的算法2,包含以下关键组件:

  1. 输入嵌入器embedders.py)——将氨基酸序列+MSA(多序列比对)+模板嵌入为成对/表示张量。支持单体、多聚体以及”预嵌入”模式。

  2. 进化模块evoformer.py,约1278行)——核心主干网络,包含多层堆叠:
    • MSA行/列注意力(含成对偏差、全局注意力选项)
    • 三角乘法(传出/传入)——存在融合CUDA变体
    • 三角注意力(起始/终止节点)
    • 外积均值(MSA→成对表示)
    • 成对过渡、MSA过渡
    • 梯度检查点+分块技术用于内存优化
  3. 结构模块structure_module.py)——IPA(不变点注意力),从成对/表示张量生成三维原子坐标。采用SE(3)-等变运算。

  4. 输出头heads.py)——辅助输出:pLDDT置信度、距离直方图、预测对齐误差(PAE)、掩码MSA。

  5. 损失函数utils/loss.py)——FAPE(框架对齐点误差)、辅助距离/角度损失、pLDDT损失。

训练: train_openfold.py通过PyTorch Lightning模块(OpenFoldWrapper)封装,包含:

基础设施:

关键文件:

这是一个庞大的机器学习代码库(约5万行以上),实现了生产环境中最为复杂的AI架构之一。近期提交聚焦于NVIDIA优化(三角运算的cuEquivariance支持、TRT推理)。


Back Donate