AutoML の代わりに独自のトレーニング コードを作成する場合、いくつかのカスタム トレーニングを行うことを検討してください。このトピックでは、カスタム トレーニングを実行するさまざまな方法を簡単に説明します。
Vertex AI のカスタム トレーニング リソース
Vertex AI でカスタムモデルをトレーニングするために作成できる Vertex AI リソースには、次の 3 種類があります。
カスタムジョブを作成する場合、Vertex AI がトレーニング コードを実行するために必要な設定を指定します。次のような設定になります。
- 単一ノード トレーニング用のワーカープール(
WorkerPoolSpec
)または分散トレーニング用の複数のワーカープール - ジョブ スケジューリングの構成のオプション設定(
Scheduling
)、トレーニング コード用の特定の環境変数の設定、カスタム サービス アカウントの使用、VPC ネットワーク ピアリングの使用
ワーカープールでは次の設定を指定できます。
- マシンタイプとアクセラレータ
- ワーカープールで実行するトレーニング コードの種類の構成: Python トレーニング アプリケーション(
PythonPackageSpec
)またはカスタム コンテナ(ContainerSpec
)のいずれか
ハイパーパラメータ調整ジョブを構成するには、指標などの追加設定が必要です。詳しくは、ハイパーパラメータ調整をご覧ください。
トレーニング パイプラインは、追加のステップとしてカスタム トレーニング ジョブまたはハイパーパラメータ調整ジョブをオーケストレートします。たとえば、トレーニング ジョブが正常に完了した後に Vertex AI へのデータセットの読み込みやモデルのアップロードなどを行います。
カスタム トレーニング リソース
プロジェクト内の既存のトレーニング パイプラインを表示するには、Google Cloud Console で [Vertex AI] セクションの [TRAINING PIPELINE] ページに移動します。
プロジェクト内の既存のカスタムジョブを表示するには、[CUSTOM JOB] ページに移動します。
プロジェクト内の既存のハイパーパラメータ調整ジョブを表示するには、[HYPERPARAMETER TUNING] ページに移動します。
ビルド済み / カスタム コンテナ
カスタム トレーニング ジョブ、ハイパーパラメータ調整ジョブ、またはトレーニング パイプラインを Vertex AI に送信する前に、Python トレーニング アプリケーションまたはカスタム コンテナを作成して、Vertex AI で実行するトレーニング コードと依存関係を定義する必要があります。TensorFlow、PyTorch、scikit-learn、または XGBoost を使用して Python トレーニング アプリケーションを作成する場合は、ビルド済みのコンテナを使用してコードを実行できます。どちらを選択すべきか判断に迷う場合は、トレーニング コードの要件をご覧ください。
分散トレーニング
分散トレーニング用のカスタム トレーニング ジョブ、ハイパーパラメータ調整ジョブ、またはトレーニング パイプラインを構成するには、複数のワーカープールを指定します。
- 最初のワーカープールを使用してプライマリ レプリカを構成し、レプリカ数を 1 に設定します。
- 機械学習フレームワークが分散トレーニング用のこれらの追加クラスタタスクをサポートしている場合は、ワーカープールを追加して、ワーカー レプリカ、パラメータ サーバー レプリカ、またはエバリュエータ レプリカを構成します。
分散トレーニングの使用方法の詳細。
次のステップ
- カスタム トレーニング ジョブを実行する永続リソースの作成方法を学習する。
- Vertex AI でカスタム トレーニング アプリケーションを実行するためのカスタム トレーニング ジョブの作成方法については、カスタム トレーニング ジョブの作成をご覧ください。
- Vertex AI でカスタム トレーニング アプリケーションを実行するためのトレーニング パイプラインの作成方法については、トレーニング パイプラインの作成をご覧ください。
- ハイパーパラメータ調整については、ハイパーパラメータ調整の使用をご覧ください。