8月4日、Meta Engineeringが「GEM Training: How Meta Doubled the Efficiency of Its LLM-Scale Ads Foundation Model」と題した記事を公開した。InstagramおよびFacebookの広告レコメンデーション基盤モデル「GEM」のトレーニング効率を12ヶ月で2倍に高めた手法について詳しく紹介されている。
効率2倍を実現した数字の中身
達成した成果を先に整理する。MetaはGEM(Generative Ads Recommendation Model)のエンドツーエンド(E2E)トレーニング効率を20〜25% MFU(Model FLOPs Utilization)まで引き上げた。これは従来の約2倍に相当し、同期間にトレーニングFLOPsのスケールも4倍に拡大している。使用するGPUは数千台規模の最新世代。
MFUとは、理論上のピーク演算性能に対して実際どれだけ使えているかの比率だ。LLMのトレーニングでも高効率とされるのは30〜50%程度であり、推薦システムという独特のワークロードで20〜25%を達成したことは、出発点がいかに低かったかを踏まえると意味のある数字である。
MetaはこのE2E MFUを以下の式で分解して管理している:
E2E MFU = Local MFU(計算効率)× Scaling Ratio(スケーリング効率)
この2軸を独立した問題として扱い、それぞれに専用の技術を割り当てたことが設計の核心だ。
なぜLLM向けのインフラをそのまま使えないのか
GEMのアーキテクチャは、兆規模のスパース埋め込みパラメータと数十億のデンスパラメータを組み合わせたハイブリッド構造だ。ユーザーの行動履歴(シーケンス特徴)と位置情報や広告クリエイティブ(非シーケンス特徴)を別々のアテンション機構で処理しながら、クロスフィーチャー学習も行う。
このアーキテクチャがLLM向けGPU最適化と根本的に相性が悪い理由は3点ある:
- 入力がジャグ(不規則):ユーザーの行動履歴は数百〜数万トークンと幅が広く、最大長にパディングすると最大50%の計算を無駄にする
- 非対称なシーケンス長:セルフアテンションは極めて長い系列に短いウィンドウ、クロスアテンションは長いクエリに短いKey/Value、PMA(Pooled Multi-Head Attention)は短いクエリに長いKey/Valueと、形状がバラバラでFlashAttentionのパイプライン仮定が崩れる
- 数値感度が高い:CTR/CVR予測は精度変化に敏感で、LLMで使えた低精度トレーニングをそのまま適用するとモデル品質が劣化する
計算効率の核心:カスタムカーネルライブラリ
Jagged Flash Attention(JFA)
FlashAttentionは固定長シーケンスを前提に設計されている。GEMのジャグ入力に適用すると、パディングによる計算浪費かSMアイドルかのどちらかになる。
MetaはJFA(Jagged Flash Attention)を4世代にわたって進化させた:
- 減算スキームによるジャグマスキング:従来の-infマスキングは命令の約28%を非Tensor Core命令が占めていた。クエリ/キーをゼロでマスクし余分な指数を減算する手法に切り替え、この無駄をなくした
- バックワードパス並列化の最適化:バッチ×ヘッド数が大きい推薦ワークロードでは、アトミック加算を排除した非シーケンス並列スキームが21〜40%のバックワード高速化をもたらした
- Warp特化と永続カーネル:Triton Low-Level Extensions(TLX)を用いてTMAとWarp特化を組み合わせ、30〜100%のTFLOPS改善を達成
JFA v4はv2比で40〜140%のTFLOPS改善を実現し、ローカルMFUを18.5%、QPSを12%向上させた。
Generalized Dot-Product Attention(GDPA)
GEMが使う多様なアテンション変種(セルフ、PMA、クロス)を1つのカーネルに統合したのがGDPAだ。実運用トラフィックと合成ベンチマークの間に最大4倍のパフォーマンスギャップがあったことが出発点になっている。
主な最適化は以下の3点:
- パイプライン再設計:softmax補正ステージを排除して4ワープとそのレジスタを解放。K/Vシーケンスが短い場合のアウターループソフトウェアパイプラインで10%の性能回復
- ジャグテンソルのタイルスケジューリング:CPU側で有効タイルを事前計算、空タイルをスキップ、ジグザグSM割り当てでワークロードスキューを6倍から均衡状態に削減
- ALUのみのアクティベーション近似:GELUのtanh(SFUボトルネック)を6次テイラー展開に置換。QKノルムで入力範囲が保証されるため精度劣化なし
結果として、GDPAはFlash Attention 4(FA4)と比べて短K/V条件で最大3.5倍のフォワード高速化を達成し、モデル全体で30%以上のスループット向上に貢献している。
BlockAttention
長いユーザー系列のセルフアテンションはO(L²)のコストが問題になる。MetaはまずスライディングウィンドウアテンションでO(L×window)に削減し、自己アテンションレイテンシを最大68%削減した。さらに固定64トークンブロック単位のブロック整合アテンションへ進化させ、64×64の独立問題に分解することでオンラインsoftmax補正やlogsumexp HBMトラフィックなどFlashAttentionのオーバーヘッドを丸ごと排除した。
MXFP8による超低精度トレーニング
アテンションとMLPにMXFP8(Microscaling FP8)を適用し、低精度Tensor Coreのスループットを実際のE2Eスピードアップに転換した。CTR/CVR予測の数値感度を考慮した専用のレシピを設計し、品質劣化なしでの超低精度トレーニングを実現している。
スケーリング効率:5次元並列性とネットワーク協調設計
数千GPU規模でのスケーリングでは、単にGPUを増やしても線形にスピードアップしない。MetaはGEMのハイブリッドアーキテクチャに合わせたトポロジー認識型5次元並列性を構築した:
- デンスパラメータ:2D FSDP(Fully Sharded Data Parallelism)+Expert Parallelismの組み合わせ
- スパースパラメータ:Fully Sharded 2D Model Parallelism
さらにSM(Streaming Multiprocessor)を使わないコレクティブ通信(SM-free collectives)を採用し、計算と通信のリソース競合を排除。Metaの多層ネットワーク階層と協調設計することで通信オーバーヘッドを最小化した。
まとめ
今回の取り組みが示すのは、LLM向けに最適化されたスタックは推薦システムには素直に転用できないという現実だ。ジャグ入力、非対称アテンション、数値感度という推薦固有の制約に対して、カーネル・精度・並列性・ネットワークを一体設計した結果が、12ヶ月での2倍効率化という数字に表れている。JFAおよびGDPAのカーネル最適化の詳細については、PyTorch公式ブログでも関連する実装解説が公開されており、実装の参考になる。
より広い視点で見れば、本稿が描く「汎用フレームワークの限界とドメイン特化設計の優位性」という構図は、広告推薦に限らない普遍的な問題提起でもある。大規模MLインフラを持つ組織が今後ワークロード特化のカーネル開発にどこまで投資するかは、業界全体のコスト効率と技術格差に直結する問いになっていくだろう。
詳細はGEM Training: How Meta Doubled the Efficiency of Its LLM-Scale Ads Foundation Modelを参照していただきたい。