512块A100,AlphaFold训练时间从11天压缩至67小时:尤洋团队FastFold上线

简介: 512块A100,AlphaFold训练时间从11天压缩至67小时:尤洋团队FastFold上线

AlphaFold 虽好,但耗时且成本高,现在首个用于蛋白质结构预测模型的性能优化方案来了。

蛋白质结构预测一直是结构生物学中的一个重要的研究问题。直接从蛋白质的氨基酸序列预测蛋白质的三维结构在许多领域都有广泛的应用,包括药物设计、蛋白质设计等。

预测蛋白质结构的方法主要有两种:实验方法和计算方法。实验方法需要以高昂的时间和经济成本获得更准确的蛋白质结构。计算方法则能够以低成本高吞吐量预测蛋白质结构,因此提高计算方法的预测精度至关重要。借助深度神经网络,AlphaFold 能够周期性地以原子精度预测蛋白质结构,但 AlphaFold 模型的训练和推理由于其特殊的性能特点和巨大的内存消耗,既耗时又昂贵。

基于此,来自潞晨科技和上海交大的研究者提出了一种蛋白质结构预测模型的高效实现 FastFold。 FastFold 包括一系列基于对 AlphaFold 性能全面分析的 GPU 优化。同时,通过动态轴并行和对偶异步算子,FastFold 提高了模型并行扩展的效率,超越了现有的模型并行方法。


论文地址:https://arxiv.org/abs/2203.00854

实验结果表明,FastFold 将整体训练时间从 11 天减少到 67 小时,并实现了 7.5 ∼ 9.5 倍的长序列推理加速。此外,研究者还将 FastFold 扩展到 512 个 A100 GPU 的超算集群上,聚合峰值性能达到了 6.02PetaFLOPs,扩展效率达到 90.1%。

FastFold

不同于一般的 Transformer 模型,AlphaFold 在 GPU 平台上的计算效率较低,主要面临两个挑战:1) 有限的全局批大小限制了使用数据并行性将训练扩展到更多节点,更大的批大小会导致准确率更低。即使使用 128 个谷歌 TPUv3 训练 AlphaFold 也需要约 11 天; 2) 巨大的内存消耗超出了当前 GPU 的处理能力。在推理过程中,较长的序列对 GPU 内存的需求要大得多,对于 AlphaFold 模型,一个长序列的推理时间甚至可以达到几个小时。

AlphaFold 模型架构


作为首个用于蛋白质结构预测模型训练和推理的性能优化工作,FastFold 成功引入了大型模型训练技术,显著降低了 AlphaFold 模型训练和推理的时间和经济成本。

FastFold 由 Evoformer 的高性能实现、AlphaFold 的主干结构和一种称为动态轴并行(Dynamic Axial Parallelism,DAP)的模型并行新策略组成。

Evoformer

根据计算和存储访问的特点,该研究将算子分为三大类:

1) GEMM。这类包括矩阵乘法、批矩阵 - 矩阵相乘和其他密集矩阵计算。来自 NVIDIA Tesla GPU 的张量核可以显著加速 GEMM 算子;2)批递减算子。这类包括 LayerNorm、 Softmax 等,计算强度低于 GEMM 算子,并且更容易出现访问瓶颈。3)Element-wise 算子。这类包括 element-wise 的相加、相乘、dropout 和激活,是计算密集度最低的一类。

Evoformer 的注意力机制如下图所示


值得注意的是,Evoformer 和原版 Transformer 之间有几个关键区别:


该研究分析了 Evoformer 的复杂结构并进行了内核融合,并针对 Evoformer 中的特定操作和基于性能特征的特定内核进行了优化,例如 Softmax 和 LayerNorm。高性能的 Evoformer 实现大大降低了训练和推理的经济成本。


动态轴并行

在并行策略方面,该研究根据 AlphaFold 的计算特征创新性地提出了动态轴并行策略,在 AlphaFold 的特征的序列方向上进行数据划分,并使用 All_to_All 进行通信。动态轴并行(DAP)在扩展效率方面优于当前的标准张量并行(Tensor Parallelism),DAP 具有以下几个优势:

  • 支持 Evoformer 中的所有计算模块;
  • 所需的通信量比张量并行小得多;
  • 显存消耗比张量并行低;
  • 给通信优化提供了更多的空间,如计算通信重叠。



通信优化

在通信方面,该研究提出了由一对通信算子组成的对偶异步算子(Duality Async Operation)。

这种新方法在模型前向传播的过程中,前一个通信算子触发异步通信,然后在计算流上进行一些没有依赖性的计算,然后后一个通信算子阻塞,直到通信完成;在反向传播的过程中,后一个算子将触发异步通信,前一个算子阻塞通信。

利用对偶异步算子可以很容易地在 PyTorch 这样的动态框架上实现前向传播和反向传播中的计算和通信遮叠。


评估

研究者首先评估了 Evoformer 内 核的性能改进,然后对端到端训练和推理性能进行了评估。所有的实验都在 NVIDIA Tesla A100 平台上进行。基线是 AlphaFold 的官方实现和另一个 OpenFold 开源 PyTorch 实现。官方实现的 AlphaFold 只有推理部分,而 OpenFold 则是根据原始 AlphaFold 论文复制训练和推理的。

A. Evoformer 性能


图 8(a)和图 9(a)分别展示了 Fused Softmax 和 LayerNorm 的性能比较。


对于 Fused Softmax,研究者比较了 PyTorch 原生内核和 FastFold 优化内核的性能。注意力输入序列的长度是 x,注意力的隐藏大小是 y。从图 8(a)可以看出,FastFold 内核的性能可以提高 1.77∼3.32 倍 。


对于 LayerNorm,研究者不仅比较了 PyTorch 原生内核,还比较了 NVIDIA Apex 中高度优化的 LayerNorm 内核。如图 9(a) ,FastFold 的性能比 PyTorch 和 Apex 分别提高了 5.53∼8.65 倍 和 1.20∼1.62 倍 。由于对有限范围的特别优化,相比于高度优化的 Apex LayerNorm,FastFold 也实现了良好的性能改进。


B. 端到端训练性能

在端到端训练表现的评估中,研究者使用官方 AlphaFold 文件中的训练参数进行了尽可能多的测试。这样可以更好地比较不同的方法或实现在实际的训练场景中的工作方式。所有的训练实验都是在 128 节点的 GPU 超级计算机上进行的。在超级计算机中,每个节点包括 4 台 NVIDIA Tesla A100,并且有 NVIDIA NVLink 用于 GPU 互连。

由于张量并行更多地依赖于设备之间的高速互连来进行通信,在训练期间,模型并行通常用于节点以及训练期间节点之间的数据并行。研究者分别在模型并行和数据并行两个级别测试了模型的训练性能,结果如图 10 和图 11 所示。在模型并行性方面,论文比较了张量并行和动态轴并行两种并行方法在初始训练和微调两种训练设置下的 scalability。

如图 10 所示,在初始训练和微调方面,DAP 的扩展性能明显优于 TP。

扩展结果如图 11 所示。我们可以看到,在接下来的几个平行里,基本上是线性规模的。微调训练的扩展效率达到 90.1% 。

根据训练效果的评估结果,可以推算出 AlphaFold 的总体时间和经济成本。表 IV 列出并比较了 AlphaFold、 OpenFold 和 FastFold 三种实现的时间和经济成本。由于没有公开的训练代码,所以 AlphaFold 的数据来源于官方文件。


考虑到时间和经济成本,研究者选用了 256 个 A100 进行初始训练,然后在微调阶段扩展到 512 个 A100。

基于这种设置,FastFold 可以将训练时间减少到 2.81 天。与需要 11 天训练的 AlphaFold 相比,训练的时间成本减少了 3.91 倍。与 OpenFold 相比,训练的时间成本降低了 2.98 倍,经济成本降低了 20% 。

在微调阶段,FastFold 在 512 × A100 的设置下实现了 6.02 PetaFLOPs 的计算速度。由于时间和经济成本的显著降低,FastFold 使得蛋白质结构预测模型的训练速度更快、成本更低,这将推动相关模型的研究和开发效率,并促进基于 Evoformer 的蛋白质结构预测模型的开发。

C. 端到端推理性能

针对短序列、长序列和超长序列,研究者对比了 FastFold、OpenFold、AlphaFold 的推理性能。所有推理实验均在由 8 个 NVIDIA A100(带有 NVLink)组成的 GPU 服务器上完成。

对于短序列,典型的氨基酸序列长度不超过 1k,单个模型推理需要几秒钟到大约一分钟。在这个序列范围内,视频内存消耗相对较小,分布式推理的效率较低。

研究者在 1 个 GPU 上比较了三种实现的推理延迟,结果如图 12 所示:


对于长度为 1k 到 2.5 k 的氨基酸序列的长序列推断,直接推理会遇到内存容量问题,推理时间达到几分钟甚至几十分钟。对于 FastFold,采用分布式推理方法可以减少内存容量的需求,显著缩短推理时间。如图 13 所示,当使用分布式推理时,FastFold 比 OpenFold 减少推理时间 7.5∼9.5 倍 ,比 AlphaFold 减少推理时间 9.3∼11.6 倍 。


如表 3 所示,对于 AlphaFold 和 OpenFold,当序列长度达到 3k 之上时,都会遇到内存不足 (OOM) 问题。然而,对于 FastFold,由于分布式推理方法,它可以利用 GPU 更多的计算和内存来完成极长的序列推理。此外,对于长度高达 4k 的序列,FastFold 的推理延迟 在 10 分钟之内。


相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。
48 7
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
|
28天前
大规模、动态语音增强/分离新基准!清华发布移动音源仿真平台SonicSim,含950+小时训练数据
清华大学研究团队推出SonicSim,一款专为语音增强和分离技术设计的移动音源仿真平台。它基于Habitat-sim开发,能生成高度可定制的合成数据,涵盖多个层次的调整选项,有效解决了现有数据集在数量和多样性上的不足。SonicSim不仅提升了模型训练和评估的真实性和全面性,还通过构建SonicSet基准数据集,进一步推动了该领域的研究进展。
58 20
|
1月前
|
机器学习/深度学习 测试技术
全球首次!时序大模型突破十亿参数,华人团队发布Time-MoE,预训练数据达3000亿个时间点
时序数据在动态系统和应用中至关重要,但其复杂性使得分析极具挑战。Time-MoE是一种基于稀疏混合专家设计的可扩展架构,旨在预训练更大、更强大的时序预测模型,同时降低推理成本。它在新数据集Time-300B上训练,包含超过3000亿个时间点,跨9个领域,显著提升了预测精度,成为解决时序预测问题的先进方案。
60 9
|
4月前
Meta浙大校友让评估模型自学成才,数据全合成无需人工标注,训练Llama 3 70B超过405B
【9月更文挑战第21天】近日,一篇名为《Self-Taught Evaluators》的论文引起了广泛关注。该论文由Meta与浙江大学校友合作完成,提出一种创新的模型评估方法,通过让评估模型自学习训练,无需依赖昂贵且易过时的人工标注数据。此方法利用合成数据,通过迭代生成对比模型输出并训练基于大型语言模型的评估器,从而实现自我迭代改进。研究结果显示,在不使用任何标注偏好数据的情况下,这种方法显著提升了评估模型的性能,甚至超越了一些现有模型。尽管如此,该方法在实际应用中仍需进一步验证。论文地址:https://arxiv.org/abs/2408.02666
83 4
|
5月前
|
机器学习/深度学习 编解码
Sora视频重建与创新路线问题之模型以处理更长的视频并保持时间一致性如何优化
Sora视频重建与创新路线问题之模型以处理更长的视频并保持时间一致性如何优化
|
5月前
Sora视频重建与创新路线问题之模型视频的短期时间上下文以预测未来帧,如何处理
Sora视频重建与创新路线问题之模型视频的短期时间上下文以预测未来帧,如何处理
|
7月前
|
语音技术 计算机视觉
CVPR 2024 Highlight :北航等发布时间特征维护:无需训练,极致压缩加速Diffusion
【6月更文挑战第28天】在CVPR 2024会议上,北航等研究团队提出了**时间特征维护**技术,针对Diffusion模型实现无需训练的高效压缩与加速。通过选择性保留关键时间特征,他们在保持生成质量的同时,实现了模型4bit极致压缩和超过2.38倍硬件加速,简化了复杂模型,提升了运行效率。这一创新方法有望改善Diffusion模型在实际应用中的资源需求,但其鲁棒性和泛化能力尚需更多验证。[论文链接](https://arxiv.org/pdf/2311.16503)
79 5
|
存储 机器学习/深度学习 人工智能
训练时间减少71.4%,存储成本节省99.9%,厦大指令调优新方案MMA让羊驼模型实现多模态
训练时间减少71.4%,存储成本节省99.9%,厦大指令调优新方案MMA让羊驼模型实现多模态
177 0
|
机器学习/深度学习 人工智能 监控
仅花费60美元就能破坏0.01%数据集,AI模型性能显著降低
仅花费60美元就能破坏0.01%数据集,AI模型性能显著降低
106 0
|
存储 机器学习/深度学习 人工智能
不堆参数、不靠时长,Meta加速ViT训练流程,吞吐量4倍提升
不堆参数、不靠时长,Meta加速ViT训练流程,吞吐量4倍提升
248 0

热门文章

最新文章

下一篇
开通oss服务