AI Platform の概要

AI Platform を使用すると、大規模な機械学習モデルをトレーニングして、トレーニング済みモデルをクラウドでホストし、モデルを使用して新しいデータについて予測できます。

AI Platform が ML ワークフローに適合する場所

下の図は、ML ワークフローの段階の概要を示しています。青色で塗りつぶされたボックスは、AI Platform がマネージド サービスと API を提供する場所を示します。

ML ワークフロー
ML ワークフロー

図が示すように、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

クラウドにモデルをデプロイし、Cloud Console でモデル、バージョン、ジョブを管理できます。このオプションは、機械学習リソースを使用して作業するためのユーザー インターフェースを提供します。AI Platform のリソースは Google Cloud の一部として、Cloud Logging や Cloud Monitoring などの便利なツールに接続されています。

gcloud コマンドライン ツール

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 をおすすめします。

Notebooks

Notebooks を使用すると、JupyterLab にあらかじめパッケージ化されている仮想マシン(VM)インスタンスを作成し、管理できます。

Notebooks インスタンスには、ディープ ラーニング パッケージ スイート(TensorFlow および PyTorch フレームワークのサポートなど)がプリインストールされています。ニーズに合わせて、CPU のみのインスタンスか GPU 対応のインスタンスを構成できます。

Notebooks インスタンスは、Google Cloud の認証と認可によって保護され、Notebooks インスタンスの URL を使用して利用できます。また、Notebooks インスタンスは、GitHub とも統合されているため、簡単にノートブックと GitHub リポジトリを同期できます。

詳細については、Notebooks のドキュメントをご覧ください。

ディープ ラーニング VM

Deep Learning VM Image は、データ サイエンスと機械学習のタスク用に最適化された仮想マシンイメージのセットです。すべてのイメージには、主要な ML フレームワークとツールがプリインストールされています。GPU を備えたインスタンスでそのまま使用でき、データ処理タスクを高速化できます。

Deep Learning VM Image は、フレームワークとプロセッサの数多くの組み合わせをサポートするために使用できます。現在、TensorFlow Enterprise、TensorFlow、PyTorch、汎用のハイ パフォーマンス コンピューティングをサポートするイメージがあり、それぞれに CPU のみと GPU 対応のワークフロー バージョンがあります。

使用可能なフレームワークのリストについては、イメージの選択をご覧ください。

詳細については、ディープ ラーニング VM のドキュメントをご覧ください。

次のステップ