Vertex AI は、ML モデルと AI アプリケーションのトレーニングとデプロイを行い、AI を活用したアプリケーションで使用する大規模言語モデル(LLM)をカスタマイズできる ML プラットフォームです。Vertex AI は、データ エンジニアリング、データ サイエンス、ML エンジニアリングのワークフローを統合することで、チームが共通のツールセットを使用して連携し、 Google Cloudのメリットを利用したアプリケーションをスケーリングできるようにします。
Vertex AI には、モデルのトレーニングとデプロイのオプションが複数用意されています。
AutoML を使用すると、コードの記述やデータ分割の準備を行わずに、表形式または画像のデータをトレーニングできます。これらのモデルは、オンライン推論用にデプロイするか、バッチ推論用に直接クエリできます。
Vertex AI サーバーレス トレーニングでは、トレーニング プロセスを完全に制御できます。任意の ML フレームワークを使用して独自のトレーニング コードを指定すると、Vertex AI はジョブの実行に必要なリソースをオンデマンドでプロビジョニングします。この従量課金制モデルは、柔軟なテストジョブや本番環境のジョブに最適です。
Vertex AI トレーニング クラスタは、大規模で高性能なトレーニング専用の予約済みコンピューティングを提供します。永続クラスタを作成すると、フルマネージド環境内で、ミッション クリティカルな ML ワークロードの容量とジョブの高速起動を実現できます。
Ray on Vertex AI は、オープンソースの Ray フレームワークを使用して分散 Python と ML のワークロードを実行およびスケーリングするためのマネージド サービスを提供します。これは、永続クラスタで Ray のライブラリを使用してインタラクティブな開発を行うユーザーに最適です。
Model Garden を使用すると、Vertex AI の検出、テスト、カスタマイズ、デプロイが可能になり、オープンソースのモデルとアセットを選択できます。
生成 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 を使用してモデルを構築およびデプロイする方法について説明します。
データの準備: データセットを抽出してクリーニングした後、探索的データ分析(EDA)を実行して、ML モデルで想定されるデータスキーマと特性を把握します。データ変換と特徴量エンジニアリングをモデルに適用し、データをトレーニング セット、検証セット、テストセットに分割します。
Vertex AI Workbench ノートブックを使用してデータを探索、可視化します。Vertex AI Workbench は Cloud Storage および BigQuery と統合されているため、データへのアクセスと処理を高速化できます。
大規模なデータセットの場合は、Vertex AI Workbench ノートブックから Dataproc Serverless Spark を使用して、独自の Dataproc クラスタを管理することなく Spark ワークロードを実行します。
モデルのトレーニング: モデルをトレーニングし、パフォーマンス向上のために調整するトレーニング方法を選択します。
コードを記述せずにモデルをトレーニングするには、AutoML の概要をご覧ください。AutoML では表形式または画像のデータを使用できます。
Vertex AI サーバーレス トレーニングを使用して、フルマネージド環境でカスタム トレーニング コードをオンデマンドで実行します。Vertex AI サーバーレス トレーニングの概要をご覧ください。
専用の予約済みアクセラレータ クラスタで保証された容量を必要とする大規模なジョブには、Vertex AI トレーニング クラスタを使用します。Vertex AI トレーニング クラスタの概要をご覧ください。
Ray on Vertex AI で、マネージド インタラクティブ クラスタ上のオープンソースの Ray フレームワークを使用して Python と ML のワークロードをスケーリングします。Ray on Vertex AI の概要をご覧ください。
Vertex AI Vizier では、複雑な機械学習(ML)モデルでハイパーパラメータを調整できます。
Vertex AI Experiments を使用すると、さまざまな ML 手法でモデルをトレーニングし、結果を比較できます。
トレーニング済みモデルを Vertex AI Model Registry に登録して、バージョニングと本番環境へのハンドオフを行います。Vertex AI Model Registry は、モデル評価やエンドポイントなどの検証機能とデプロイ機能と統合されています。
モデルの評価とイテレーション: トレーニング済みモデルを評価し、評価指標に基づいてデータを調整して、モデルをイテレーションします。
- 適合率や再現率などのモデル評価指標を使用して、モデルのパフォーマンスを評価、比較します。Vertex AI Model Registry で評価を作成するか、Vertex AI Pipelines ワークフローに評価を含めます。
モデル提供: 本番環境にモデルをデプロイし、オンライン推論を取得するか、バッチ推論用に直接クエリします。
事前構築済みコンテナまたはカスタム コンテナを使用してカスタムトレーニング済みモデルをデプロイし、リアルタイムのオンライン推論(HTTP 推論と呼ばれることもあります)を取得します。
エンドポイントへのデプロイを必要としない非同期バッチ予測を取得します。
最適化された TensorFlow ランタイムを使用すると、オープンソース ベースの事前構築済み TensorFlow Serving コンテナよりも低コスト、低レイテンシで TensorFlow モデルを提供できます。
表形式のモデルを使用するオンライン サービング ケースの場合は、Vertex AI Feature Store を使用して、中央リポジトリから特徴を提供し、特徴の状態をモニタリングします。
Vertex Explainable AI は、各特徴がモデル推論にどのように影響するか(特徴アトリビューション)を把握し、トレーニング データセット(サンプルベースの説明)から誤ってラベル付けされたデータを見つけるのに役立ちます。
BigQuery ML でトレーニングされたモデルのオンライン推論をデプロイして取得します。
モデル モニタリング: デプロイされたモデルのパフォーマンスをモニタリングします。受信した推論データを使用してモデルを再トレーニングし、パフォーマンスを改善します。
- Vertex AI Model Monitoring は、トレーニング サービング スキューと推論ドリフトをモニタリングし、受信推論データスキューがトレーニング ベースラインから遠すぎる場合にアラートを送信します。
次のステップ
Vertex AI の MLOps 機能について学習する。
Vertex AI とのやり取りに使用できるインターフェースについて学習する。