
機械学習(※)の登場によって、企業の業務やシステムは大きく変化しています。しかし、導入範囲を見誤ったり、データ収集などの面で手作業だけが増えたり、期待通りの成果を得られないケースも見られます。
機械学習プロジェクトの導入・運用においては、「MLOps(エムエルオプス/機械学習オペレーション)」と呼ばれるアプローチが注目されています。本記事ではMLOpsの概要や仕組み、企業が直面しやすい課題などを紹介します。
※コンピュータに大量のデータを学習させ、そのデータからパターンや規則性を自動的に発見し、新しいデータに対して予測や判断を可能にする技術。
MLOps(機械学習オペレーション)とは?
MLOpsとは、業務やシステムなどに機械学習を導入する際、機械学習の予測モデルの開発から運用までのプロセスをパイプライン化または自動化する手法です。
機械学習を意味する「Machine Learning」と、運用を意味する「Operations」を組み合わせた用語であり、以下のような企業課題を解決に導きます。
<MLOpsが解決する企業課題>
・手作業による機械学習の開発・運用業務のばらつき
・チーム間の連携やコミュニケーションの不足
・開発・運用プロセスの間で生じる手戻りなどムダな作業
・これらがもたらす開発の遅延、運用品質の低下
MLOpsの効果を最大化するには、正しい手順で導入する必要があります。例えば、Googleの公式サイトでは以下の手順が推奨されています。
<MLOpsの導入手順>
1.データ抽出
さまざまなデータソースから関連するデータを抽出する。
2.データ分析
各データを分析し、機械学習に利用できるデータを把握する。
3.データの準備
データを分割または分類し、トレーニング用のデータを確保する。
4.モデルトレーニング
アルゴリズムを調整しながら予測モデルのトレーニングをする。
5.モデル評価
テストセット用のデータを活用し、予測モデルの品質評価をする。
6.モデル検証
設定した目標パフォーマンスを予測モデルが満たしているかを確認する。
7.モデルの提供
ターゲットとなる環境に予測モデルを展開(デプロイ)する。
8.モデルの監視
モニタリングを行い、やりなおしが必要な手順がないかを確認する。
上記は大まかなプロセスであり、円滑な導入のためには機械学習チームによる予測モデルの作成や、運用チームによるモニタリング結果の収集などが相互に連携する必要があります。各チームの連携がポイントになるため、事前に導入体制を整えることが求められます。
DevOpsとの違い
開発(Development)と運用(Operations)を組み合わせた言葉としてDevOpsがあります。DevOpsはMLOpsの元になったともいえる手法で、開発チームと運用チームの連携を強化し、システム開発におけるバージョン管理などを自動化するための手法を指します。
従来のアプローチでは、システムの開発環境と本番(運用)環境に差があることから、開発チームと運用チームが対立しやすい傾向にありました。DevOpsではこの問題を解決するために、開発から運用までのプロセスをチームも含めてパイプライン化します。
DevOpsを機械学習の開発・運用に当てはめたアプローチがMLOpsと呼ばれています。
AIOpsとの違い
システム運用業務にAI(人工知能)をとり入れて、業務の自動化や品質改善を進める手法は、「AIOps」と呼ばれています。直訳では「人工知能によるIT運用」を意味し、ビッグデータをAIに学習させることで、IT運用全体の効率化を図ります。
AIOpsには「チーム間の連携」という概念が含まれません。DevOpsやMLOpsとは目的や導入範囲が変わってくるため、直面しやすい課題や必要になる人材なども異なります。
MLOps、DevOps、AIOpsの主な目的や手法の違いは以下の通りです。
目的 | 特徴的な手法 | |
---|---|---|
MLOps | 機械学習の迅速な開発と、安定的な運用を継続する | 機械学習の自動化 モデルの性能を常に監視 データと実験の記録 |
DevOps | ソフトウェアの迅速な提供と、安定的な運用を継続する | ソフトウェア開発の自動化 ソフトウェア開発全体の稼働状況を監視 コードやインフラの変更を自動管理 |
AIOps | ITシステムを自動的に管理し、トラブルを予防するなど高い運用品質を目指す | システムの異常を早期発見 トラブルを予測しシステムの状況を分析 インシデントの自動対応 |
MLOpsはなぜ必要か? 注目される理由
機械学習プロジェクトでは、なぜMLOpsが必要になるのでしょうか。ここからは、MLOpsが注目される3つの理由を紹介します。
<MLOpsが注目される理由>
1.業務品質やデータのばらつきを防げる
2.チーム間の連携を強化できる
3.予測モデルを継続的にアップデートできる
1.業務品質やデータのばらつきを防げる
MLOpsによって機械学習の開発やバージョン管理、ユーザーへの提供プロセスなどを自動化することで、手作業による業務品質のばらつきが防げます。また、各チームが自動化のために定めた同じルール、手順、コミュニケーション方法、進捗などの管理情報を使って作業を進められるため、業務のムダを省く効果も期待できます。
また、開発から運用までをパイプライン化すると、人材やコンピュータのリソースを最適化することにもつながります。効率的な開発・運用環境が整うため、同じリソースで複数のプロジェクトに取り組める余裕が生まれます。
2.チーム間の連携を強化できる
従来の機械学習の開発では、データサイエンティストが作成した予測モデルを開発チームで実装する際に、コードの調整に時間がかかるといった問題が起こりがちです。また、データの形式や運用環境が一致していないと、同じ結果を再現することが難しくなるような状況にも直面します。
その点、MLOpsでは全プロセスに同じルールを適用できるため、上記のようなトラブルを抑えられます。特に多様なバックグラウンドやスキルをもつ人材が集まるプロジェクトでは、チーム間の連携強化は重要です。
3.予測モデルを継続的にアップデートできる
機械学習プロジェクトに使用する予測モデルは、技術の進歩などによって継続的にアップデートをする必要があります。予測モデルを組み込んだシステムの品質を維持するには、常に最新の予測モデルを使用する必要があり、データの量や質の変化など環境変化をすぐさま察知できる仕組みも必要です。
このような体制づくりとして、各チームが緊密に連携するMLOpsは有効な選択肢になります。各チームがスムーズに情報共有し、継続的にフィードバックと改善を行うことで、予測モデルと開発するシステムの品質を保ちやすくなるでしょう。
MLOpsの全体像と成熟プロセス
下の図は、MLOpsの全体像を簡易的に表したものです。

MLOpsの導入状況には成熟度合いがあり、レベル0~レベル2の3段階で表されます。以下では、Googleが定義する内容をもとに、MLOpsが成熟するプロセスを紹介します。
MLOps レベル 0
レベル0は、データ抽出からモニタリングまでの全プロセスを手作業で行っている段階です。チーム内にデータサイエンティストや研究者は存在するものの、開発チームと運用チームが分離しているため、頻繁なアップデートや調整には対応できません。
予測モデルの再トレーニングが年に数回程度となるため、レベル0で対応できるのは小規模かつ予測モデルに変更が少ないプロジェクトのみになります。
MLOps レベル 1
レベル1は、機械学習の各プロセスをパイプライン化し、プロセスの移行まで自動化できている段階です。開発環境・試作環境・本番環境で同じパイプラインを共有することで、開発チームから運用チームまでの連携を強化します。
レベル1に達すると、本番環境で得られたデータを用いて予測モデルのアップデートが行えます。継続的なバージョンアップや学習が可能になるため、状況が変わりやすいプロジェクトにも対応できるでしょう。
MLOps レベル 2
レベル2は、機械学習プロジェクトを構成するコードやコンポーネントのデプロイを自動化するシステム(CI/CDシステム)が搭載された段階です。連携体制がさらに強化されており、数分といった短時間で予測モデルを更新するとともに、毎時間~毎日の頻度で予測モデルの再トレーニングが行われます。
レベル2に達すると、本番環境でのデータ収集やモニタリングの自動化、スケジュールに即した自動運用も可能になります。パイプラインに沿って予測モデルが自動的に更新されていくため、環境変化が激しいシステムにも対応できます。
MLOps導入で意識したいポイント
MLOpsは機械学習プロジェクトに適したアプローチですが、すぐに効果がでるものではありません。組織やプロセス全体の見直しが必要で、実用化までに時間がかかるためです。
ここからはMLOps導入を検討する企業が意識したい2つのポイントを紹介します。
<MLOps導入で意識したいポイント>
1.導入時期で効果が変わる
2.導入に手間やコストがかかる
1.導入時期で効果が変わる
機械学習プロジェクトの効果を高めるには、早い段階で予測モデルを構築し、より多くのデータを収集してトレーニングを繰り返し行う必要があります。MLOpsについても、早期導入を目指すことが望ましいでしょう。
MLOpsを早期導入すると、機械学習プロジェクトの仕組みや体制が確立されるまでのスピードも上がります。競合他社がレベル0の段階で、自社がレベル1~レベル2に到達できていれば、大きな優位性を築けるかもしれません。
2.導入に手間やコストがかかる
MLOpsを導入するということは、予測モデル開発のプロセスと組織全体を見直すということです。システムに精通した高度人材も必要であり、DevOpsやMLOpsの考え方が浸透していない企業では、導入までに多くの手間やコストがかかってしまいます。
このようなケースにおいて、予測モデルの開発から運用までのパイプラインの整備を支援してくれるMLOps支援サービスが有効な選択肢になります。MLOps支援サービスは国内でも複数提供されていますが、株式会社シーエーシーが提供する『OCTOps』もその一つです。『OCTOps』は、AIモデルの導入・運用プラットフォームです。製造現場などに導入すると、カメラの映像をAIが認識し、製造に要する作業時間、在庫数や異常値などをデータとして出力してくれます。製造現場に適用するAIの選択、パラメータ調整、AIが出力する結果の確認、AIの再学習をリモートでできる点が特徴です。

MLOps支援サービスで導入を加速させよう
MLOpsを導入すると、チーム間の連携強化によって機械学習プロジェクトにさまざまな恩恵が生まれます。特にレベル1~2の段階に到達すると、予測モデルが自動的にアップデートされていくため、ヒューマンエラーにもつながる手作業から脱却できます。
MLOpsは早期に導入するほど効果が高まります。支援サービスの利用も視野に入れながら、導入に向けた計画を立ててみましょう。
関連記事
・R&D本部サービスプロデューサーが語る最新のAI導入・実行プラットフォーム『OCTOps』とは
・『OCTOps』の開発秘話と今後の展望 プロダクトオーナーと開発マネージャの厚い信頼関係
・物体検出の仕組みとは? 代表的な4つの手法と活用事例
(提供:CAC Innovation Hub)