目次
こんにちは、エンジニアの nishino です。
本日は、Vertex AI を使うと MLOps の設計が簡単になる、というお話をさせていただこうと思います。
MLOps とは
MLOps は ML プロジェクト(機械学習プロジェクト)の開発から運用の流れを可視化した一連の全体像です。プロジェクト推進のために MLOps を適用することは世の中のベストプラクティスに則った良いアイデアです。
MLOps で構成すべきものは取り扱うデータや人員体制で変わるものですから、適用する状況によって最適な構成は異なります。さまざまな要件をみたす設計を考えることは難しいですが、簡単にするために Vertex AI が活用できます。
まずは下の図にある MLOps を簡単にした流れから説明します。CI / CD の間にある CT は Continuous training(継続的学習)です。
ML プロジェクトでは次の2つの良し悪しを評価し続けることが必要不可欠です。
- システムそのもの
- 機械学習モデル
データの種類によりますが量も質も日常的に変動しますし、システム利用者から何か要望が出てくるかもしれずその背景を知る助けになるからです。
図にすると単純ですが、実際にやってみると実装の難易度は高く、さらに結果を期待できるものとなればどうすればよいか頭を抱えることになるでしょう。
Vertex AI を活用した MLOps の実践
ここで上記の流れに Vertex AI(AutoML)を適用すると下記の図のイメージになります。特に専門的な知識が必要な領域を AutoML でカバーできます。
※ データの質や量などさまざまな理由で Google Cloud の AutoML ですべて解決できるとは限らないですがだいたいカバーできます。
ただ、AutoML だけで片付かない部分がありましたね。
データセットの準備は Vertex AI で用意できますが、肝心のデータそのものは継続的に集積するための仕組みが別途必要です。
トレーニングの対象となるモデル次第で操作は異なりますが、Vertex AI でモデルのトレーニングをすることができます。
トレーニング済みのモデルは Vertex AI でバージョン管理できます。
各バージョンのモデルはオンライン・オフライン問わず利用できます。
AutoML を利用してモデルのトレーニングをすれば検証(評価)も済ませてくれるので後はどうするか判断するのみです。肝心の判断基準はどこかに投げやりではなくやはり評価結果を読み解き、解釈する必要があります。
その解釈の仕方については次回のブログで説明することにします。楽しみにしていてください。