全2983文字
PR

 「MLOps(Machine Learning Operations)」という言葉をご存じだろうか。機械学習(ML)モデルを実用化しているユーザー企業やAI(人工知能)のベンダーの間で旬のキーワードの1つとなっている。

 直訳すれば「(AIの中核となる)機械学習モデルの運用保守」だが、「機械学習モデル向けのDevOps」と言ったほうが分かりやすいかもしれない。

 もともとの意味はさておき、DevOpsは、今では短いサイクルでアプリケーションの改修・リリースを繰り返すための取り組みや組織、開発・運用保守のプロセス、CI(継続的インテグレーション)/CD(継続的デリバリー)ツールなど幅広い概念を指すようになった。簡単にいえば、アプリケーションをつくって終わりにせず「育てていく仕組み」と表せるだろう。

 MLOpsも同じく、機械学習モデルを「育てていく仕組み」だ。機械学習モデルをリリースした後、アルゴリズムや入力変数を変更したり、新しい学習データによってトレーニングし直したりして継続的に改善していく。

従来の開発・運用保守プロセスとMLOpsの違い。MLOpsでは開発よりも運用保守に重点が置かれる
従来の開発・運用保守プロセスとMLOpsの違い。MLOpsでは開発よりも運用保守に重点が置かれる
(出所:日経クロステック)
[画像のクリックで拡大表示]

 機械学習モデルの「育てていく仕組み」は、従来の業務アプリケーション以上に重要といえる。なぜなら機械学習モデルは足がはやいからだ。使い続けるうちに精度が下がるケースが少なくない。

 例を挙げて説明しよう。製造ラインを流れる製品を固定カメラで撮影し、その画像から不良品かどうかを判別する機械学習モデルを開発したとする。リリース後に製品の不良箇所の傾向が変われば、それによって精度低下につながる。精度低下の原因となる要素は他にもある。季節が巡って窓からの日光の差し込み方が変わった、製造ラインを組み替えたときカメラの画角が微妙にずれた、といったことだ。

 こういうと、次のような疑問を持つかもしれない。

 「入力画像の条件が多少変わったくらいで精度が落ちるのは、機械学習モデルが未完成である証拠だ。テストが甘かっただけではないか」

 「条件が変わっても精度が落ちないよう、多様な学習データによって十分トレーニングしておけばよかったのではないか」

 こう考えるのはある意味でまっとうだろう。しかしDX(デジタルトランスフォーメーション)ではそうもいっていられない。機械学習モデルのリリースが遅くなるのは許されないからだ。多様な学習データの収集・作成に時間を掛けると、それだけリリースが遅れる。遅れるほどにモデルの大きな見直しが必要になり、いつまでたってもリリースできない事態に陥りかねない。