Vertex AI の概要

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

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

  • AutoML を使用すると、コードの記述やデータ分割の準備を行わずに、表形式、画像、テキスト、動画のデータをトレーニングできます。これらのモデルは、オンライン予測用にデプロイするか、バッチ予測用に直接クエリを実行できます。

  • カスタム トレーニングでは、任意の ML フレームワークの使用、独自のトレーニング コードの記述、ハイパーパラメータ チューニング オプションの選択など、トレーニング プロセスを完全に制御できます。カスタム トレーニング モデルを Model Registry にインポートし、事前構築済みまたはカスタム コンテナを使用してオンライン予測用にエンドポイントにデプロイできます。または、バッチ予測を直接クエリすることもできます。

  • 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 で ML ワークフロー全体を実行できます。Vertex AI と統合された Colaboratory の一バージョンである Colab Enterprise で、チームと協力してモデルを開発できます。その他の使用可能なインターフェースには、Google Cloud コンソール、Google Cloud CLI コマンドライン ツール、クライアント ライブラリ、Terraform(限定サポート)があります。

Vertex AI と ML ワークフロー

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

ML ワークフローの図

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

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

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

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

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

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

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

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

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

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

  3. モデルの評価とイテレーション: トレーニング済みモデルを評価し、評価指標に基づいてデータを調整して、モデルをイテレーションします。

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

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

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

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

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

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

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

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

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

次のステップ