Vertex AI の概要

Vertex AI は、ML モデルと AI アプリケーションをトレーニングしてデプロイし、AI を活用したアプリケーションで使用する大規模な言語モデル(LLM)をカスタマイズする機械学習(ML)プラットフォームです。Vertex AI は、データ エンジニアリング、データ サイエンス、ML エンジニアリングのワークフローを組み合わせ、チームが共通のツールセットを使用してコラボレーションを行い、Google Cloud のメリットを活用してアプリケーションをスケーリングできるようにします。

Vertex AI には、モデルのトレーニングとデプロイのオプションが複数用意されています。

  • AutoML を使用すると、コードを作成したりデータ分割を準備したりすることなく、表形式、画像、テキスト、動画のデータをトレーニングできます。

  • カスタム トレーニングを使用すると、任意の ML フレームワークの使用、独自のトレーニング コードの作成、ハイパーパラメータ調整オプションの選択など、トレーニング プロセスを完全に制御できます。

  • Model Garden を使用すると、Vertex AI の検出、テスト、カスタマイズ、デプロイを行い、オープンソース(OSS)モデルとアセットを選択できます。

  • 生成 AI を使用すると、複数のモダリティ(テキスト、コード、画像、音声)を対象とした Google の大規模な生成 AI モデルを利用できます。必要に応じて Google の LLM を調整し、AI を利用するアプリケーションで使用することができます。

モデルをデプロイしたら、Vertex AI のエンドツーエンドの MLOps ツールを使用して、ML ライフサイクル全体でプロジェクトを自動化およびスケーリングします。これらの MLOps ツールは、パフォーマンスと予算のニーズに応じてカスタマイズできるフルマネージド インフラストラクチャで実行されます。

Vertex AI SDK for Python を使用すると、Jupyter ノートブック ベースの開発環境である Vertex AI Workbench で機械学習ワークフロー全体を実行できます。チームと協力して、Colab Enterprise(Vertex AI と統合された Colaboratory バージョン)でモデルを開発できます。その他の使用可能なインターフェースには、Google Cloud Console、gcloud コマンドライン ツール、クライアント ライブラリ、Terraform(制限されたサポート)があります。

Vertex AI と機械学習(ML)ワークフロー

このセクションでは、機械学習ワークフローの概要と、Vertex AI を使用してモデルを構築してデプロイする方法について説明します。

ML ワークフローの図

  1. データの準備: データセットを抽出してクリーニングした後、探索的データ分析(EDA)を実行して、ML モデルで想定されるデータスキーマと特性を理解します。データ変換と特徴量エンジニアリングをモデルに適用し、データをトレーニング、検証、テストセットに分割する。

    • Vertex AI Workbench ノートブックを使用してデータを探索し、可視化します。Vertex AI Workbench は Cloud Storage および BigQuery と統合されているため、データへのアクセスと処理を迅速に行うことができます。

    • 大規模なデータセットの場合、Vertex AI Workbench ノートブックの Dataproc サーバーレス Spark を使用して、独自の Dataproc クラスタを管理することなく Spark ワークロードを実行します。

  2. モデルのトレーニング: モデルをトレーニングしてパフォーマンスを調整するために、トレーニング方法を選択します。

    • コードを記述せずにモデルをトレーニングするには、AutoML の概要をご覧ください。AutoML は、表形式、画像、テキスト、動画のデータをサポートします。

    • 独自のトレーニング コードを作成し、任意の ML フレームワークを使用してカスタムモデルをトレーニングするには、カスタム トレーニングの概要をご覧ください。

    • カスタム チューニング ジョブを使用して、カスタム トレーニング モデルのハイパーパラメータを最適化する。

    • Vertex AI Vizier は、複雑な機械学習(ML)モデルでハイパーパラメータを調整します。

    • Vertex AI Experiments を使用して、さまざまな ML 手法でモデルをトレーニングし、結果を比較します。

    • Vertex AI Model Registry にトレーニング済みモデルを登録して、バージョニングと本番環境へのハンドオフを行います。Vertex AI モデル レジストリは、モデル評価やエンドポイントなどの検証とデプロイの機能と統合されます。

  3. モデルの評価と反復: トレーニング済みのモデルを評価し、評価指標に基づいてデータを調整し、モデルで反復処理を行います。

    • 適合率や再現率などのモデル評価の指標を使用して、モデルのパフォーマンスを評価、比較します。Vertex AI Model Registry を使用して評価を作成するか、Vertex AI Pipelines ワークフローに評価を含めます。
  4. モデルのサービング: 本番環境へのモデルのデプロイ、予測の取得

    • リアルタイムでオンライン予測(HTTP 予測とも呼ばれます)を取得するために、ビルド済みまたはカスタム コンテナを使用して、カスタム トレーニング モデルをデプロイします。

    • エンドポイントへのデプロイを必要としない非同期バッチ予測を取得する。

    • 最適化された TensorFlow ランタイムにより、オープンソース ベースのビルド済み TensorFlow サービス コンテナよりも低コストで、低レイテンシの TensorFlow モデルを提供できます。

    • 表形式のモデルを使用するオンライン サービング ケースの場合は、Vertex AI Feature Store を使用して、中央リポジトリから特徴を提供し、特徴の状態をモニタリングします。

    • Vertex Explainable AI は、各特徴がモデル予測にどのように影響するか(特徴アトリビューション)を把握し、トレーニング データセット(example-based explanation)から誤ってラベル付けされたデータを見つけるのに役立ちます。

    • BigQuery ML でトレーニングされたモデルのオンライン予測をデプロイして取得する。

  5. モデル モニタリング: デプロイされたモデルのパフォーマンスをモニタリングします。受信予測データを使用してモデルを再トレーニングし、パフォーマンスを向上させます。

    • Vertex AI Model Monitoring は、トレーニング / サービング スキューと予測ドリフトをモニタリングし、受信予測データがトレーニング ベースラインから大きく離れている場合にアラートを送信します。

次のステップ