概要
単一のニューラル ネットワーク レイヤー内の計算を複数の GPU に分割して、1 つのデバイスには大きすぎるモデルを実行できるようにする方法。フロンティア モデルには、単一の GPU だけでは保持したり、十分な速度で計算したりできない数千億のパラメーターがあるため、これが重要です。
大規模モデルの Tensor Parallelism は、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシー、信頼性に影響を与える技術的な構成要素です。
ディープダイブ
テンソル並列処理 (レイヤ内モデル並列処理とも呼ばれます) は、レイヤ全体を個別のデバイスに配置するのではなく、GPU 間で個々の重み行列をシャード化します。トランスフォーマーでは、大きな行列の乗算 (アテンション投影とフィードフォワード MLP) が分割されます。たとえば、MLP の最初の重み行列は列ごとに分割され、2 番目の重み行列は行ごとに分割されるため、各 GPU がスライスを計算し、単一の all-reduce が結果を結合します。注意は頭全体に分散され、各 GPU がサブセットを処理します。すべての GPU がすべてのレイヤーの一部を同時に実行するため、テンソル並列処理により GPU ごとのメモリが削減され、計算が高速化されますが、各レイヤーの GPU 間で頻繁に高帯域幅の通信が必要になります。そのため、通常は NVLink によって接続されたノード内に限定され、非常に大規模なトレーニングおよびサービス ジョブのためにパイプラインおよびデータ並列処理と組み合わせられます。
技術的な洞察
Megatron-LM によって広められた秘訣は、通信が最小限になるようにパーティションのディメンションを選択することです。最初の MLP マトリックスを列方向に分割すると、各 GPU が同期なしで非線形性をローカルに適用できるようになります。 2 番目の行を行ごとに分割すると、出力には部分的な結果を合計するための all-reduce が 1 つだけ必要になるということになります。したがって、各レイヤーには、およそ 2 つの all-reduce (前方) と 2 つ (後方) が発生します。これらの集合はすべてのレイヤーで発生するため、レイテンシが支配的になります。そのため、テンソル並列処理は、低速のノード間ネットワークではなく、NVLink などの高速なノード内リンクの背後に存在します。
大規模モデルの Tensor 並列処理をマスターする
単一のニューラル ネットワーク レイヤー内の計算を複数の GPU に分割して、1 つのデバイスには大きすぎるモデルを実行できるようにする方法。フロンティア モデルには、単一の GPU だけでは保持したり、十分な速度で計算したりできない数千億のパラメーターがあるため、これが重要です。大規模モデルの Tensor Parallelism は、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシー、信頼性に影響を与える技術的な構成要素です。深い理解を構築するには、大規模モデルの Tensor Parallelism を単一の機能ではなく、オペレーティング モデルとして扱います。望ましい結果を定義し、仮定を明確にし、システムが確実に実行できることと、依然として専門家の判断が必要なことを分離します。
実際、大規模モデルに Tensor Parallelism を使用する強力なチームは、信頼性とコストを考慮してアーキテクチャ、データ、インフラストラクチャの選択を最適化します。明示的な成功基準を文書化し、現実的なデータとワークフローに対してテストし、一度限りのベンチマークの成功ではなく、観察された失敗パターンに基づいて反復します。ここで、理論的な理解が、製品、ポリシー、運用全体にわたる永続的な機能に変わります。
アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。同時に、1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。最も回復力のあるアプローチは、実験のスピードとガバナンスの規律を組み合わせることであり、パイロットを実行し、証拠を取得し、意思決定ログを公開し、モデルの動作、ユーザーの期待、規制要件の進化に応じて安全対策を継続的に更新します。
戦略的影響
アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
現実世界の実装
Megatron-LM を使用して、NVLink に接続された 1 つのノード内の 8 GPU 全体で各レイヤーの重み行列をシャーディングすることにより、175B パラメーターのモデルをトレーニングします。
tensor_Parallel_size=4 を使用して vLLM で 70B パラメーターのチャット モデルを提供するため、重みは 4 つの GPU に適合し、リアルタイムで応答します。
トランスフォーマーの注意を分割すると GPU 全体に向かうため、各デバイスはサブセットを計算し、次のレイヤーの出力を連結します。
ノード内のテンソル並列処理とノード間のパイプライン並列処理を組み合わせて、大規模な GPU クラスターで兆パラメータのモデルをトレーニングします。
実装パターン
実際の大規模モデルのテンソル並列処理
Megatron-LM を使用して、NVLink に接続された 1 つのノード内の 8 GPU 全体で各レイヤーの重み行列をシャーディングすることにより、175B パラメーターのモデルをトレーニングします。
Megatron-LM を使用して、NVLink に接続された 1 つのノード内の 8 つの GPU にわたって各レイヤーの重み行列をシャーディングすることによって 175B パラメーターのモデルをトレーニングすると、通常、チームは品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期にわたって追跡することで、より良い結果が得られます。
実際の大規模モデルのテンソル並列処理
tensor_Parallel_size=4 を使用して vLLM で 70B パラメーターのチャット モデルを提供するため、重みは 4 つの GPU に適合し、リアルタイムで応答します。
tensor_Parallel_size=4 を使用して vLLM で 70B パラメータのチャット モデルを提供することで、重みが 4 つの GPU に適合し、リアルタイムで応答します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
実際の大規模モデルのテンソル並列処理
トランスフォーマーの注意を分割すると GPU 全体に向かうため、各デバイスはサブセットを計算し、次のレイヤーの出力を連結します。
トランスフォーマーの注意を GPU 全体に分割することで、各デバイスがサブセットを計算し、出力を次のレイヤーに連結します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
実際の大規模モデルのテンソル並列処理
ノード内のテンソル並列処理とノード間のパイプライン並列処理を組み合わせて、大規模な GPU クラスターで兆パラメータのモデルをトレーニングします。
ノード内のテンソル並列処理とノード間のパイプライン並列処理を組み合わせて、大規模な GPU クラスターで兆パラメータのモデルをトレーニングするチームは、通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
リスクとガードレール
1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
インフラストラクチャとメンテナンスのコストは過小評価されがちです。
システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
実装ロードマップ
実装前にレイテンシ、品質、コストの目標を定義します。
実装前にレイテンシ、品質、コストの目標を定義します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
現実的な負荷とデータ条件でのベンチマーク。
現実的な負荷とデータ条件でのベンチマーク。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
エラー、ドリフト、ユーザーへの影響を計測器で監視します。
エラー、ドリフト、ユーザーへの影響を計測器で監視します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
スケーリングの前に、ロールバックとインシデント対応のパスを準備します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。