概要
AWS Machine Learning Blogにおいて、大規模なAIモデルの分散学習を効率化する「Ray Train DLCs」を活用した構成が紹介されました。複雑になりがちなコンテナの環境構築をAWS側が事前に行います。これで、開発者はモデルの学習に集中できるようになります。
Amazon Elastic Kubernetes Service(Amazon EKS)環境をベースにしています。さらに、Elastic Fabric Adapter(EFA)を用いた高速なノード間通信を実現しているのが特徴です。
何が発表された?
AWS Machine Learning Blogによると、AWSは「Ray Train DLCs(Deep Learning Container)」を公開しました。これはAmazon Elastic Container Registry(Amazon ECR)Publicを通じて提供されます。PyTorchを使った分散学習に必要な複雑なソフトウェアスタックが含まれています。これらをあらかじめ統合し、テストした状態で提供するものです。
発表の位置づけとしては、新機能の追加というわけではありません。既存インフラ構築の手間を大幅に削減するための公式コンテナイメージおよび構成パターンの提示となります。主な構成要素は以下の通りです。
- Ray Train DLC(公開イメージ)
- Amazon EKS(コンテナ管理基盤)
- KubeRay(Kubernetes上でRayクラスターを管理するオープンソースのオペレーター)
- Elastic Fabric Adapter(EFA)(低遅延なネットワークを実現するAWSのカスタムネットワークインターフェイス)
- Qwen2.5-1.5B(ファインチューニング対象のモデル例)
あわせて読みたいネオクラウドとは:GPU不足と電力危機で台頭したAIインフラ→前と何が違う?
面倒な依存関係の構築が不要に
これまでは様々なバージョンを合わせる作業が不可欠でした。CUDAのバージョンやNCCL(NVIDIA Collective Communications Library)、AWS OFI NCCLプラグインなどが対象です。Ray Train DLCsではこれらがすでにビルド・検証済みです。そのため、開発者が個別に調整する必要がなくなりました。
ドライバーの自動適合とバージョン管理
ホスト側のNVIDIAドライバーが古い場合があります。そんな時でもエントリーポイントが自動的に動作します。バンドルされたCUDA前方互換ライブラリを有効化する仕組みです。これにより、環境起因のトラブルが軽減されます。
ヘッドとワーカーで同一のイメージを利用
Rayクラスターのヘッドポッドとワーカーポッドの双方で同じイメージを利用できます。しかも同じタグのものをそのまま使えます。ロールの違いは設定パラメータで制御するため、イメージ管理がシンプルになります。
数字で見るとどう変わった?
今回のサンプル構成で示されたスペックや要件は以下の通りです。
- 使用インスタンス:g6.12xlargeを2台(各インスタンスに4基のNVIDIA L4 GPU、48 vCPUs、192 GiBのメモリ、40 Gbpsのネットワーク、1つのEFAインターフェイス)
- コントロールプレーン等:m7i.xlarge(CPUシステムノード)
- 推定予算:GPUインスタンス稼働時で時間あたり約9.50ドル(両インスタンス、EKSコントロールプレーン、NATゲートウェイを含む)
- G-family On-Demand容量のクォータ要件:96 vCPUs
ライバルと比べてどう?
(編集部注:特定の競合クラウドサービスとの直接比較データは元記事に記載されていないため省略する。)AWSのインフラストラクチャ上でKubeRayとEFAを直接連携させます。これにより、ネットワークのボトルネックを最小限に抑えることが可能です。その上でKubernetes環境でRayによる分散学習を行える点が大きな優位性となっています。
料金は?
Ray Train DLCsのイメージ自体はAmazon ECR Publicから取得可能です。しかも追加の認証情報なしで取得できます。ただし、実際に実行する際にはAWS上でリソースを稼働させます。Amazon EKSクラスターやAmazon EC2インスタンス(g6.12xlargeなど)が対象です。それらのリソースに応じたAWSの通常料金が発生します。サンプル構成では、時間あたり約9.50ドルの予算を見込む必要があるとされています。
日本で使える?
使えます。日本のAWSリージョンを含め、検証することが可能です。指定されたインスタンスタイプ(g6.12xlargeなど)が提供されている環境であれば、同様の構成をデプロイできます。今日から試すための主な手順とポイントは以下の通りです。
- 必要なツール:AWS CLI v2、eksctl、kubectl、Helm、envsubst(GNU gettext)
- 認証の確認:対象のアカウントにサインインした状態で
aws sts get-caller-identity を実行する。
- リージョン選定:g6.12xlargeインスタンスおよびEFAが利用可能な単一のAvailability Zone(AZ)を選択する。
- リポジトリの取得:公式ブログで案内されているサンプルリポジトリからマニフェストファイルを取得し、KubeRayを介してクラスターをデプロイする。
自分にはどう関係する?
エンジニアなら
インフラの依存関係トラブルに悩まされることがなくなります。PyTorch FSDPを用いた大規模モデルのファインチューニング環境を短時間で立ち上げることができるようになります。
企画・マーケティングなら
社内のAIモデル開発における基盤構築のリードタイムが短縮されます。新しいAI機能の検証やプロダクトへの応用を迅速に進められるようになります。
経営者・管理者なら
インフラ構築にかかるエンジニアの工数を削減できます。その上でAWS上で効率的な分散学習環境を標準化できます。結果としてAI投資の費用対効果を高められるようになります。
まとめ
Ray Train DLCsを利用することで大きな効果が得られます。マルチノードでの分散学習における最大の障壁であったコンテナ環境の構築・維持コストを大幅に引き下げることができます。
読者が次に取るべきアクションがあります。それはAWS公式ブログのサンプルリポジトリを確認することです。そして自身のAWS環境での検証を計画することが挙げられます。