Folding Tensor and Sequence Parallelism for Memory-Efficient Transformer Training & Inference
本論文は、重みとトークンのシャードを単一のデバイス軸に統合してパラメータおよび活性化メモリのオーバーヘッドを同時に削減する新しい実行戦略であるテンソル並列とシーケンス並列(TSP)を導入し、長文脈およびメモリ制約のあるトランスフォーマーモデルの学習および推論のためのハードウェア効率的な代替手段を提供する。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
大規模なジグソーパズルを友人グループと解こうとしている状況を想像してください。しかし、作業に使えるのは非常に小さなテーブル(コンピュータのメモリ)だけです。パズルはあまりにも巨大で、誰一人としてすべてのピースを一度に持てません。
この論文は、巨大な AI モデル(本質的にはこれらの巨大なパズル)を訓練するために、コンピュータのチーム(GPU)が協力する新しい方法を紹介します。著者たちはこの新しい戦略を**TSP(テンソル並列性とシーケンス並列性)**と呼んでいます。
以下に、簡単なアナロジーを用いた解説を示します。
問題:仕事を分担する 2 つの古い方法
パズルを解くために、チームは通常、2 つの古い方法のいずれかを使用しますが、どちらも欠点があります。
「重み分割」方式(テンソル並列性):
パズルのピースをゲームの「ルール」(モデルの重み)だと想像してください。この方法では、ルールブックを半分に切ります。A さんがルールブックの前半を持ち、B さんが後半を持ちます。- 良い点: ルールブック全体を 2 回保存しないため、テーブル上のスペースを節約できます。
- 悪い点: パズルに長い物語(長い単語のシーケンス)が含まれている場合、全員が遊ぶために全体の物語を手に持たなければなりません。物語が巨大だと、手(メモリ)がいっぱいになり、クラッシュしてしまいます。
「物語分割」方式(シーケンス並列性):
パズルのピースを物語そのものだと想像してください。この方法では、A さんが物語の前半を持ち、B さんが後半を持ちます。- 良い点: 物語全体を一度に持たないため、テーブル上のスペースを節約できます。
- 悪い点: 全員がルールブック全体を暗記しなければなりません。ルールブックが巨大だと、脳(メモリ)がいっぱいになり、クラッシュしてしまいます。
従来のハイブリッド: 通常、チームは 2 つの異なる友人グループを使用して、両方を同時に行おうとします。あるグループはルールを分割し、別のグループは物語を分割します。しかし、これは非効率です。仕事を分割するために友人全員を使い果たしてしまい、他のタスク(データ並列性など)を助ける人が誰も残らないからです。
解決策:「折りたたみ」方式(TSP)
著者たちは言います。「なぜ 2 つの異なるグループを使う必要があるのでしょうか?仕事を単一の軸に折りたたみましょう。」
TSPでは、グループの全員が同時に両方のことを行います。
- 彼らはルールブックの「スライス」(重み)を持ちます。
- 彼らは物語の「スライス」(シーケンス)を持ちます。
アナロジー:
ディナーパーティーにいると想像してください。
- 古い方法: あるテーブルでは、1 人がメニュー(重み)を回しながら、全員が本全体を読みます。別のテーブルでは、人々が本(物語)を回しながら、全員がメニュー全体を暗記します。
- TSP 方式: テーブルの全員が、メニューの小さな断片と物語の小さな断片をそれぞれ手にします。
どのように機能させるか(魔法のトリック)
全員がメニューの小さな断片と物語の小さな断片を持っているため、パズルを完成させるには互いに頻繁に会話する必要があります。論文では、圧倒されることなくこれを行う 2 つの巧妙な方法を説明しています。
「物語」の部分(Attention):
グループが特定の文を理解するために物語全体を知る必要があると想像してください。全員が同時に物語全体を叫ぶのではなく、順番に行います。1 人が自分のメニューの断片を全員にブロードキャストします。その後、全員が自分の物語の部分を計算し、キーとバリュー(物語の断片)を素早く交換して、完全な文脈を再構築します。バトン(データ)を走りながら渡すリレー競争のようなものです。「ルール」の部分(MLP):
グループが物語の断片に異なるルールを適用する必要があると想像してください。ルールを叫んで停止するのではなく、ルールブックのページを円環(リング)状に回します。A さんがページ 1 で計算を行い、ページ 1 を B さんに渡す一方で、B さんはページ 2 を C さんに渡します。ページが移動している間、全員は計算に忙しくなります。これにより、「交通」が動きながら「作業」が進みます。
なぜこれが優れているのか
この論文は、TSP が「ハードウェアを考慮した」解決策であると主張しています。つまり、現代のコンピュータチップが互いに通信する方法に特化して設計されているということです。
- メモリ節約: 全員がルールの一部と物語の一部を持っているため、各コンピュータに必要なメモリは大幅に減少します。これにより、チームはメモリ不足になることなく、はるかに長い物語(長いコンテキスト)を処理できます。
- 速度: 互いにデータをより多くやり取りしているため(遅く聞こえるかもしれませんが)、それを思考と重ねて行います。「渡す」行為が「考える」行為と同時に行われるため、総時間はあまり伸びません。
- 部屋への収容: コンピュータクラスターでは、最も高速な接続は通常、同じマシン上のチップ間(同じテーブルに座っている人々)です。より遅い接続は、異なるマシン間(異なる部屋にいる人々)です。
- 古い方法は、チームを異なる部屋に分割することを強要し、速度を低下させることがよくありました。
- TSP は、分割されたチーム全体を単一マシン(1 つのテーブル)に収容することを可能にし、彼らを高速レーンに留めます。
結果
著者たちは、1,024 個の高性能 GPU(MI300X)からなる大規模クラスターでこれをテストしました。
- メモリ: TSP は、特に物語が非常に長い場合、すべてのテストで最も少ないメモリ量を使用しました。
- 速度: TSP は、古い方法と同じか、それよりも速かったです。
- スケーラビリティ: グループにコンピュータを追加するにつれて、TSP は引き続き良好に機能しましたが、古い方法はメモリ制限に直面して苦労し始めました。
要約すると: TSP は、コンピュータのチームを整理するより賢い方法です。「ルール」と「物語」を別々のグループに分割するのではなく、それらを組み合わせることで、すべてのコンピュータが両方の少しずつを持つようにします。これによりスペースが節約され、より長い物語を扱えるようになり、チームは同じ高速ネットワーク上で効率的に作業し続けることができます。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。