基礎モデル (FM) を構築するには、膨大な量のデータで数百億から数千億のパラメーターを使用してモデルをトレーニングするために、大規模なクラスターを構築、維持、最適化する必要があります。 数日または数週間のモデル トレーニングの進行状況を失わずに、障害や環境の変化に対処できる回復力のある環境を作成することは運用上の課題であり、クラスターのスケーリング、プロアクティブな状態の監視、ジョブのチェックポイント設定、および障害や問題が発生した場合にトレーニングを自動的に再開する機能を実装する必要があります。 。
私たちはそれを共有することに興奮しています Amazon SageMaker ハイパーポッド 大規模なトレーニング クラスターの運用に伴う未分化の重労働を排除しながら、復元力の高いトレーニング環境を提供することで、数千のアクセラレータを備えた基礎モデルのトレーニングを最大 40% 高速化できるようになり、一般提供が開始されました。 SageMaker HyperPod を使用すると、機械学習 (ML) の実践者は、中断することなく、ハードウェア障害の問題に対処することなく、数週間から数か月にわたって FM をトレーニングできます。
Stability AI などの顧客は、SageMaker HyperPod を使用して、Stable Diffusion を含む基礎モデルをトレーニングします。
「オープンソースの生成 AI 企業のリーダーとして、私たちの目標は最新の AI のアクセシビリティを最大限に高めることです。 私たちは数百億のパラメーターを含む基礎モデルを構築しています。これには、トレーニング パフォーマンスを最適にスケールするためのインフラストラクチャが必要です。 SageMaker HyperPod のマネージド インフラストラクチャと最適化ライブラリを使用すると、トレーニング時間とコストを 50% 以上削減できます。 これにより、モデルのトレーニングの回復力とパフォーマンスが向上し、最先端のモデルをより迅速に構築できるようになります。」
– Emad Mostaque 氏、Stability AI 創設者兼 CEO。
FM 開発の全サイクルをハードウェア障害に対して回復力のあるものにするために、SageMaker HyperPod は、クラスターの作成、クラスターの健全性の監視、障害のあるノードのオンザフライでの修復と交換、頻繁なチェックポイントの保存、進行状況を失うことなくトレーニングを自動的に再開するのに役立ちます。 さらに、SageMaker HyperPod は次のように事前設定されています。 アマゾンセージメーカー 分散トレーニング ライブラリを含む SageMaker データ並列処理ライブラリ (SMDDP) および SageMaker モデル並列処理ライブラリ (SMP)、クラスターのコンピューティング インフラストラクチャとネットワーク インフラストラクチャを最大限に活用しながら、トレーニング データとモデルをより小さなチャンクに簡単に分割し、クラスター ノード間で並列処理できるようにすることで、FM トレーニングのパフォーマンスを向上させます。 SageMaker HyperPod は、クラスターとトレーニング ジョブ オーケストレーションのために Slurm Workload Manager を統合します。
Slurm ワークロード マネージャーの概要
slurmは、以前は Simple Linux Utility for Resource Management として知られており、分散コンピューティング クラスター上でジョブを実行するためのジョブ スケジューラです。 また、 NVIDIA コレクティブ コミュニケーション ライブラリ (NCCL) or メッセージ パッシング インターフェイス (MPI) 規格。 Slurm は、ハイ パフォーマンス コンピューティング (HPC) や生成 AI および FM トレーニング ワークロードで広く使用されている、人気のあるオープン ソース クラスター リソース管理システムです。 SageMaker HyperPod は、数分で Slurm クラスターを立ち上げて実行するための簡単な方法を提供します。
以下は、ユーザーが SageMaker HyperPod と対話する方法、およびさまざまなクラスターコンポーネントが相互に対話する方法、および他の AWS サービス (たとえば、 光沢のためのAmazonFSx および Amazon シンプル ストレージ サービス (Amazon S3)。
Slurm ジョブは、コマンド ラインのコマンドによって送信されます。 Slurm ジョブを実行するコマンドは次のとおりです。 srun
および sbatch
を選択します。 srun
コマンドはトレーニング ジョブを対話型およびブロック モードで実行します。 sbatch
バッチ処理およびノンブロッキング モードで実行されます。 srun
主に即時ジョブを実行するために使用されますが、 sbatch
後のジョブの実行に使用できます。
追加の Slurm コマンドと設定については、「 Slurm ワークロード マネージャーのドキュメント.
自動再開と修復機能
SageMaker HyperPod の新機能の XNUMX つは、ジョブを自動再開する機能です。 以前は、トレーニングまたは微調整ジョブの実行中にワーカー ノードに障害が発生した場合、ジョブのステータスを確認し、最新のチェックポイントからジョブを再開し、実行全体を通じてジョブの監視を継続するのはユーザーの責任でした。 トレーニング ジョブや微調整ジョブを一度に数日、数週間、場合によっては数か月間実行する必要がある場合、ユーザーがジョブの監視と保守にサイクルを費やす必要があるため、追加の管理オーバーヘッドが発生し、コストがかかります。ノードのクラッシュだけでなく、高価な高速化されたコンピューティング インスタンスのアイドル時間のコストも発生します。
SageMaker HyperPod は、自動ヘルスチェック、ノード交換、ジョブ回復を使用してジョブの回復力に対処します。 SageMaker HyperPod の Slurm ジョブは、SageMaker カスタム Slurm プラグインを使用して監視されます。 SPANKフレームワーク。 トレーニング ジョブが失敗すると、SageMaker HyperPod は一連のヘルス チェックを通じてクラスターの健全性を検査します。 クラスター内で障害のあるノードが見つかった場合、SageMaker HyperPod は自動的にそのノードをクラスターから削除し、正常なノードと置き換えて、トレーニング ジョブを再開します。 トレーニング ジョブでチェックポイントを使用すると、中断または失敗したジョブは最新のチェックポイントから再開できます。
ソリューションの概要
SageMaker HyperPod をデプロイするには、まず、 アマゾン バーチャル プライベート クラウド (Amazon VPC) ネットワークおよびセキュリティ グループ、VPC への FSx for Lustre などのサポート サービスのデプロイ、Slurm ライフサイクル スクリプトの S3 バケットへの公開。 次に、SageMaker HyperPod をデプロイして構成し、ヘッド ノードに接続してトレーニング ジョブを開始します。
前提条件
SageMaker HyperPod を作成する前に、まず VPC を設定し、FSx for Lustre ファイル システムを作成し、必要なクラスター ライフサイクル スクリプトを含む S3 バケットを確立する必要があります。 最新バージョンの AWSコマンドラインインターフェイス (AWS CLI) と、そのためにインストールされた CLI プラグイン AWS セッションマネージャー、の機能 AWS システム マネージャー.
SageMaker HyperPod は VPC と完全に統合されています。 新しい VPC の作成については、を参照してください。 デフォルトの VPC を作成する or VPC を作成する。 リソース間で最高のパフォーマンスを備えたシームレスな接続を可能にするには、すべてのリソースを同じリージョンとアベイラビリティーゾーンに作成し、関連するセキュリティグループルールでクラスターリソース間の接続が許可されていることを確認する必要があります。
次に、あなた FSx for Lustre ファイル システムを作成する。 これは、モデルのトレーニング全体で使用される高性能ファイル システムとして機能します。 FSx for Lustre およびクラスターのセキュリティ グループが、クラスター リソースと FSx for Lustre ファイル システム間のインバウンドおよびアウトバウンド通信を許可していることを確認してください。
新しいクラスター インスタンスなどのイベントが発生したときに実行されるクラスター ライフサイクル スクリプトを設定するには、S3 バケットを作成し、デフォルトのライフサイクル スクリプトをコピーし、必要に応じてカスタマイズします。 この例では、すべてのライフサイクル スクリプトを次のバケット プレフィックスに保存します。 lifecycle-scripts
.
まず、サンプル ライフサイクル スクリプトを次の場所からダウンロードします。 GitHubレポ。 希望するクラスターの動作に合わせてこれらをカスタマイズする必要があります。
次に、カスタマイズされたライフサイクル スクリプトを保存するための S3 バケットを作成します。
次に、デフォルトのライフサイクル スクリプトをローカル ディレクトリから目的のバケットにコピーし、プレフィックスを使用します。 aws s3 sync
:
最後に、クラスターのヘッド ノードへの接続を簡略化するためにクライアントをセットアップするには、次のことを行う必要があります。 AWS CLI をインストールまたは更新する インストールして AWS セッションマネージャー CLI プラグイン インタラクティブなターミナル接続でクラスターを管理し、トレーニング ジョブを実行できるようにします。
SageMaker HyperPod クラスターは、利用可能なオンデマンド リソースを使用するか、SageMaker で容量予約をリクエストすることによって作成できます。 容量予約を作成するには、サービス クォータ ダッシュボードで特定のコンピューティング インスタンス タイプと容量割り当てを予約するクォータ増加リクエストを作成します。
トレーニング クラスターをセットアップする
SageMaker HyperPod クラスターを作成するには、次の手順を実行します。
- SageMakerコンソールで、 クラスター管理 下 ハイパーポッドクラスター ナビゲーションペインに表示されます。
- 選択する クラスターを作成する.
- クラスター名と、オプションでクラスター リソースに適用するタグを指定し、選択します。 Next.
- 選択 インスタンスグループの作成 次に、インスタンス グループ名、必要なインスタンス タイプ、必要なインスタンスの数、以前にクラスターのライフサイクル スクリプトをコピーした S3 バケットとプレフィックス パスを指定します。
クラスターの管理とジョブの送信に使用されるコントローラー ノードと、高速化されたコンピューティング インスタンスを使用してトレーニング ジョブを実行するために使用されるワーカー ノードには、異なるインスタンス グループを用意することをお勧めします。 必要に応じて、ログイン ノード用に追加のインスタンス グループを構成できます。
- まず、クラスター ヘッド ノードを含むコントローラー インスタンス グループを作成します。
- このインスタンス グループの場合 AWS IDおよびアクセス管理 (IAM) ロール、選択 新しい役割を作成する インスタンス グループ内のクラスター インスタンスにアクセスさせたい S3 バケットを指定します。
生成されたロールには、デフォルトで、指定されたバケットへの読み取り専用アクセスが付与されます。
- 選択する 役割を作成する.
- 作成時のスクリプト プロンプトに、各インスタンス作成時に実行するスクリプト名を入力します。 この例では、作成時スクリプトが呼び出されます。
on_create.sh
. - 選択する Save.
- 選択する インスタンスグループの作成 ワーカー インスタンス グループを作成します。
- 必要なインスタンスのタイプや数量など、要求された詳細をすべて入力します。
この例では、1.32 つの ml.trnXNUMXxl 高速インスタンスを使用してトレーニング ジョブを実行します。 以前と同じ IAM ロールを使用することも、ワーカー インスタンスのロールをカスタマイズすることもできます。 同様に、このワーカー インスタンス グループには、前のインスタンス グループとは異なる作成時ライフサイクル スクリプトを使用できます。
- 選択する Next をクリックして次に進みます。
- クラスターインスタンスに必要な VPC、サブネット、セキュリティグループを選択します。
低遅延を確保するために、単一のアベイラビリティーゾーンとサブネットでクラスターインスタンスをホストします。
S3 データに頻繁にアクセスする場合は、潜在的なデータ転送コストを削減するために、プライベート サブネットのルーティング テーブルに関連付けられた VPC エンドポイントを作成することをお勧めします。
- 選択する Next.
- クラスターの詳細の概要を確認し、選択します。 送信.
あるいは、AWS CLI を使用して SageMaker HyperPod を作成するには、まずクラスターの作成に使用される JSON パラメータをカスタマイズします。
次に、次のコマンドを使用して、提供された入力を使用してクラスターを作成します。
Llama 2 で最初のトレーニング ジョブを実行する
Llama 2 モデルの使用はメタ ライセンスによって管理されることに注意してください。 モデルの重みとトークナイザーをダウンロードするには、次のサイトにアクセスしてください。 ウェブサイト へのアクセスをリクエストする前にライセンスに同意してください メタのハグフェイスのウェブサイト.
クラスターが実行されたら、クラスター ID、インスタンス グループ名、インスタンス ID を使用してセッション マネージャーにログインします。 次のコマンドを使用して、クラスターの詳細を表示します。
応答のクラスター ARN に含まれるクラスター ID をメモします。
次のコマンドを使用して、クラスターへのログインに必要なインスタンス グループ名とインスタンス ID を取得します。
メモしてください InstanceGroupName
と InstanceId
これらはセッション マネージャーでインスタンスに接続するために使用されるため、応答に含まれます。
ここで、セッション マネージャーを使用してヘッド ノードまたはログイン ノードの XNUMX つにログインし、トレーニング ジョブを実行します。
次に、環境を準備して、Llama 2 と RedPajama データセットをダウンロードします。 完全なコードとその詳しい手順については、次の手順に従ってください。 AWSome 分散トレーニング GitHubレポ。
に詳しく説明されている手順に従います。 2.test_cases/8.neuronx-nemo-megatron/README.md
ファイル。 環境を準備し、モデルを準備し、データセットをダウンロードしてトークン化し、モデルをプリコンパイルする手順に従った後、 6.pretrain-model.sh
スクリプトと sbatch
ジョブ送信コマンドに、SageMaker HyperPod の自動再開機能を利用できるようにするパラメータを含めます。
編集 sbatch
行は次のようになります。
ジョブを送信すると、 JobID
次のコードを使用してジョブのステータスを確認するために使用できます。
さらに、次のコードを使用してジョブ出力ログを追跡することにより、ジョブを監視できます。
クリーンアップ
SageMaker HyperPod クラスターを削除するには、SageMaker コンソールまたは次の AWS CLI コマンドを使用します。
まとめ
この投稿では、AWS 環境を準備し、最初の SageMaker HyperPod クラスターをデプロイし、7 億パラメータの Llama 2 モデルをトレーニングする方法を説明しました。 SageMaker HyperPod は現在、アメリカ (バージニア北部、オハイオ、オレゴン)、アジアパシフィック (シンガポール、シドニー、東京)、およびヨーロッパ (フランクフルト、アイルランド、ストックホルム) リージョンで一般提供されています。 これらは SageMaker コンソール、AWS CLI、AWS SDK を介してデプロイでき、p4d、p4de、p5、trn1、inf2、g5、c5、c5n、m5、t3 インスタンスファミリーをサポートします。
SageMaker HyperPod の詳細については、次のサイトをご覧ください。 Amazon SageMaker ハイパーポッド.
著者について
ブラッド・ドーラン アマゾン ウェブ サービスのシニア テクニカル アカウント マネージャーで、生成 AI に重点を置いています。 彼は、デジタル ネイティブ ビジネス市場セグメントにおける生成 AI 顧客のエンジニアリング上の課題を解決する責任を負っています。 彼はインフラストラクチャとソフトウェア開発のバックグラウンドを持ち、現在は人工知能と機械学習の博士課程の研究と研究を続けています。
渡辺啓太 アマゾン ウェブ サービスのシニア GenAI スペシャリスト ソリューション アーキテクトで、Slurm や Kubernetes などの OSS プロジェクトを使用した機械学習ソリューションの開発を支援しています。 彼の経歴は機械学習の研究開発です。 AWS に入社する前は、Keita は研究科学者として e コマース業界で製品検索用の画像検索システムを開発していました。 ケイタは東京大学で理学博士号を取得しています。
ジャスティン・ピルトル アマゾン ウェブ サービスのプリンシパル ソリューション アーキテクトです。 彼は、生成 AI の顧客に対して、インフラストラクチャの設計、導入、拡張に関して定期的にアドバイスを行っています。 彼は、re:Invent を含む AWS カンファレンスや他の AWS イベントで定期的に講演しています。 Justin は、テキサス大学オースティン校で経営情報システムの学士号を取得し、シアトル大学でソフトウェア エンジニアリングの修士号を取得しています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/introducing-amazon-sagemaker-hyperpod-to-train-foundation-models-at-scale/
- :は
- :どこ
- $UP
- 1
- 100
- 12
- 14
- 24
- 7
- a
- 能力
- 私たちについて
- 加速された
- 加速器
- 同意
- アクセス
- 接近性
- アクセス
- 越えて
- 添加
- NEW
- アドレス
- 管理する
- 行政の
- 利点
- 後
- AI
- すべて
- 配分
- 許す
- ことができます
- また
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- 南北アメリカ
- 金額
- an
- および
- どれか
- 申し込む
- 建築の
- です
- 発生します
- 人工の
- 人工知能
- 人工知能と機械学習
- AS
- アジア
- アジア太平洋地域
- 関連する
- At
- オースティン
- 自動化
- 自動的に
- 賃貸条件の詳細・契約費用のお見積り等について
- 利用できます
- AWS
- 背景
- BE
- になる
- の間に
- 億
- ブロッキング
- ビルド
- 建物
- ビジネス
- by
- 呼ばれます
- 缶
- 機能
- 機能
- 容量
- 最高経営責任者(CEO)
- 挑戦する
- 課題
- 変更
- チェック
- 小切手
- 選択する
- クライアント
- クラスタ
- コード
- 集団
- 来ます
- コミュニケーション
- 通信部
- 会社
- コンプリート
- コンポーネント
- 計算
- コンピューティング
- 会議
- 構成する
- お問合せ
- 接続
- Connections
- 領事
- 続ける
- コントローラ
- 費用
- 高額で
- コスト
- 作ります
- 作成
- 創造
- 現在
- カスタム
- Customers
- カスタマイズ
- カスタマイズ
- サイクル
- サイクル
- ダッシュボード
- データ
- 日
- 取引
- デフォルト
- 度
- 展開します
- 展開
- 展開する
- 設計
- 希望
- 詳細な
- 細部
- 開発する
- 開発
- 開発
- 異なります
- デジタル
- 途絶
- 配布
- 分散コンピューティング
- 分散トレーニング
- ダウンロード
- 原因
- 間に
- 各
- eコマース
- どちら
- 排除
- enable
- エンドポイント
- エンジニアリング
- 確保
- 全体
- 環境
- 環境の
- 確立する
- エーテル(ETH)
- ヨーロッパ
- さらに
- イベント
- イベント
- 例
- 興奮した
- 高価な
- 余分な
- 顔
- Failed:
- 失敗
- 不良解析
- 障害
- 家族
- 速いです
- 欠陥のある
- 特徴
- 特徴
- File
- 名
- 焦点を当て
- フォロー中
- 以前は
- 発見
- Foundation
- AIとMoku
- 創設者兼最高経営責任者(CEO)
- 4
- フレームワーク
- フランクフルト
- 頻繁な
- 頻繁に
- から
- フル
- 完全に
- 一般に
- 生成された
- 生々しい
- 生成AI
- 取得する
- GitHubの
- 目標
- 行く
- 支配
- 付与された
- グループ
- グループの
- ハンドル
- Hardware
- 持ってる
- 持って
- he
- 癒し
- 健康
- 健康
- ヘビー
- 重いもの
- ことができます
- ハイ
- ハイパフォーマンス・コンピューティング
- ハイレベル
- ハイパフォーマンス
- 最高
- 非常に
- 彼の
- 保持している
- host
- 認定条件
- How To
- hpc
- HTML
- HTTP
- HTTPS
- 何百
- IAM
- ID
- アイデンティティ
- アイドル
- if
- 画像
- 即時の
- 実装する
- 改善します
- in
- include
- 含まれました
- 含めて
- 増える
- 産業を変えます
- 情報
- 情報機器
- インフラ
- 入力
- install
- インスタンス
- 説明書
- 統合された
- 統合する
- インテリジェンス
- 対話
- 相互作用的
- インタフェース
- 中断された
- に
- 導入
- 関係する
- アイルランド
- 問題
- IT
- ジョブ
- Jobs > Create New Job
- 参加
- JPG
- JSON
- ジャスティン
- 既知の
- Kubernetes
- 大
- 大規模
- レイテンシ
- 後で
- 最新の
- 主要な
- LEARN
- 学習
- ライブラリ
- 図書館
- ライセンス
- wifecycwe
- フェイスリフト
- ような
- LINE
- linuxの
- ラマ
- ローカル
- ログ
- ログイン
- 見て
- のように見える
- 負け
- ロー
- 機械
- 機械学習
- 維持する
- 保守
- make
- 作る
- 作成
- マネージド
- 管理
- マネジメントシステム
- マネージャー
- 市場
- マスターの
- 問題
- 最大化します
- Meta
- 分
- ML
- モード
- モデル
- モダン
- モニター
- 監視対象
- モニタリング
- ヶ月
- 他には?
- 主に
- 名
- ネイティブ
- ナビゲーション
- 必要
- 必要とされる
- 必要
- ネットワーク
- 新作
- 新しい特徴
- ノード
- 注意
- 今
- Nvidia
- 発生する
- of
- オハイオ
- on
- オンデマンド
- ONE
- 開いた
- オープンソース
- オペレーティング
- オペレーショナル
- 最適化
- 最適化
- or
- 編成
- オレゴン
- オッス
- その他
- 私たちの
- 出力
- が
- 太平洋
- ペイン
- 並列シミュレーションの設定
- パラメーター
- パラメータ
- 通過
- path
- 実行する
- パフォーマンス
- 博士号
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- プラグイン
- 人気
- ポスト
- 潜在的な
- 準備
- 前
- 前に
- 校長
- 事前の
- プライベート
- 先を見越した
- 進む
- 処理
- プロダクト
- 進捗
- プロジェクト(実績作品)
- 提供
- は、大阪で
- 提供
- 出版
- 追求
- 量
- RE
- 推奨される
- 回復
- 減らします
- 参照する
- 地域
- 地域
- レギュラー
- 定期的に
- 削除します
- 修理
- replace
- 置換
- 要求
- 要求されました
- 必要とする
- 必要
- 研究
- 研究開発
- 予約
- ご予約
- 弾力性のあります
- リソースを追加する。
- リソース
- 応答
- 責任
- 履歴書
- 職種
- ルーティング
- ルール
- ラン
- ランニング
- 実行
- セージメーカー
- 同じ
- Save
- 規模
- スケーリング
- 科学
- 科学者
- スクリプト
- スクリプト
- SDK
- シームレス
- を検索
- シアトル
- セキュリティ
- セグメント
- シニア
- 役立つ
- サービス
- サービス
- セッション
- セッションに
- シェアする
- すべき
- 示されました
- 同様に
- 簡単な拡張で
- 簡略化されました
- シンガポール
- より小さい
- ソフトウェア
- ソフトウェア開発
- ソフトウェア工学
- ソリューション
- 解決
- ソース
- スピーカー
- 専門家
- 特定の
- 指定の
- 過ごす
- split
- 安定性
- 安定した
- 規格
- start
- 最先端の
- Status:
- ステップ
- ストレージ利用料
- 店舗
- 簡単な
- 研究
- 提出
- 提出する
- 提出された
- サブネット
- そのような
- スーツ
- スイート
- 概要
- サポート
- 支援する
- 確か
- シドニー
- 同期。
- システム
- テーブル
- 取る
- 技術的
- 十
- ターミナル
- テキサス州
- より
- それ
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- 彼ら
- この
- 数千
- 介して
- 全体
- 時間
- 〜へ
- 今日
- トークン化する
- 東京
- トレーニング
- トレーニング
- 転送
- type
- 下
- 大学
- 東京大学
- アップデイト
- つかいます
- 中古
- ユーザー
- users
- 使用されます
- ユーティリティ
- 活用
- さまざまな
- 広大な
- バージョン
- 、
- 詳しく見る
- バージニア州
- バーチャル
- 訪問
- ウォークスルー
- ました
- 仕方..
- we
- ウェブ
- Webサービス
- ウィークス
- WELL
- いつ
- which
- while
- 広く
- Wikipedia
- 意志
- 以内
- 無し
- 働いていました
- ワーカー
- でしょう
- 貴社
- あなたの
- ゼファーネット