Vertex AI カスタム トレーニングと Vertex AI の Ray を比較する
Vertex AI には、カスタム トレーニングのオプションとして、Vertex AI カスタム トレーニングと Vertex AI 上の Ray の 2 つが用意されています。このページでは、この 2 つのオプションのどちらを選択するかを判断するうえで役立つコンテキストを提供します。
Vertex AI Training | Vertex AI での Ray | |
---|---|---|
フォーカス | 汎用カスタムモデルのトレーニング。 | モデルのトレーニング、分散アプリケーション、モデルのサービングなど、AI アプリケーションと Python アプリケーションのスケーリング。 |
基盤となるフレームワーク | TensorFlow、PyTorch、scikit-learn など、さまざまな ML フレームワークをサポートします。 | オープンソースの Ray フレームワークを活用します。さまざまなフレームワーク(TensorFlow、PyTorch、scikit-learn、RayDP を使用した Ray 上の Spark)をサポートします。 |
柔軟性 | コードと環境の面で高い柔軟性。 | 分散アプリケーションの構築に高い柔軟性があり、既存の Ray コードを最小限の変更で使用できます。 |
スケーラビリティ | 複数のマシンでの分散トレーニングをサポートします。スケーラブルなコンピューティング リソース(CPU、GPU、TPU)を提供します。 | Ray の分散コンピューティング機能(最大 2,000 ノード)を使用して、高いスケーラビリティを実現するように設計されています。手動スケーリングと自動スケーリングをサポートします。 |
インテグレーション | 他の Vertex AI サービス(Datasets、Vertex AI Experiments など)と統合されています。 | Vertex AI Inference や BigQuery などの他の Google Cloud サービスと統合します。 |
使いやすさ | 標準の分散トレーニング パラダイムで使いやすくなっています。 | Ray フレームワークのコンセプトを理解している必要があります。 |
環境 | ビルド済みコンテナまたはカスタム コンテナを使用してカスタム トレーニング コードを実行するためのマネージド環境。 | Ray フレームワークを使用して分散アプリケーションを実行するためのマネージド環境。Vertex AI の Ray クラスタの管理を簡素化します。 |
ハイパーパラメータ調整 | ハイパーパラメータ チューニング機能が含まれています。 | 効率的な最適化と実験管理のためのツールを使用して、ハイパーパラメータの調整を簡素化します。 |
トレーニング パイプライン | 複数のステップを含む複雑な ML ワークフローをサポートします。 | 該当なし |
Vertex AI カスタム トレーニングと Vertex AI の Ray の主な違い
Vertex AI カスタム トレーニングは、さまざまなトレーニング方法を管理する広範なサービスですが、Ray on Vertex AI は Ray 分散コンピューティング フレームワークを具体的に使用します。
Vertex AI Training | Vertex AI での Ray | |
---|---|---|
フォーカス | 主にモデルの開発とトレーニングに重点を置いています。さまざまなトレーニング方法を管理します。 | データ処理、モデル サービング、トレーニングのスケーリングなど、汎用の分散 Python アプリケーション向けに設計されています。 |
基盤となるフレームワーク | 特定の ML フレームワーク(TensorFlow、PyTorch など)の分散機能に関連付けられています。 | Ray を中央の分散コンピューティング フレームワークとして使用します。Ray タスク内で使用される基盤となる ML フレームワークに関係なく、タスクの分散を処理します。 |
リソース構成 | 個々のトレーニング ジョブのリソースを構成します。 | Vertex AI クラスタで Ray クラスタを管理します。Ray はクラスタ内のタスクの分散を処理します。 |
配信の構成 | 特定のトレーニング ジョブのレプリカの数とタイプを構成します。 | Vertex AI で Ray クラスタのサイズと構成を構成します。Ray のスケジューラは、使用可能なノード間でタスクとアクターを動的に分散します。 |
配布範囲 | 通常、単一の長時間実行される可能性のあるトレーニング ジョブに焦点を当てます。 | より永続的で汎用性の高い分散コンピューティング環境を提供します。この環境では、Ray クラスタのライフサイクル全体にわたって複数の分散タスクとアプリケーションを実行できます。 |
概要
Google Cloud 環境内で Ray フレームワークを使用して分散コンピューティングの能力を活用する必要がある場合は、Ray on Vertex AI を使用します。Ray on Vertex AI は、大規模な Vertex AI エコシステム内の特定のツールと見なすことができます。特に、スケーラビリティの高い分散ワークロードに役立ちます。
自動オプション、カスタムコードの実行、ハイパーパラメータのチューニングなど、さまざまなモデル トレーニング アプローチに対応する汎用性の高いマネージド プラットフォームが必要な場合は、Vertex AI の広範なカスタム トレーニング サービスが役立ちます。