Skip to main content
QUICK REVIEW

[論文レビュー] HelixFold: An Efficient Implementation of AlphaFold2 using PaddlePaddle

Guoxia Wang, Xiaomin Fang|arXiv (Cornell University)|Jul 12, 2022
Machine Learning in Bioinformatics被引用数 30
ひとこと要約

HelixFold は PaddlePaddle で AlphaFold2 をエンドツーエンド実装し、Branch Parallelism とメモリ最適化によりトレーニングを高速化しつつ、CASP14 および CAMEO で AlphaFold2 と同等の精度を維持します。

ABSTRACT

Accurate protein structure prediction can significantly accelerate the development of life science. The accuracy of AlphaFold2, a frontier end-to-end structure prediction system, is already close to that of the experimental determination techniques. Due to the complex model architecture and large memory consumption, it requires lots of computational resources and time to implement the training and inference of AlphaFold2 from scratch. The cost of running the original AlphaFold2 is expensive for most individuals and institutions. Therefore, reducing this cost could accelerate the development of life science. We implement AlphaFold2 using PaddlePaddle, namely HelixFold, to improve training and inference speed and reduce memory consumption. The performance is improved by operator fusion, tensor fusion, and hybrid parallelism computation, while the memory is optimized through Recompute, BFloat16, and memory read/write in-place. Compared with the original AlphaFold2 (implemented with Jax) and OpenFold (implemented with PyTorch), HelixFold needs only 7.5 days to complete the full end-to-end training and only 5.3 days when using hybrid parallelism, while both AlphaFold2 and OpenFold take about 11 days. HelixFold saves 1x training time. We verified that HelixFold's accuracy could be on par with AlphaFold2 on the CASP14 and CAMEO datasets. HelixFold's code is available on GitHub for free download: https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/protein_folding/helixfold, and we also provide stable web services on https://paddlehelix.baidu.com/app/drug/protein/forecast.

研究の動機と目的

  • AlphaFold2 の訓練時間とメモリ使用量を削減することを目指しつつ、精度を犠牲にしない
  • PaddlePaddle で AlphaFold2 の完全な訓練・推論パイプラインを開発する(HelixFold)
  • 効率的なエンドツーエンド訓練を可能にする新しい並列化およびメモリ最適化技術を導入する

提案手法

  • CPU スケジューリングのオーバーヘッドを削減するために複数のオペレータとテンソルを結合する(Tensor Fusion と Fused Gated Self-Attention)
  • Evoformer の MSA および Pair スタックをデバイス間で並列化するための Branch Parallelism (BP) を提案
  • データ並列性とメモリ効率でスループットを向上させるためにハイブリッド並列性(BP-DAP-DP)を採用
  • メモリ最適化の適用:Recomputation、BFloat16 活性化、インプレースの読み書き、Subbatch/DAP 技術
  • パラメータ、勾配、最適化器状態を結合してカーネル起動回数とメモリ断片化を削減
  • very long sequences のピークメモリを管理するために Subbatch と DAP を活用

実験結果

リサーチクエスチョン

  • RQ1HelixFold は CASP14 および CAMEO で AlphaFold2 の精度に匹敵しつつ訓練時間を短縮できるか?
  • RQ2融合、Branch Parallelism、メモリ最適化技術が訓練のスループットとメモリフットプリントに与える影響は?
  • RQ3Evoformer の既存並列戦略に対する BP-DAP-DP ハイブリッド並列の相対的な利点は?
  • RQ4PaddlePaddle ベースの HelixFold を使用した場合のエンドツーエンド訓練時間と資源コストの削減は、元の AlphaFold2 および OpenFold と比較してどうか?

主な発見

  • HelixFold は CASP14 で AlphaFold2 と競合する精度を達成(TM-score 0.8771 対 0.8772、CASP14)および CAMEO(TM-score 0.8885 対 0.8862)
  • End-to-end 訓練時間は 7.5 days に削減(ハイブリッド並列で 5.3 days)— AlphaFold2 および OpenFold は 約 11 days
  • 初期訓練のスループット改善:HelixFold は AlphaFold2 を上回る(スループット +28.42% から +52.13%)および OpenFold を上回る;ファインチューニングでは HelixFold は AlphaFold2 を約 +84.49% 上回る
  • BP-DAP-DP ハイブリッド並列は DAP のみより高い効率を示し、通信オーバーヘッドが低い
  • メモリ最適化(Recompute、BFloat16、インプレースの読み書き)およびテンソル融合は、ピークメモリとカーネル起動回数を著しく削減
  • Fused Gated Self-Attention は CPU/GPU のオーバーヘッドを削減しつつ精度を維持

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。