AI活用が進む自動車業界、その継続的な運用に必要な「MLOps」とは自動車業界向けAI活用入門(前編)(2/3 ページ)

» 2022年06月21日 07時00分 公開

機械学習モデルの管理をシンプルにするMLOps

 MLOpsは、ソフトウェア分野での継続的な開発手法である「DevOps(Development Operations)」に機械学習を組み合わせた造語で、機械学習モデルを管理するためのさまざまな仕組みのベストプラクティスの集合体です。

 最近では、AIの普及に合わせて、Google Cloud、AWS(Amazon Web Services)、MicrosoftなどのクラウドベンダーからMLOpsの一部機能が提供されるようになっており、オープンソースで使えるMLOpsもあります。当然のことながら、筆者が所属するDataRobotは、AIクラウドプラットフォームのパイオニアとしてMLOpsも積極的に機能開発を行っており、幅広い顧客やユースケースでMLOpsが利用されています。

 MLOpsで特に求められるのは、機械学習モデルのデプロイ機能、モデルのモニタリング機能、モデルを更新する機能です。開発された機械学習モデルを本番環境にデプロイするタイミングでMLOpsを使えば、その後のモデル管理を自動で行えるようになります。同時に複数の機械学習モデルを一元管理できるようになるので、個別管理も不要になります。このように、MLOpsを導入することで、最小限の人員と体制で機械学習モデルの監視、改善などを一元管理できるようになります。

MLOpsに求められる監視機能

 機械学習モデルをデプロイした後は、モデルが正常に稼働しているか、設計時の精度が担保できているかをチェックしていきます。1つ目の監視機能が「データドリフト監視」です。これは、AIに入力される予測データが、トレーニングした教師データの分布から著しく変化していないかどうかを監視するものです。

 前述したように、工場のラインの設備が劣化したり、材料の特性が変わったりすると、機械学習モデルの前提が変わってしまいます。モデルに入力する予測データが著しく変わるのであれば、モデルの再構築と変更を行わなければなりません。

 データドリフトとは「データの漂流」を意味し、データドリフト監視ではデータの特徴量が漂流していないかをチェックします。図2を見ると分かるように、教師データと予測データの分布が変わると、機械学習モデルの精度が下がる可能性があります。

図2 図2 データドリフト=データの漂流[クリックで拡大]

 そこで、機械学習モデルを継続的に運用するためには、データが変化していないかを常に監視をする必要があります。

 2つ目の監視機能が「精度監視」です。機械学習モデルの予測値に対し、精度が当初の想定の範囲内であるかどうかをチェックします。入力データに変化がなくても、さまざまな理由で予測精度が下がる可能性があるので、こちらも常時監視し、問題があればモデルの変更を行うことになります。

 精度だけでなく、計算速度に遅延が発生していないかどうかを監視する必要があります。例えば、これまでは計算する時に12msで済んでいたものが100msになったとしたら、精度は下がっていなくても、当初期待していたパフォーマンスが発揮できないことになります。特にリアルタイムで結果を返すことに意義がある活用の場合、遅延が発生するとエラーがあっても通知が遅れるなどの問題が生じます。つまり、精度と同時に計算処理速度も監視する必要があるのです。

 これらの監視機能によって、機械学習モデルの精度が下がっている、データのドリフトが起きていることを察知できたなら、そのことを関係者に知らせるアラート機能も必要になるでしょう。モデルを開発したデータサイエンティスト、現場での運用管理者、データを利用しているユーザーなど、必要なメンバーにメールなどで通知できる機能がMLOpsには求められます。無数に稼働している機械学習モデルについてアラート設定をしておけば、イベントベースでの管理を一括して行えます。

Copyright © ITmedia, Inc. All Rights Reserved.