MLOpsとは - DevOpsとの違い、機械学習システム開発特有の課題を解説

 MLOpsとは、機械学習システムの開発・運用にDevOpsの考え方を適用した、持続的な開発・運用のための実践手法です。機械学習システムの開発・運用には、一般的なソフトウェア開発のやり方では対処が難しい特有の課題があり、MLOpsはこれらの課題解決が期待できる手法として生まれた概念です。

 本記事ではMLOpsの定義を説明し、機械学習システムの開発現場におけるよくある課題とMLOpsを実践するための方法・注意点について詳しく解説します。

MLOpsとは

 MLOpsとは機械学習(Machine Learning)とDevOps(開発と運用が一体となってスピーディに開発を進める手法)とを掛け合わせた造語で、持続的な機械学習システム開発・運用のための実践手法です。

 これまで機械学習アルゴリズムに関する研究開発やビジネス活用に向けたPoCに取り組んでいた企業は、徐々に機械学習を取り入れたシステムの開発・運用といった実利用に取り組み始めています。
 一方、機械学習システムの開発・運用を行う上では従来のソフトウェア開発とは異なる課題があり、実際に利用を開始して運用を続けるには高いハードルがあります。

 本記事では、このハードルを乗り越えるための手法であるMLOpsについて、概要、サービス導入時の注意点、具体的な製品をご紹介します。

DevOpsとの違い

 DevOpsはソフトウェア開発に焦点を当てた手法であり、開発、テスト、デプロイ、運用などのプロセスを自動化することで、開発の迅速性、品質向上を実現します。一方、MLOpsはDevOpsの概念から派生した、機械学習システムの開発や運用に特化した手法です。どちらもビジネスアジリティの達成を目的とした方法論であることは共通しますが、異なる点は対象とするソフトウェアです。DevOps は通常のシステムを対象とし、MLOpsは機械学習システムを対象とします。通常のシステムと機械学習システムを比較した表が以下となります。

表1. 通常システムと機械学習システムの比較

対象 開発プロセス 構成管理対象 動作の特性
通常システム 人間が設計書を元にソースコードを作成し、テストをする ソースコード 決定的動作
機械学習システム 人間が設計書を書く必要はなく、データから機械的にルール(モデル)を作成し、テスト(評価)をする ソースコード、データ、ハイパーパラメータ、モデル 機械学習の確率的動作

(出所 大和総研作成)

 上記のような違いから、機械学習特有の開発プロセスや構成管理をカバーし、動作の特性を意識したデータの取り扱いまでを考慮するための手法がMLOpsです。

DevOpsでは対応できない機械学習システム開発特有の課題

 一般的なシステム開発の現場において、DevOpsは徐々に実践されつつありますが、機械学習システムの開発・運用の場合、前述の性質により、DevOpsだけでは対応できない特有の課題があります。例えば下記のような課題です。

  • 統合開発環境・ライブラリ・基盤(GPU等)が機械学習特有であり、開発・推論環境構築が難しく時間がかかること
  • 機械学習モデルは学習時のデータや利用時の入力データによって振る舞いが変わるため、再現性・トレーサビリティの確保が難しい
  • 通常、学習時と利用時のデータの傾向は時間とともに変化し、機械学習モデルは徐々に精度が劣化していくため、継続的な精度の監視が必要
  • 精度の劣化やビジネスニーズの変化による再学習を行う際、データ検証・前処理・学習・精度確認・デプロイといった機械学習ワークフローの作業工数が多く、煩雑

 そこで、これらの課題に対処して持続的に開発・運用を行うための実践手法であるMLOpsというワードが生まれました。そして企業で機械学習システムの導入が進んだ現在、各クラウドベンダーによるMLOpsサービスや、オープンソースソフトウェア(OSS)の開発が盛んに行われています。

 関連ソリューション:データ収集、分析基盤・分析モデルの構築、継続的な運用までをトータルでサポートします

MLOps導入の課題や注意点

 MLOpsにおいて考慮すべき課題は多岐にわたるため、一度にすべてを解決することは困難です。段階的に自動化・ツールの導入を進めていくことが重要ですが、まずは組織の現状の立ち位置を把握することが必要です。そのためのガイドラインとして、「MLOps成熟度モデル」があります。以下の通り、主要クラウドベンダー各社が公開しているため、これらを参考にすると良いでしょう。

 また、導入前に開発規模やビジネス目的から必要な機能を整理するフェーズが必要です。なぜならば、新規ツールの導入自体が目的になってしまうことでシステムの複雑さが増し、逆に運用コストがかかることが懸念されるからです。また、各クラウドベンダーの機械学習プラットフォームでは各社独自のプラットフォームやライブラリが利用されているため、一度開発・運用を開始すると、他クラウドへの移行に多くのコストがかかる点にも注意が必要です。

関連サービスの紹介

クラウドベンダー製品

 主要なクラウドベンダーでは機械学習プラットフォームを提供しており、その中でMLOpsを推進するための各種機能を備えています。例えば、マネージドなNotebook環境、実験のメタデータ管理、機械学習ワークフロー管理、モデルの精度モニタリング、マネージドな推論環境といった観点で機能が提供されています。  MLOpsに関連する基本的な機能については各社備えており大きな差がないため、機械学習プラットフォームの比較による選定ではなく、機械学習に必要なデータの保管先であるデータレイク・データウェアハウスといったサービスと同じクラウドベンダー上の機械学習プラットフォームを利用するのが一般的です。以下は、主要クラウドベンダー各社が提供する機械学習プラットフォームの概要です(製品名をクリックすると各社のページが開きます)。

表2. クラウドベンダー製品一覧

クラウドベンダー 製品名・リンク MLOps に関連する機能
Amazon Web Service Amazon SageMaker SageMaker Studio Notebooks, Experiments, Pipelines, Model Monitor, Feature Store, Endpoints
Google Cloud Vertex AI Vertex AI Workbench, ML Metadata, Pipelines, Model Monitoring, Feature Store, Prediction
Microsoft Azure Azure Machine Learning Azure Machine Learning Notebooks, Jobs, Pipelines, Azure Monitor, Feature Store, Endpoints

(出所 大和総研作成)

 関連ソリューション:大和総研では、お客様のAmazon SageMaker活用を支援します

OSS

 オンプレミスでの利用が前提である場合や、ベンダーロックインを避けたいような場合に、オープンソースソフトウェアの利用が考えられます。クラウドベンダーが提供する製品と比較すると機能が限られることが多く、複数のオープンソースソフトウェアを組み合わせて利用したり、クラウドベンダーの製品と組み合わせて利用といった事例もあります。

表3. OSS一覧

OSS名・リンク 機能
Kubeflow Kubeflow Notebooks, Pipelines, Katib
MLFlow MLFlow Tracking, Recipes, Projects, Models
TFX ML Metadata, Data Validation, Transform, Model Analysis, Serving

(出所 大和総研作成)

おわりに

 機械学習システムを開発・運用するにあたり、まずは「ソフトウェア開発と同じやり方ではうまくいかない」ということを関係者が認識することが、MLOpsを実践する第一歩です。自社における課題を整理し、各社が提供する機械学習プラットフォームを活用することで、開発・運用を効率的に行いながら多様なビジネスニーズに応えていくことが可能となるでしょう。

関連ウェビナー

ウェビナー|大和証券グループで"ChatGPT"を使ってみた

関連するITソリューション

データ利活用・データ分析基盤 | 大和総研


※Amazon Web Service、Amazon SageMaker、SageMaker Studio Notebooksは、米国および/またはその他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
※Google CloudおよびVertex AIは Google LLC の商標です。
※マイクロソフト、Azure、Azure Machine Learning、Azure Machine Learning Notebooks、Azure Monitorは、米国 Microsoft Corporationの米国およびその他の国における登録商標または商標です。