機械学習の予測モデルを迅速に開発したり本番環境で高精度な予測モデルを継続的に運用したりするため、予測モデルの開発と運用を統合した基盤を築くことを指す。アプリケーション開発におけるDevOpsの概念を機械学習に応用したもの。DevOpsではソフトウエアのソースコードを管理するのに対し、「MLOpsではソースコードと学習データの両方を管理する」(DataRobot Japanの小川幹雄データサイエンスディレクター)点が異なる。
一般に予測モデルの開発は、「学習データの準備」「モデルの構築」「運用・保守」の3工程に大別される。予測モデルは時間とともに予測精度が低下するため、「つくったら終わり」ではなく、開発を終え本番環境で運用を始めてからも定期的に最新の学習データを準備して予測モデルを開発し直す再学習が必要だ。再学習には、構築の際に使った学習データの一部を除外したり、逆に新たな学習データを追加したりする。
予測モデルを適切に再学習させるためには、ユーザーが事前に「精度が〇%を下回ったらモデルを再学習する」など、しきい値を設定しておく必要がある。運用中の予測モデルの精度を継続的に監視し、しきい値を下回ったら再学習させて改めて予測精度を算出する。再学習を始める条件のしきい値を高く設定すると予測精度の高い状態でモデルを運用し続けられるが、保守コストが高くなる。そのため予測モデルを適用する業務の要件を熟知したエンジニアと協調して必要最低限度の精度を把握しておくのが望ましい。
予測モデルの精度が低下する主な要因は、予測モデルを開発する際に使ったデータの傾向と、運用中の予測モデルが扱うデータの傾向が変わる「データドリフト」だ。一方で予測モデルの精度が下がれば再学習が必要になるが、再学習に使うデータの質が悪いと、かえって予測モデルの精度低下につながる可能性がある。学習データの質を確かめるには、実際にデータを学習させてみて精度を評価するのが手っ取り早い。そのためにも予測モデルのMLOps環境を整備する意味は大きい。
再学習を自動で実行
予測モデルを適切に運用する上で再学習が果たす役割は大きいが、定期的に精度を監視し必要に応じて再学習するとなると手間がかかる。そこで米データロボットは機械学習モデルの開発支援プラットフォームの新版「DataRobot AI Cloud」に、再学習を自動化する機能を実装した。同社はこの新版を2021年11月から日本で提供している。
運用中の予測モデルにおいてユーザーが設定した精度のしきい値を下回ったら自動で再学習を始め、運用中の予測モデルとは別の予測モデルを自動で構築する。ユーザーは運用中の予測モデルと自動生成された新たな予測モデルの精度を見比べて、どちらを使うか選択すれば再学習が完了する仕組みだ。機械学習に十分な知見のないユーザーも予測モデルの開発・運用がしやすい環境が整いつつある。
公開当初、データロボットの機械学習モデルの開発支援プラットフォーム新版の製品名について「DataRobot Enterprise AI Platform」としていましたが、「DataRobot AI Cloud」の誤りでした。おわびして訂正します。本文は修正済みです。[2022/2/2 11:50]