テンソル並列処理 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

テンソル並列処理

テンソル並列処理は、特定のモデルの重み、勾配、オプティマイザ状態がデバイス間で分割されるモデル並列処理の一種です。パイプライン並列処理とは対照的に、個々の重みはそのまま維持するが、セットする重みのうち、テンソル並列処理は個々の重みを分割します。これには、通常、モデルの特定のオペレーション、モジュール、またはレイヤーの分散計算が含まれます。

テンソル並列処理は、1 つのパラメータがGPUほとんどのメモリを消費する場合に必要です (語彙サイズが大きい大きな埋め込みテーブルや、クラス数が多い大きなソフトマックスレイヤーなど)。この場合、この大きなテンソルまたはオペレーションを原子単位として扱うことは非効率的であり、メモリ負荷のバランスを妨げます。

テンソル並列処理は、純粋なパイプラインだけでは十分ではない非常に大きなモデルにも役立ちます。例えば、数十のインスタンスでパーティション化する必要がある GPT-3 スケールモデルでは、パイプラインの深さが高すぎてオーバーヘッドが極端に大きくなるため、純粋なマイクロバッチパイプライン処理は非効率です。

注記

テンソル並列処理は、 SageMaker モデル並列処理ライブラリ v1.6.0 以降 PyTorch で で使用できます。