Vertex AI トレーニング クラスタの概要

Vertex AI トレーニング クラスタに関心をお持ちの場合は、営業担当者にお問い合わせください。

Vertex AI トレーニング クラスタは、最大かつ最も複雑な AI / ML ワークロードを簡素化し、高速化するために Google Cloud が設計したサービスです。これは、複雑なクラスタ構成、フレームワークの最適化、ハードウェア障害の処理、異なるツールセットの統合など、大規模なトレーニングの課題に対処するために特別に構築されています。

主な価値提案と機能

Model Development Service には、次のような主なメリットがあります。

  • オープンソースの Slurm UX とクラスタの透明性: Vertex AI トレーニング クラスタは、オープンソースの Slurm ユーザー エクスペリエンスを通じてジョブを起動して管理するための、使い慣れた柔軟なツールを提供します。Slurm は、最適化された GPU スケジューリング、自動化されたフォールト トレランス、簡素化された並列ジョブの起動で知られる業界標準です。

  • クラスタの自動設定と構成: Vertex AI トレーニング クラスタは、クラスタの設定と構成を自動化し、数時間で予約から本番環境のトレーニングに移行することを目指しています。ユーザーは、 Google Cloud コンソール(リファレンス アーキテクチャまたはステップバイステップ構成を使用)または JSON ファイルを介した API 呼び出しを使用して、クラスタを作成できます。

  • 事前構成済みのデータ サイエンス レシピとワークフロー: Vertex AI トレーニング クラスタには、Llama モデルや Gemma モデルなどの一般的なユースケースのトレーニングをすぐに始めるための専用ツールと最適化されたトレーニング レシピが含まれています。これらは、事前トレーニング、SFT(教師ありファインチューニング)、強化学習(RL)に対応しています。これらのレシピは、 Google Cloudインフラストラクチャで最先端(SOTA)のパフォーマンスを実現するように事前構成されており、パフォーマンスが大幅に向上します。

  • ハードウェアの復元力と高い稼働時間: Vertex AI トレーニング クラスタは、クラスタの稼働時間を向上させるハードウェアの復元力を備えた設計になっています。ハードウェアの問題を自動的に解決し、さまざまな障害モード(正確性チェック、速度チェック、エラー訂正コード(ECC)エラー、NVIDIA Data Center GPU Manager(DCGM)チェック、ディスク容量など)を検出してトリアージして、再起動、再イメージング、障害のあるノードの交換、チェックポイントからの再開などの修復アクションをトリガーします。これにより、大規模なトレーニングでジョブの中断やハードウェア障害によって発生する大幅なコスト増加と遅延を軽減できます。

  • アーキテクチャとコンポーネント: Vertex AI トレーニング クラスタは、GPU と CPU をサポートする Compute Engine インフラストラクチャで実行されます。マネージド Slurm オーケストレーターを利用して、ログインノードやワーカーノードなどのコンピューティング ノードをデプロイして管理します。このサービスは、ネットワーキングやストレージなどの他の Google Cloud サービスと統合されています。

  • MLOps とオブザーバビリティ: Vertex ML Ops ツール(Vertex AI Model Registry など)と統合して、トレーニングされたワークフローの自動登録、追跡、バージョニングを行います。また、Vertex AI Inference と統合して、自動スケーリングと自動化された指標を使用してデプロイします。トレーニング クラスタには、Vertex AI TensorBoard との自動オブザーバビリティ統合機能も備わっています。トレーニング プロセスの可視化、指標の追跡、問題の早期特定が可能です。

トレーニング クラスタは、Vertex AI トレーニング クラスタ API を使用して作成、取得、一覧表示、更新、削除できます。クラスタの作成後、ユーザーはノードにログインして、基本的な Slurm コマンド(sinfosbatch など)を実行し、GPU 関連のワークロード(nvidia-smi など)を実行して、クラスタの機能を確認できます。クラスタの正常性スキャナ(CHS)ツールは、DCGM や NCCL テストなどの診断を実行してクラスタの準備状況を確認するために、事前にインストールされています。

Vertex AI トレーニング クラスタは、Llama や Gemma などのモデル用に最適化されたレシピを使用して事前構築済み LLM ジョブを起動するための API を提供し、チェックポイントからの事前トレーニングと継続的な事前トレーニングをサポートします。ジョブのモニタリングでは、ログインノードにログインし、出力ファイルと squeue などの Slurm コマンドを調べることができます。

用語

このセクションでは、Vertex AI トレーニング クラスタを理解し、効果的に活用するために不可欠な重要な用語とコンセプトの定義について説明します。これらの用語は、コア サービス コンポーネント、アーキテクチャの考慮事項、統合ストレージ テクノロジー、トレーニング環境の基盤となる基本的な ML と MLOps のコンセプトを網羅しています。

コアサービスのコンセプト

ノード
  • クラスタ内の単一の仮想マシン(Compute Engine インスタンス)。予約済みクラスタでのマネージド トレーニングのコンテキストでは、ノードはクラスタ内の単一のコンピューティング ユニットとして機能する個別の仮想マシン(VM)を指します。これは、トレーニング ジョブ全体の一部を実行する専用のワーカーマシンの一つとして考えることができます。各ノードには、CPU、メモリ、アクセラレータ(例: A3 GPU、A4 GPU)などの特定のリソースが搭載されており、それらすべてのリソースが大規模な分散トレーニング タスクを処理するために連携して動作します。
ログインノード
パーティション
  • Slurm では、ノードの論理グループ。多くの場合に、ハードウェア構成が異なるノードを分離するために使用されます。
レシピ
  • マネージド トレーニングのコンテキストでは、レシピは、特定の大規模なトレーニング ワークロードを実行するために必要なすべての要素を含む、包括的で再利用可能なパッケージです。
Slurm クラスタ
  • Slurm によって管理される Compute Engine インスタンスのコレクション。ログインノードと、トレーニング ジョブの実行用に構成された複数のワーカーノードが含まれます。詳細については、Slurm ワークロード マネージャーをご覧ください。
ワーカーノード
  • ワーカーノードは、タスクや作業の実行を担当する、クラスタ内の個々のマシンまたはコンピューティング インスタンスを指します。Kubernetes クラスタや Ray クラスタなどのシステムでは、ノードがコンピューティングの基本単位です。詳細については、ハイ パフォーマンス コンピューティング(HPC)とはをご覧ください。

アーキテクチャとネットワーキング

コンシューマー VPC ネットワーク
  • コンシューマー VPC ネットワークは、別の VPC(プロデューサー VPC)でホストされているサービスにプライベートにアクセスする Google Cloud Virtual Private Cloud(VPC)です。詳細については、Private Service Connect をご覧ください。
最大伝送単位(MTU)
  • ネットワーク接続デバイスが送信できるデータパケットの最大サイズ。MTU サイズ(ジャンボ フレーム)を大きくすると、特定のワークロードのネットワーク パフォーマンスを向上させることができます。詳細については、最大伝送単位をご覧ください。
プライベート サービス アクセス
  • プライベート サービス アクセスは、Virtual Private Cloud(VPC)ネットワークと Google またはサードパーティ サービス プロバイダが所有するネットワークとのプライベート接続です。これにより、VPC ネットワーク内の仮想マシン(VM)インスタンスは、内部 IP アドレスを使用してこれらのサービスと通信できるため、公共のインターネットに公開する必要がなくなります。詳しくは、プライベート サービス アクセスをご覧ください。
VPC ネットワーク ピアリング
  • 2 つの VPC ネットワークがプライベートに通信できるようにするネットワーク接続。予約済みクラスタでのマネージド トレーニングのコンテキストでは、VPC ネットワーク ピアリングは必要不可欠なサービスを統合するための重要なコンポーネントです。たとえば、クラスタの VPC を Filestore インスタンスに接続するために必要な方法です。これにより、クラスタ内のすべてのノードに必要な共有の「/home」ディレクトリが配置されます。
ゾーン
  • Google Cloud リージョン内の特定のデプロイエリア。予約済みクラスタでのマネージド トレーニングのコンテキストでは、最適なパフォーマンスを得るために、サービスのすべてのコンポーネント(クラスタおよび Filestore、Managed Lustre のインスタンス)を同じゾーンに作成する必要があります。

統合ストレージ テクノロジー

Cloud Storage FUSE
  • オープンソースの FUSE アダプタ。これにより、Linux または macOS システムに Cloud Storage バケットをファイル システムとしてマウントできます。詳細については、Cloud Storage Fuse をご覧ください。
Filestore
  • Google Cloud のフルマネージド型の高性能ファイル ストレージ サービス。共有ファイル システムを必要とするアプリケーションでよく使用されます。詳細については、Filestore の概要をご覧ください。
Managed Lustre
  • ハイ パフォーマンス コンピューティング用に設計された並列分散ファイル システム。Google Cloud の Managed Lustre は、要求の厳しいワークロード向けに高スループットのファイル システムを提供します。詳細については、Managed Lustre の概要をご覧ください。
パフォーマンス階層
  • Managed Lustre インスタンスのスループット速度(TiB あたりの MBps)を定義し、最小容量と最大容量に影響する構成設定。

ML と MLOps の主なコンセプト

チェックポイント
  • トレーニング中またはトレーニング完了後にモデルのパラメータの状態をキャプチャするデータ。たとえば、トレーニング中に、次のことが可能です。1. トレーニングを停止します。これは、意図的に行う場合もあれば、特定のエラーの結果としてそうなる場合もあります。2. チェックポイントをキャプチャします。3. 後で、別のハードウェアでチェックポイントを再読み込みします。4. トレーニングを再開します。Gemini では、チェックポイントは特定のデータセットでトレーニングされた Gemini モデルの特定のバージョンを指します。
教師ありファインチューニング(SFT)
  • 事前トレーニング済みモデルを小規模なラベル付きデータセットでさらにトレーニングし、特定のタスクに適応させる ML 手法。
Vertex AI Inference
  • トレーニング済みの ML モデルを使用して、新しい未知のデータから推論を行うことができるようにする Vertex AI サービス。Vertex AI は、推論用のモデルをデプロイするためのサービスを提供します。詳細については、カスタム トレーニング済みモデルから推論を取得するをご覧ください。
Vertex AI Model Registry
  • Vertex AI Model Registry は、ML モデルのライフサイクルを管理できる中央リポジトリです。Vertex AI Model Registry ではモデルの概要を確認できるため、新しいバージョンの整理、追跡、トレーニングの向上が実現します。デプロイするモデル バージョンがある場合は、レジストリから直接エンドポイントに割り当てるか、エイリアスを使用してモデルをエンドポイントにデプロイできます。詳細については、Vertex AI Model Registry の概要をご覧ください。
Vertex AI TensorBoard
  • Vertex AI TensorBoard は、Google Cloud 上のスケーラブルなマネージド サービスです。データ サイエンティストと ML エンジニアは、使い慣れたオープンソースの TensorBoard インターフェースを使用して、ML テストの可視化、モデル トレーニングのデバッグ、パフォーマンス指標の追跡を行うことができます。Vertex AI Training などのサービスとシームレスに統合され、テストデータの永続ストレージを提供し、モデル開発の共同での分析を可能にします。詳細については、Vertex AI TensorBoard の概要をご覧ください。