View a markdown version of this page

Ray とは - Amazon SageMaker AI

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

Ray とは

Ray は、AI および Python アプリケーションをスケーリングするためのオープンソースの統合フレームワークです。並列処理用のコンピューティングレイヤーを提供するため、クラスター全体で作業を実行するために分散システムの専門家である必要はありません。PyTorch、JAX、または vLLM を書き続け、Ray がスケーリングを処理します。概要の詳細については、Ray ドキュメントの「概要」を参照してください。

Ray フレームワーク

Ray には 3 つのレイヤーがあります。

  • Ray AI ライブラリは、一般的な機械学習タスク用の Python ライブラリのセットです。

  • Ray Core は、Python アプリケーションをスケールする汎用分散コンピューティングライブラリです。

  • Ray クラスター、ヘッドノードに接続されたワーカーノードのセット。クラスターは固定サイズにすることも、アプリケーションがリクエストするリソースに自動スケーリングすることもできます。

Ray AI ライブラリ

  • 分散データの前処理とバッチ推論のための Ray Data。

  • 分散トレーニング、データ並列、モデル並列用の Ray Train。

  • 並列ハイパーパラメータ調整用の Ray Tune。

  • オンラインモデル提供用の Ray Serve。

  • 強化学習用の RLlib。

Ray での強化学習

RLlib は、Ray が出荷する強化学習ライブラリです。さらに、1 回の実行で、ロールアウト生成、報酬スコアリング、ポリシートレーニングなど、複数の異なるロールGPUs 間で同時に配置および調整する必要があるため、Ray での大規模言語モデルトレーニング後のビルドに使用される強化学習フレームワークは分散レイヤーに使用されます。Ray Core は、アクターの配置とスケジューリングを提供します。

Ray で実行されるフレームワークには、verl、OpenRLHF、NVIDIA NeMo-RL などがあります。各 は通常の Ray ワークロードとして実行されるため、Ray がサポートするすべての はここで同じ方法で実行されます。

Ray が処理するもの

Ray は、ユーザーの分散システムの作業を管理します。

  • 分散アプリケーションのコンポーネントのオーケストレーション。

  • タスクが実行されるタイミングと場所のスケジュール。

  • 耐障害性のため、タスクは失敗しても完了します。

  • 需要に合わせてリソースを自動スケーリングします。

HyperPod での Ray

HyperPod は KubeRay 演算子を介してオープンソース Ray を実行しますが、変更はありません。Ray をフォークしたり、Ray ランタイムを変更したり、独自のスケジューラを導入したりすることはありません。RayCluster、RayCronJob、、および RayJobRayServiceはアップストリームと同様に動作し、すでに実行しているマニフェストは引き続き機能します。設定方法については、「」を参照してください開始方法。