

论文信息 标题:Efficient protein structure prediction from compact computers to datacenters with OpenFold-TRT 发布:bioRxiv 预印本,2026年3月15日 DOI:10.64898/2026.03.11.711233 作者:Kieran Didi, Prashant Sohani 等(NVIDIA、牛津大学、首尔国立大学等机构)
蛋白质折叠问题是计算生物学的核心挑战之一。1972年,Anfinsen提出蛋白质的三维结构由其氨基酸序列唯一决定("Anfinsen假说")。此后数十年,研究者沿两条技术路线推进:
2021年,DeepMind的AlphaFold2(Jumper et al.)将这两条路线融合,借助大规模数据、Evoformer自注意力架构和SE(3)等变性结构模块,首次实现了接近实验精度的全自动三维结构预测,成为近年来最具影响力的生物信息学突破。
AlphaFold2的成功掩盖了其在工程效率上的不足。其标准推理管线包含两个串行阶段:
阶段 | 工具 | 平均耗时(20个CASP14靶点) | 主要瓶颈 |
|---|---|---|---|
MSA生成 | JackHMMER + HHblits | ~1977 秒 | CPU密集型,数据库I/O |
DL推理 | AlphaFold2(JAX TF32) | ~448 秒 | GPU计算,Evoformer注意力 |
端到端 | — | ~2425 秒 | — |
单条序列需要约40分钟,在面对大规模蛋白质组(如AlphaFold数据库的3.5亿条序列)时,单GPU服务器需要约500年才能完成全量预测,这严重制约了蛋白质设计和新型生成模型的数据生产效率。
ColabFold(Mirdita et al., 2022)通过引入MMseqs2替代JackHMMER+HHblits,将MSA生成从33分钟降至约1分钟,是迄今最重要的工程优化。然而:
本文正是在这一背景下,系统性地填补上述空白。
本文的核心贡献可归纳为以下四点:
贡献一:OpenFold-TRT 将OpenFold(AlphaFold2的PyTorch开源复现)以TensorRT编译,通过混合精度、动态形状、算子融合三重优化,使DL推理比AlphaFold2原版快 20.69倍,比OpenFold-PyTorch快 2.54倍。
贡献二:MMseqs2-GPU Blackwell优化 利用Blackwell架构的DPX动态规划指令集,将RTX PRO 6000上的MSA生成速度提升至 10.3秒/序列,比L40S快1.4倍,比AlphaFold2原始管线快 191倍。
贡献三:ARM架构优化 通过重写SIMD对齐内核(256位向量化、NEON原生指令),使MMseqs2-GPU在ARM平台(Grace-Hopper, DGX Spark)上的执行效率提升超过 65%,与最优x86 SSE实现持平。
贡献四:跨平台全栈验证 在x86+RTX PRO 6000、DGX GH200、DGX Spark等多种硬件形态上完成端到端验证,最优配置实现 131.4倍端到端加速,同时保持与原版AlphaFold2相当的预测精度(TM-Score)。
OpenFold(Ahdritz et al., 2024, Nature Methods)是AlphaFold2的完整PyTorch复现,支持加载原版AlphaFold2预训练权重。相比原版JAX实现,PyTorch后端对TensorRT编译更友好,是本工作的基础选择。
Evoformer是AlphaFold2计算的核心模块,对MSA矩阵和残基对矩阵施加多头行/列注意力(Row-wise Gated Self-Attention + Column-wise Gated Self-Attention),计算复杂度为 (为MSA深度,为序列长度),是整个推理过程的主要计算瓶颈。
论文对不同模块采用差异化精度策略:
模块 | 精度 | 理由 |
|---|---|---|
ExtraMSA Stack | TF32 | 对数值精度更敏感,TF32在保精度的同时提速 |
Evoformer | BF16 | 核心计算瓶颈,BF16可充分利用Tensor Core |
结构模块 | FP32 | 坐标计算对精度要求最高 |
作者还对比了PyTorch原生BF16模式,结果显示尽管也有加速,但TensorRT编译后的混合精度方案性能更优——说明加速收益来自编译优化而非单纯降精度。
TensorRT编译的一个核心挑战是蛋白质序列长度可变。固定形状编译无法适应不同长度输入,而动态形状支持则需要在编译时预定义"优化轮廓"(Optimization Profile)。
论文通过PyTorch的 TorchDynamo引擎 进行ONNX导出(而非传统的torch.jit.trace),其优势在于:TorchDynamo通过字节码分析而非追踪捕获计算图,能够正确处理Evoformer中条件控制流,同时保留动态形状信息。
动态形状规格如下:
evoformer_dynamic_shapes = {
"m": {1: seq_dim}, # MSA表示,维度1为序列长度
"z": {0: seq_dim, 1: seq_dim}, # 残基对表示
"msa_mask": {1: seq_dim},
"pair_mask":{0: seq_dim, 1: seq_dim}
}序列长度范围从 S_MIN=16 到 S_MAX(由 config.trt.max_sequence_len 配置)。论文提供了三种profile粒度:
[S_MIN, S_MAX],最简单但对短序列可能次优;[S_MIN, S_MAX/2] 和 [S_MAX/2+1, S_MAX],平衡效率与覆盖;当输入序列落在profile之外时,支持两种fallback策略:抛出 ShapeError 或回退至PyTorch执行,确保鲁棒性。
固定维度(MSA深度256、残基对维度128、Evoformer层数48、ExtraMSA栈深5120)不参与动态化,避免引入额外编译开销。
TensorRT的图优化器对Evoformer中的多步注意力操作进行了 算子融合:将矩阵乘法、LayerNorm、SoftMax、门控机制等多个独立kernel合并为单个优化kernel,从而:
此外,TensorRT的**持久化引擎缓存(Persistent Engine Caching)**机制确保编译后的引擎可快速复用,避免每次推理重新编译的开销。
MMseqs2-GPU(Kallenborn et al., 2025, Nature Methods)通过将蛋白质数据库同源搜索的关键计算——无间隔预过滤(Gapless Pre-filter)和 有间隔对齐(Gapped Alignment,Gotoh-Smith-Waterman算法)——迁移至GPU,取得了显著加速。
无间隔预过滤将动态规划(DP)矩阵的依赖关系简化为仅依赖对角邻居,实现了逐行并行处理,每行在CUDA线程间分区,每个线程负责最多128个DP格子。
Blackwell架构(RTX PRO 6000)引入了全新的 DPX动态规划指令集,专为序列比对类DP计算设计:
max(a+b, c) 操作,减少指令数量和依赖链长度;结果:在x86+RTX PRO 6000上MSA生成速度达到 10.3秒/序列,比x86+L40S快 1.4倍。
传统上,MMseqs2中的向量化对齐计算基于x86 SSE/AVX指令集。直接将SSE指令映射到ARM NEON存在指令语义差异,导致效率损失(例如,horizontal max在ARM上没有与SSE PHMINPOSUW 等价的单指令)。
论文采取以下策略:
原生NEON重写:对compare+all、any、horizontal max等关键操作,不做跨平台映射,而是直接使用ARM原生指令(如UMINV、UMAXV)实现。这些指令在ARM上具有更短的指令延迟和更简洁的依赖链。
256位向量化:通过 SIMDe宏库 和现代Clang编译器(≥20.1.5)支持,以两条128位NEON指令模拟256位操作,充分利用ARM CPU的 4×6× FP/ASIMD流水线,向量计算吞吐近乎翻倍。
DGX GH200(Grace-Hopper超级芯片)在显存超出时具有独特的架构优势:
论文统一采用 CASP14竞赛的20个"困难靶点"(Hard Targets) 作为基准集,序列长度覆盖 95到949个残基,包含多种蛋白质折叠类型,是评估结构预测方法性能的标准数据集。
MSA生成速度评估另外使用了 6370条UniProt全长查询序列 对30M参考序列集的检索,用于分析数据库规模扩展行为。
指标 | 说明 | 用途 |
|---|---|---|
MSA生成时间(秒) | 完成20个靶点同源检索的平均耗时 | 第一阶段速度评估 |
DL推理时间(秒) | 从MSA到三维坐标的平均推理耗时 | 第二阶段速度评估 |
端到端时间(秒) | MSA生成 + DL推理总耗时 | 全流程评估 |
TM-Score | 预测结构与CASP14实验结构的模板建模得分 | 精度评估(≥0.5为正确折叠) |
TCUPS(Tera Cell Updates/s) | 数据库搜索吞吐量单位 | MSA搜索效率评估 |
所有对比统一使用第一套AlphaFold2权重、不进行MD弛豫,确保公平性。
方案 | 硬件 | 平均耗时(秒) | 相对JackHMMER加速 |
|---|---|---|---|
JackHMMER + HHblits | x86(CPU only) | 1977.4 | 1× |
ColabFold-search(MMseqs2-CPU) | x86 | 60.2 | 32.8× |
ColabFold-search(MMseqs2-GPU) | x86 + L40S | 14.4 | 137.1× |
MMseqs2-GPU(本文) | x86 + H100 | 12.1 | 163.1× |
MMseqs2-GPU(本文) | DGX GH200 | 11.2 | 176.2× |
MMseqs2-GPU(本文) | x86 + RTX PRO 6000 | 10.3 | 191.4× |
MMseqs2-GPU(本文) | DGX Spark | 27.8 | 71.1× |

关键观察:
以下数据均基于x86 + RTX PRO 6000,20个CASP14靶点平均值:
方案 | 平均DL推理时间(秒) | 相对AlphaFold2加速 |
|---|---|---|
AlphaFold2(JAX TF32) | 115.9 | 1× |
ColabFold-batch(JAX BF16) | 34.3 | 3.4× |
OpenFold-PyTorch(TF32) | 14.2 | 8.2× |
OpenFold-TRT(BF16,本文) | 5.6 | 20.7× |

跨平台DL推理对比:
硬件 | OpenFold-TRT推理时间(秒) | 相对RTX PRO 6000 |
|---|---|---|
DGX GH200(H200,1979 TFLOPS BF16) | 5.4 | 1.04× 更快 |
x86 + RTX PRO 6000(503 TFLOPS BF16) | 5.6 | 基准 |
Boltz-2 on H100 | 4.8 | 1.17× 更快(架构不同) |
GH200的DL推理更快(约3.7%),符合其峰值BF16算力(1979 vs 503 TFLOPS)的理论预期。
方案 | MSA(s) | DL(s) | 总计(s) | vs AlphaFold2基线 |
|---|---|---|---|---|
AlphaFold2(x86+L40S) | 1977 | 448 | 2425 | 1× |
AlphaFold2(x86+RTX PRO 6000) | — | 116 | 2093 | 1.16× |
ColabFold-CPU | 60 | 34 | 95 | 25.5× |
ColabFold(MMseqs2-GPU,L40S) | 10 | 34 | 45 | 53.9× |
OpenFold(MMseqs2-GPU,TF32) | 10 | 14 | 25 | 97× |
OpenFold-TRT(RTX PRO 6000) | 10 | 5.6 | 15.9 | 131.4× |
OpenFold-TRT(GH200) | 11 | 5.4 | 16.6 | 126× |
Boltz-2 NIM(H100) | 12 | 4.8 | 16.9 | 124× |
OpenFold-TRT-Spark(DGX Spark) | 28 | 60 | 88 | 27.6× |

端到端最优为 x86 + RTX PRO 6000 的OpenFold-TRT组合(15.9秒/序列),原因在于:RTX PRO 6000在MSA生成和DL推理两个阶段均有优异表现,而GH200虽然DL推理更快,但MSA生成稍慢,综合排名次之。
以6370条查询 vs 30M参考序列基准集,通过复制参考集模拟11GB至176GB的数据库规模:
平台 | 48GB以下TCUPS | 超出GPU显存后TCUPS | 性能衰减 |
|---|---|---|---|
x86 + L40S(48GB显存) | ~11–11.6 | ~7.3(超出后) | ↓ 1.68× |
DGX GH200(96GB HBM3) | ~12.5–13.4 | 稳定保持 | 无衰减 |
GH200通过C2C高带宽互联(450 GB/s)将主机LPDDR5X作为显存扩展,彻底消除了x86系统在大数据库场景下的PCIe带宽瓶颈(32 GB/s)。这对处理未来指数增长的宏基因组数据库(目前已达PB级别)至关重要。
方案 | 平均TM-Score | 标准差 |
|---|---|---|
AlphaFold2 | 0.69 | ±0.05 |
ColabFold-CPU / GPU | 0.71 | ±0.05 |
OpenFold-PyTorch | 0.68 | ±0.05 |
OpenFold-TRT | 0.67 | ±0.05 |
Boltz-2 NIM | 0.67–0.68 | ±0.05 |
所有方法的TM-Score在统计上无显著差异,加速完全不以精度损失为代价。
唯一异常点:靶点T1064在OpenFold(含TRT版)中TM-Score低于ColabFold和AlphaFold2,但作者认为这可能源于随机初始化或权重集选择差异(本文每种方法均仅使用第一套权重,未做五套权重的最优选择),而非TRT优化本身引入的系统性误差。
论文专门引入 Boltz-2 NIM(v1.1.0) 作为额外基线,代表AlphaFold3架构路线。
AlphaFold3(Abramson et al., 2024, Nature)相比AlphaFold2在以下方面做出了有利于推理速度的架构调整:
Boltz-2 NIM在AF3架构效率的基础上,额外集成了:
维度 | OpenFold-TRT(RTX PRO 6000) | Boltz-2 NIM(H100) |
|---|---|---|
DL推理速度 | 5.6 秒 | 4.8 秒(快1.17×) |
MSA生成速度 | 10.3 秒 | 12.1 秒 |
端到端总计 | 15.9 秒 | 16.9 秒 |
端到端胜出 | ✅ | — |
Boltz-2 NIM的DL推理更快(AF3架构更轻量),但由于x86+H100的MMseqs2-GPU MSA生成慢于RTX PRO 6000,导致端到端总时间反而更长。这说明MSA生成效率对端到端性能具有决定性影响,不可忽视。
平台 | GPU | GPU显存 | CPU | 定位 | 端到端(s) | 适用场景 |
|---|---|---|---|---|---|---|
x86 + RTX PRO 6000 | Blackwell | 96 GB | AMD EPYC 9554 | 高性能服务器 | 15.9 | 生产推理,最优选择 |
DGX GH200 | H200 | 96 GB HBM3 | Grace 72核 ARM v9 | 超算节点 | 16.6 | 大数据库搜索,DL密集任务 |
x86 + H100 | H100 PCIe | 80 GB | AMD EPYC 7742 | 标准计算节点 | 16.9(Boltz-2) | 通用HPC |
x86 + L40S | L40S | 48 GB | AMD EPYC 7742 | 上一代最优 | ~45(ColabFold) | 参考基线 |
DGX Spark | GB10 Blackwell | 共享128GB统一内存 | ARM v9.2 20核 | 桌面/边缘 | 87.7 | 轻量部署,实验室工作站 |
DGX Spark的独特价值:尽管端到端速度不及服务器级产品,但它是首个能在小型机形态上完成端到端蛋白质结构预测的平台,128GB统一内存(CPU+GPU共享)的架构规避了显存限制问题,适合中小型实验室的本地化部署。
论文提供了一项极具说服力的规模化估算:
AlphaFold蛋白质结构数据库(Varadi et al., 2022)的目标是预测约 3.5亿条蛋白质序列。
方案 | 单序列耗时 | 单GPU完成全量预测 | 500 GPU集群 |
|---|---|---|---|
ColabFold(之前最快) | 44.66 秒 | ~500 年 | ~1 年 |
OpenFold-TRT(本文) | 15.93 秒 | ~178 年 | ~4.5 个月 |
加速比意义:不仅是速度的量变,更是从"不可实施"到"可规模化"的质变。4.5个月意味着每年都可以对全人类已知蛋白质进行一次完整的结构更新,这对以下场景具有战略性意义:
TensorRT的预分配显存机制是提升推理效率的关键,但也带来了序列长度硬限制:
硬件 | 显存 | 最长可处理序列 |
|---|---|---|
x86 + L40S(48 GB) | 48 GB | < 496 残基(次长靶点折叠失败) |
x86 + H100(80 GB) | 80 GB | < 949 残基(最长靶点折叠失败) |
x86 + RTX PRO 6000(96 GB) | 96 GB | 全部20个靶点(949残基以内) |
对于超长蛋白(如膜蛋白、多结构域蛋白),当前TRT方案仍受限于显存容量,需要更大显存的GPU或序列分割策略。
T1064靶点在OpenFold相对于ColabFold-batch和AlphaFold2的TM-Score偏低问题值得关注。尽管作者归因于权重初始化差异,但在生产环境中,建议使用全部五套权重取最优,以消除此类偶发性偏差。
当前OpenFold-TRT基于AlphaFold2的Evoformer架构。随着AlphaFold3和Boltz-2展示出更轻量架构的潜力(DL推理快1.17×),将TRT加速与AF3/Boltz-2架构的优化MSA管线(RTX PRO 6000上MMseqs2-GPU仅需10秒)相结合,有望进一步将端到端时间压缩至 10秒以内。
本文严格限定在单GPU场景。对于超大数据库(>1TB宏基因组集合)或超长序列批量推理,多GPU并行策略(NVLink、数据并行)尚未涉及,是重要的未来工作方向。
所有本文引入的优化均已上游合并至对应开源仓库:
组件 | 仓库 | 相关文档 |
|---|---|---|
MMseqs2(含GPU加速) | github.com/soedinglab/MMseqs2 | GPU搜索使用说明 |
OpenFold(含TRT加速) | github.com/aqlaboratory/openfold | TensorRT推理文档 |
TensorRT | github.com/NVIDIA/TensorRT | — |
环境要求:CUDA 13.0 + TensorRT 10.13
本文系统性地解决了蛋白质结构预测管线的推理效率问题,在不损失预测精度的前提下实现了多层次加速:
本文的贡献兼具工程与学术意义:在工程层面,它建立了一套软硬件协同优化的方法论——从ONNX动态导出策略到DPX指令调优,每个优化点都有清晰的技术原理和量化验证;在学术层面,通过系统比较AlphaFold2与AF3路线(Boltz-2)在不同硬件上的推理特性,为结构预测工具的选型和部署提供了有价值的参考数据。
131倍的加速不仅是数字游戏,它在实质上改变了蛋白质组学规模计算的经济性和可行性:将全人类已知蛋白质组的年度结构更新从"需要超算集群运行一年"变为"单机服务器运行4.5个月",为生成式蛋白质设计、药物发现和宏基因组学探索提供了全新的基础设施能力。