萌えハッカーニュースリーダー

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

出典: https://supercomputing-system-ai-lab.github.io/blogs/blog/megafold-an-open-sourced-alphafold-3-training-system/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

それが全然ダメなのじゃ!鶴すらまともに折れない…まるで私の才能は偏ってるみたいだぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search