AI Platform を使用すると、大規模な機械学習モデルをトレーニングして、トレーニング済みモデルをクラウドでホストし、モデルを使用して新しいデータについて予測できます。
AI Platform が ML ワークフローに適合する場所
下の図は、ML ワークフローの段階の概要を示しています。青色で塗りつぶされたボックスは、AI Platform がマネージド サービスと API を提供する場所を示します。
図が示すように、AI Platform を使用して、ML ワークフローの次の段階を管理できます。
データで ML モデルをトレーニングする。
- モデル トレーニング
- モデルの精度を評価する
- ハイパーパラメータを調整する
トレーニング済みモデルをデプロイする。
モデルに予測リクエストを送信する。
- オンライン予測
- バッチ予測(TensorFlow のみ)
継続的に予測をモニタリングする。
モデルとモデル バージョンを管理する。
AI Platform のコンポーネント
このセクションでは、AI Platform を構成する要素を挙げ、それぞれの主な目的を説明します。
トレーニング サービス
AI Platform トレーニング サービスを利用すると、多種多様なカスタマイズ オプションを使用してモデルをトレーニングできます。
トレーニング ジョブを駆動するマシンは、さまざまなマシンタイプから選択できます。さらに、分散トレーニングの有効化、ハイパーパラメータ調整の使用、GPU と TPU による加速化にも対応しています。
トレーニング アプリケーションをカスタマイズする方法も、さまざまなオプションの中から選択できます。AI Platform の入力データを送信して、組み込みアルゴリズム(ベータ版)によるトレーニングを行うことができます。組み込みアルゴリズムが実際のユースケースに適合しない場合は、独自のトレーニング アプリケーションを送信して AI Platform で実行できます。また、トレーニング アプリケーションとその依存関係を格納したカスタム コンテナを構築し AI Platform で実行することもできます。
予測サービス
AI Platform 予測サービスを利用すると、AI Platform 上でモデルがトレーニングされたかどうかにかかわらず、トレーニング済みモデルに基づく予測を行うことができます。
Data Labeling Service
AI Platform Data Labeling Service(ベータ版)では、カスタム機械学習モデルのトレーニングに使用するデータセットに対し、ヒューマン ラベリングをリクエストできます。リクエストを送信して、動画、画像、テキストデータにラベル付けできます。
ラベリング リクエストを送信するには、ラベル付きデータの代表的なサンプルを提供します。データセットに使用可能なすべてのラベルを指定して、どのようにラベル付けするかを指示します。人間のラベル付け担当者が指示に従い、ラベリング リクエストが完了すると、機械学習モデルのトレーニングに使用できるアノテーション付きデータセットが得られます。
AI Platform とやり取りするためのツール
このセクションでは、AI Platform とのやり取りに使用するツールについて説明します。
Google Cloud Console
クラウドにモデルをデプロイし、Google Cloud Console でモデル、バージョン、ジョブを管理できます。このオプションは、機械学習リソースを使用して作業するためのユーザー インターフェースを提供します。AI Platform のリソースは Google Cloud の一部として、Cloud Logging や Cloud Monitoring などの便利なツールに接続されています。
Google Cloud CLI
gcloud ai-platform
コマンドライン ツールを使用して、モデルとバージョンの管理、ジョブの送信などの AI Platform タスクをコマンドラインで実施できます。
一般に、AI Platform タスクには gcloud
コマンドを、オンライン予測には REST API(下記参照)を使用することをおすすめします。
REST API
AI Platform の REST API は、ジョブ、モデル、バージョンの管理や、Google Cloud でホストされているモデルを使った予測を行う RESTful サービスを提供します。
この API にアクセスするには Python 用 Google API クライアント ライブラリを使用します。クライアント ライブラリを使用する際は、この API で使用されるリソースとオブジェクトの Python 表現を使用します。こうすると、HTTP リクエストで直接操作するより簡単で、コードも少なくて済みます。
特にオンラインの予測に役立つ REST API をおすすめします。
Vertex AI Workbench ユーザー管理ノートブック
Vertex AI Workbench ユーザー管理ノートブック インスタンスを使用すると、JupyterLab がパッケージ済みのディープ ラーニング仮想マシン(VM)インスタンスを作成して管理できます。
ユーザー管理のノートブック インスタンスには、ディープ ラーニング パッケージ スイート(TensorFlow と PyTorch フレームワークのサポートなど)がプリインストールされています。CPU のみのインスタンスか GPU 対応のインスタンスを構成できます。
ユーザー管理のノートブック インスタンスは、Google Cloud の認証と認可によって保護され、ユーザー管理のノートブック インスタンス URL を使用して利用できます。ユーザー管理のノートブック インスタンスは GitHub と統合され、GitHub リポジトリと同期できます。
詳細については、ユーザー管理ノートブックのドキュメントをご覧ください。
ディープ ラーニング VM
Deep Learning VM Image は、データ サイエンスと機械学習のタスク用に最適化された仮想マシンイメージのセットです。すべてのイメージには、主要な ML フレームワークとツールがプリインストールされています。GPU を備えたインスタンスでそのまま使用でき、データ処理タスクを高速化できます。
Deep Learning VM Image は、フレームワークとプロセッサの数多くの組み合わせをサポートするために使用できます。現在、TensorFlow Enterprise、TensorFlow、PyTorch、汎用のハイ パフォーマンス コンピューティングをサポートするイメージがあり、それぞれに CPU のみと GPU 対応のワークフロー バージョンがあります。
使用可能なフレームワークのリストについては、イメージの選択をご覧ください。
詳細については、ディープ ラーニング VM のドキュメントをご覧ください。
次のステップ
- Keras を使用し、AI Platform のトレーニングと AI Platform の予測を始める。
- カスタム コンテナを使用してトレーニングする方法を確認する。
- AI Platform の組み込みアルゴリズムを使用してコードを記述することなく、TensorFlow と XGBoost のモデルをトレーニングする方法を確認する。
- カスタム予測ルーチンを使用して、オンライン予測リクエストの前処理と後処理を追加する方法を確認する。
- カスタムコードとカスタム scikit-learn 変換をオンライン予測パイプラインに追加する。
- AI Platform のトレーニングと AI Platform の予測について詳しく確認する。