先頃のブログ投稿で、GoogleはCloud AI Platform Pipelinesのベータ版を発表した。これは、監視、監査、バージョン追跡、再現性とともに、堅牢で再現性のある機械学習パイプラインをデプロイする方法をユーザーに提供する。
Cloud AI Pipelinesを使用して、Googleは組織がMLOpsとも呼ばれる機械学習オペレーションのプラクティスを採用するのを支援できる。MLOpsは、ユーザがMLワークフローを自動化、管理、監査するのに役立つDevOpsプラクティスを適用するための用語である。通常、これらのプラクティスには、データの準備と分析、トレーニング、評価、展開などが含まれる。
GoogleのプロダクトマネージャであるAnusha Ramesh氏とスタッフ開発者の支持者であるAmy Unruh氏は、ブログ投稿に次のように書いている:
ノートブックで機械学習 (ML) モデルのプロトタイプを作成しているだけの場合、それはかなり簡単に思えるかもしれません。しかし、MLワークフローを持続可能でスケーラブルにするために必要な他の部分に注意を払い始める必要がある場合、事態はより複雑になります。
さらに、複雑さが増すと、反復可能で監査可能なプロセスを構築するのがより面倒になる。
Cloud AI Platform Pipelines - Google Kubernetes Engine (GKE) クラスタ上で実行され、Cloud AI Platformダッシュボードからアクセス可能 – には、2つの重要な部分がある:
- BigQuery、Dataflow、AI Platform Training and Serving、Cloud FunctionsなどのGCPサービスと統合された構造化AIワークフローをデプロイして実行するためのインフラストラクチャ
- パイプラインとコンポーネントを構築、デバッグ、共有するためのパイプラインツール。
Cloud AI Platform Pipelinesを使用すると、ユーザは Kubeflow Pipelines (KFP) ソフトウェア開発キット (SDK) を使用するか、TFX SDKを使用して TensorFlow Extended (TFX) パイプラインテンプレートをカスタマイズすることでパイプラインを指定できる。後者は現在、ライブラリ、コンポーネント、およびいくつかのバイナリで構成されており、目前のタスクに適切なレベルの抽象化を選択するのは開発者の責任である。さらに、TFX SDKには、ワークフローに関連付けられたメタデータを記録および取得するための (独立して実行することもできる) ライブラリ ML Metadata (MLMD) が含まれている。
完全にカスタム化されたパイプラインまたはビルド済みのKFPコンポーネントを使用するパイプラインにはKPF SDKを使用し、TensorFlowに基づくE2E MLパイプラインにはTFX SDKとそのテンプレートの使用が推奨される。時間の経過とともに、Googleはブログ投稿でこれら2つのSDKエクスペリエンスがマージされると述べていることに注意してください。最終的に、SDKはパイプラインをコンパイルし、それをPipelines REST APIに送信する。AI Pipelines REST APIサーバは、パイプラインを保存して実行するようにスケジュールする。
Argoと呼ばれるKubernetesで並列ジョブを調整するためのオープンソースのコンテナネイティブワークフローエンジンがパイプラインを実行する。これには、メタデータを記録し、コンポーネントIOを処理し、パイプラインの実行をスケジュールするための追加のマイクロサービスが含まれる。Argoワークフローエンジンは、GKEクラスタ内の個々の分離されたポッドで各パイプラインを実行する。これにより、各パイプラインコンポーネントは、Dataflow、AI Platform Training and Prediction、BigQueryなどのGoogle Cloudサービスを活用できる。さらに、パイプラインには、クラスタ内で多くのGPUおよびTPU計算を実行するステップを含めることができ、オートスケーリングやノードの自動プロビジョニングなどの機能を直接活用する。
出典: https://cloud.google.com/blog/products/ai-machine-learning/introducing-cloud-ai-platform-pipelines
AI Platform Pipelineの実行には、MLMDの使用と、各パイプラインステップで使用されるアーティファクト、パイプラインパラメーター、入力/出力アーティファクト間のリンク、およびそれらを作成および消費したパイプラインステップをログに記録する、自動メタデータ追跡が含まれる。
Cloud AI Platform Pipelinesを使用して、顧客が得るのは、ブログ投稿によると:
- Google Cloud Consoleを通してボタンをクリックしてインストール
- パイプラインのバージョン管理、アーティファクトと実行の自動メタデータトラッキング、Cloud Logging、視覚化ツールなど、MLワークロードを実行するためのエンタープライズ機能
- BigQuery、Dataflow、AI Platform Training and Serving、Cloud FunctionsなどのGoogle Cloudマネージドサービスとのシームレスな統合
- 独自のカスタムコンポーネントを簡単に構築できる、MLワークフロー用の多くの事前構築されたパイプラインコンポーネント (パイプラインステップ)
Google AI Cloud PipelineのHacker Newsスレッドの回答者が述べているように、Kubeflowのサポートにより、他のクラウドプラットフォームへの直接的な移行が可能になる:
Cloud AI Platform Pipelinesは、オープンソースでKubernetes上で実行されるバックエンドでKubeflow Pipelinesを使用しているようです。Kubeflowチームは、AWSやAzureなどのさまざまなパブリッククラウドに簡単にデプロイできるようにするために多くの時間を費やしてきました。Googleがそれを消した場合、他のホストされているKubernetesサービスで簡単に実行できます。
AI Cloud Pipelinesのリリースは、Cloud AutoML、Kubeflow、AI Platform Predictionなどの他のML中心のサービスで構成されるサービスとしての機械学習 (MLaaS) ポートフォリオのGoogleによるさらなる拡張を示している。この拡張は、アナリストが2025年までに84.8億米ドルに達すると予測している市場で、MLベースのクラウドサービスに対する需要の高まりをGoogleがさらに活用し、AmazonのSageMakerやMicrosoftのAzure Machine Learningなどの同様のサービスを提供する他の大規模なパブリッククラウドベンダと競合できるようにするために必要である。
現在、GoogleはAI Cloud Pipelinesにさらに機能を追加する予定である。これらの機能は次の通り:
- クラスタアップグレードを簡単に
- MLワークフローを作成するためのより多くのテンプレート
- バックエンドデータのオフクラスタストレージのより簡単なUIベースのセットアップ
- GCPサービス等への透過的なアクセスをサポートするためのワークロードID
- マルチユーザの分離 – パイプラインクラスタにアクセスする各ユーザが、パイプラインやその他のリソースにアクセスできるユーザを制御できるように
最後に、Google Cloud AI Pipelineの詳細については、Getting Startedドキュメントをご覧ください。