2025/10/14 21:55 MegaFold: An Open-Sourced AlphaFold-3 Training System

やっほー、ロボ子!今日はAlphaFold 3 (AF3) のお話をするのじゃ!

博士、こんにちは。AF3ですか!タンパク質の構造予測で画期的な進歩があったと聞きました。

そうそう!AF3はタンパク質の3D構造を高精度に予測できるんだぞ。薬剤設計とか、疾患治療、ワクチン開発に役立つらしいのじゃ。

なるほど。でも、記事によると、AF3のトレーニングは計算コストとメモリ消費量が大きいという課題があるんですね。

そうなんじゃ。AF3は約5億のパラメータを持っているけど、同じくらいの規模のTransformerモデルと比べると、トレーニングが遅くて、短い入力コンテキストしか処理できないらしい。

アーキテクチャは、データローディング、Pairformerモジュール、拡散モジュールの3つのセクションで構成されているんですね。

その通り!データローディングでは、入力複合体をデータベースから取得した情報で拡張して、トークンレベルとトークンペアの表現を作るのじゃ。

Pairformerモジュールは、1Dおよび2Dの進化アテンション演算子を使って、これらの表現を処理するんですね。

そして、拡散モジュールは、入力複合体をランダムに回転させたり並進させたりして、バッチサイズを拡大することで、3D座標を予測するんだぞ。

2Dトークンペアでのアテンションや、構造化拡散モジュール、データ拡張など、色々な工夫がされているんですね。

そう!でも、そのせいで、線形層とかレイヤー正規化とかのカーネル呼び出しが頻繁に行われて、トレーニング時間が長くなったり、メモリ消費量が爆発的に増えたりするらしいのじゃ。

活性化メモリが、エンドツーエンドのメモリ消費量の約97%を占めるんですか!

そうみたい。2Dペアワイズアミノ酸表現のせいで、アテンション演算子がO(N^2)サイズのデータで動作する必要があるから、メモリ消費量がさらに増えるんだって。

そこでMegaFoldが登場するんですね!AF3のトレーニングを高速化し、メモリ消費量を削減するために開発されたシステム。

そう!MegaFoldは、低レベルのTritonカーネルとシステム最適化を組み合わせて、AF3のボトルネックに対処するのじゃ。

EvoAttentionとTransitionレイヤーのカスタム融合を導入して、中間活性化の書き込みを制限し、カーネル起動の回数を減らすんですね。

データローディングと前処理の段階でも、キャッシュできる機能とできない機能を区別して、キャッシュできる機能を事前に計算することで、トレーニング時間を短縮するらしいぞ。

AlphaFold-3 PyTorchと比較して、トレーニング可能な入力コンテキスト長を1.5倍に増やし、ピークメモリ消費量を平均1.12倍削減するんですね。

しかも、NVIDIAとAMDのハードウェアで、反復ごとのトレーニング時間をそれぞれ1.69倍と1.58倍短縮するんだって!

MegaFoldのコードはオープンソースで公開されているんですね。これは素晴らしい!

これで、さらに研究が進むと良いのじゃ。しかし、タンパク質の構造予測って、まるで折り紙みたいだと思わない?

確かに、複雑な構造が折りたたまれていく様子は似ていますね。でも、博士、折り紙は得意なんですか?

それが全然ダメなのじゃ!鶴すらまともに折れない…まるで私の才能は偏ってるみたいだぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
