サイト内の現在位置

MLOpsとは?早くから検討すべき理由と、これからの機械学習のあり方

機械学習(Machine Learning/ML)の検討を始める企業が増えていますが、実用化に向けてあわせて考えておきたいのがその運用です。「まだ特定の業務への適用を考えている段階で、運用まで検討するには早い」という声もありますが、機械学習では、早い段階から本番環境での運用まで含めて検討することが大切です。そこでキーワードとなるのが「MLOps」です。本コラムでは、MLOpsとはどういうものなのか、なぜ必要なのかといった基本から、これからの機械学習のあり方まで解説します。

MLOpsとは?

MLOpsは、機械学習モデルをビジネス適用するために必要な開発~分析~運用を効率化するための手法を指します。

MLOpsは、機械学習(ML)と運用(Operations)を組み合わせた造語で、ソフトウェア開発における「DevOps」から派生した用語の1つです。DevOpsは開発担当者と運用担当者が密に連携し、ソフトウェア開発を効率化する開発手法のことで、運用のなかで挙がってきたニーズなどへのスピーディな対応が可能になるとされています。まさにこの考え方を機械学習に取り入れ、機械学習プロセスを担当するデータサイエンティストと、運用担当者が密に連携し、継続的に開発・実装・品質保証をおこなうのが、MLOpsです。

MLOpsのプロセス

機械学習は、データを収集・加工し、特徴量を設計、機械学習モデルを開発する「開発」のプロセスと、開発したモデルを実際のシステムに組み込み、予測を実行、その結果を監視し、必要に応じて再学習する「運用」のプロセスに分けられます。MLOpsでは、これらを別々に切り離すのではなく、開発から運用へ、運用から必要に応じて開発へ、そして再度運用へ……とスムーズに連携し、継続的にそのサイクルを回し続けます。

機械学習では、予測・判断などの精度を維持するために、定期的に再学習しなければなりません。また、「新たに増えたデータも学習対象としたい」「違う観点から取得したデータもあわせて分析したい」などのニーズにも対応する必要があります。開発・運用をバラバラに進めるのではなく、MLOpsにより両者のプロセスを全体でのサイクルとして実行することで、機械学習の効率的な運用を実現できるのです。

MLOpsの必要性……なぜ、早い段階から取り入れるべきなのか?

機械学習では検証環境で一定の精度を出すモデルを生成できても、「本番環境で精度を維持できない」「精度が急に悪くなった」といったケースは少なくありません。市場・トレンドの変化などに追随するためにも、継続的なデータの追加や再学習は不可欠です。また、生成したモデルを実業務に適用するには、実際のデータを収集・加工し、機械学習モデルで分析、その結果を業務システム・プロセスへと連携する形となり、この一連の流れをどう自動化するかも大きな課題となります。機械学習の実用化に向けて挙がるこれらの課題を解決するためにも、MLOpsが必要とされています。

一方で、「機械学習は検証などをスタートしたばかりで、MLOpsまでは手が回らない・後回し」という企業も多いのではないでしょうか。ですが、機械学習の活用が進むなか、「まずは特定のモデルを集中して作成し、1つずつ実用化を目指す」というフェーズは終わりつつあります。AIソリューションを導入するとしても、1つのユースケースに適用しただけではROIに見合わないケースも多く、複数のユースケースに展開するのが主流になるでしょう。ビジネスへの効果を最大化するためにも、様々な領域・業務について、多くのモデルを並行して検証・開発・運用することが求められます。

このように、複数ケースについて検証から運用までのサイクルを実行するとなると、手作業では限界があります。機械学習に本格的に取り組むのであれば、なるべく早くから運用の効率化・自動化を見据えたMLOpsの仕組みを整えることが重要です。

なお、NECではAIML(Machine Learning)の導入、DevOps(Development Operations)手法による運用経験をもつNECのデータサイエンティストが、モデルの作成から運用支援までのライフサイクルをトータルに支援するNEC MLOpsサービスを提供しています。