アシストのAIソリューション AI Buddyサービス
アシストのAIソリューション AI Buddyサービス

AI/機械学習を効率的にビジネス適用できるMLOpsとは?ModelOpsやAIOpsとの違いも解説

Home>AI/機械学習を効率的にビジネス適用できるMLOpsとは?ModelOpsやAIOpsとの違いも解説

AI/機械学習を効率的にビジネス適用できるMLOpsとは?ModelOpsやAIOpsとの違いも解説

AI/機械学習においては、予測モデル(機械学習モデルともいいます)を作ることに注目が集まりがちですが、ビジネスの観点では「予測モデルを用いて、どのようにビジネス価値を生み出すか」が重要となります。そのため、変化の激しいビジネスシーンに対して常にAIが有効に機能し続けるよう、システム全体や予測モデルを維持・管理する必要があります。
それでは、この維持・管理を実現するには、いったいどのような点に気を付けるべきなのでしょうか?

近年、AIの予測モデルを効率よく、高い品質で運用するための概念として「MLOps(エムエルオプス)」という言葉を耳にすることが増えました。
本記事では、MLOpsとは何なのか?AIを運用するうえでなぜ必要なのか?について、類似している「ModelOps(モデルオプス)」や「AIOps(エーアイオプス)」との関係性も交えて説明します。

また、記事の最後では、MLOpsの代表的な機能を9つあげて説明した資料をダウンロードいただけます。

MLOpsとは?

MLOpsとは、予測モデルのデプロイメント(既存システムへの組込みやビジネスの現場への適用)から、モニタリング(予測モデルの監視や精度評価)、ガバナンス(複数の予測モデルの統合管理)にいたるまでをカバーしサポートしています。

「MLOps」という言葉は、機械学習(Machine Learning)と、運用(Operations)をあわせてできた造語です。主に機械学習の予測モデルをビジネスへ適用する手法とその概念を指します。

一般的なシステム実装には、「プログラムの設計・開発フェーズ」と、完成したプログラムの「運用・保守フェーズ」があります。AIシステムにおいてもこの概念は変わりません。
しかし、AIの特性上とくに「運用・保守フェーズ」の重要性が高い点が特徴となります。

予測モデルの運用時に気をつけておくべきデータの管理

改めて、前述したAIにおける運用・保守管理の重要性について整理しましょう。

予測モデルの品質は、構築時点でどんなに優れていたとしても、時間の経過とともに劣化していきます。なぜなら、構築時に使用したデータと、予測時に使用するデータの質に徐々に差が生じ、やがてその差が大きくなっていくためです。

ビジネスで利用するデータは常に最新のデータであるため、予測モデルのチューニングを行わずに使用し続けると、精度の低い予測結果をまねきビジネス上での意思決定に大きな影響を与える可能性があります。結果として、企業の売上高低下や組織ブランドのイメージ低下などダメージを与える恐れがあるのです。
そのため、予測モデルの品質を維持し予測結果の精度を下げずにいるためには、時間の経過とともに変化するデータの質にあわせて、予測モデルを運用する必要があります。

このような課題に対して、実際のビジネスの現場でAIを活用できるように、予測モデルを効率よく、高い品質で運用できるのがMLOpsの基本的な考え方です。

時間の経過とともに予測モデルの品質が低下

精度の高い予測モデルを維持するために必要となる運用環境

変化するデータの質に適応し続けるためには、予測モデルを保守運用するための環境を開発する必要があります。しかしながら、開発には高額な費用と技術者の多くの工数が必要であったり、AIの運用知識のある人材を集める必要があったりと、運用するための環境を整えるだけでも一苦労です。

なお、予測モデルの運用時によくある運用項目としては、たとえば以下のようなものがあります。

  • 予測モデルの精度監視
  • 予測モデル劣化の検知とアラート通知
  • 劣化した予測モデルの更新

予測モデルを更新する際は実際の業務を止めることなく、現場に影響を与えずに手を入れる必要がありますし、ビジネスで利用する予測モデルの数はひとつではなく、複数にわたるケースがあります。
MLOpsを活用することで予測モデルの運用環境をゼロから開発する必要がなくなり、ビジネス適用から上記のような運用までを効率的に行えます。

MLOpsとModelOpsの違い

MLOpsと関連した概念として「ModelOps(モデルオプス)」があるため、ここで違いをすこしお伝えします。

ModelOpsはモデルオペレーション(Model Operations)をもとにした言葉です。
ソフトウェアの世界におけるDevOpsの考え方にもとづいており、DevOpsの開発チームと運用チームを統合する考え方を継承して、MLOpsは機械学習チームと運用チームを統合したものとなります。
また、MLOpsが予測モデルの運用にフォーカスしているのに対して、ModelOpsはAI全体における運用サイクルにフォーカスしている点に違いがあります。

ModelOpsは以下の6つのフェーズから成り、これらを繰り返すことで成り立ちます。

  1. ビジネス課題の明確化
  2. データの準備
  3. 予測モデルの作成
  4. 予測モデルの本番運用
  5. 予測モデルを監視し効果を測定
  6. パフォーマンス向上のための予測モデルチューニング

ModelOpsではAI全般における運用にフォーカスしている一方で、MLOpsはこの6フェーズのなかの一部(4~5)として存在します。

MLOpsのカバー範囲

改めて、DevOps、ModelOps、MLOpsを整理すると以下のようなイメージとなります。

DevOpsとModelOpsとMLOpsの関係性

MLOpsとAIOpsの違い

「AIOps(エーアイオプス)」もMLOpsと類似する用語のひとつです。

AIOpsとは、IT運用のプロセスにAIを適用する考え方を指します。たとえば、自社のIT環境にあるネットワーク機器やサーバーからデータを収集し、それらをAIで解析/分析することで自社のIT環境に存在する課題を見つけたり、すでに見つかっている課題を解決するためのデータソースとして利用したりします。

一方で、MLOpsはIT運用に限らず、予測モデルそのものを効率よくビジネス適用・運用させる考え方を指します。つまり、MLOpsはAIOpsと比較してより広い範囲で適用されることになります。

上記であげた例では、「自社IT環境の運用保守」という目的でAIを利用していますが、これを実際の業務に適用するとなると、MLOpsの考え方も取り入れて実装するということになります。

なお、MLOpsに一意の定義がなく、それぞれの解釈で理解されているのに対して、AIOpsは第3者機関であるガートナー社によって作られた用語であり、2017年に同社のブログにて正式にアナウンスされています。

同社の定義によれば、AIOpsはサービス管理、自動化、監視の3つのフェーズからなるサイクルを運用することで、継続的にインサイトを得られるとされており、パフォーマンス解析や異常検出などのユースケースが存在します。

なかでも異常検知においては、通常時の値(ベースライン)を把握しておくことで、問題の発生を可視化することができます。機器の障害や内部不正を含むセキュリティインシデントや、ユーザーによる端末利用の状況などを容易に検知することが可能です。

MLOpsはなぜ必要なのか?

ここで、予測モデルをビジネス適用する際になぜMLOpsが必要なのかを、改めておさらいします。

予測モデルの運用における課題

前述のとおり、作成した予測モデルを運用する際には、以下のような課題があげられます。

  • リリース時点では高品質であった予測モデルも、時間の経過とともにデータの質が変化して予測モデルの品質が劣化していき、得られる予測結果が期待しているものと異なる可能性がある。
  • 予測モデルを管理するためのツールを開発するにも、高額な費用や技術者の多くのリソースが必要であったり、AIの運用知識のあるエンジニアを集める必要があったりと、運用するための環境を整えるだけでも一苦労。
  • 予測モデルの更新時には、実際の業務を止めることなく、現場に影響を与えずに手を入れる必要がある。
  • ビジネスの現場で利用する予測モデルの数はひとつではなく、複数にわたるケースがあるため、それらをまとめて管理しなければならない。

例をあげてみましょう。

たとえば、地図データと過去の渋滞情報、現在の交通状況のデータをもとに、最短ルートを予測するナビゲーションシステムを提供するとします。

時間の経過とともに新しい道路ができあがり、それによって交通状況データに表れる傾向が変化していきます。そのため、新しい道路情報や最新の渋滞情報を予測モデルに追加していかなければ、ナビゲーションは新しい道路を経由せずに遠回りしたり、交通状況データをもとにしても誤った判断により、逆に渋滞に巻き込まれたりする事態が発生します。

また、提供するサービスが「最短ルートを予測するナビゲーションシステム」だけではなく、「走行ルートに合わせたおすすめの飲食店の提案」や「よく通るお店のお得情報を関心度順に表示」など複数となる場合は、その予測の数だけ予測モデルが発生するため、まとまった管理・運用が必要です。

それでは、このような予測モデルを素早くビジネスへ適用し、効率よく内製化して運用するためには、どうすればよいのでしょうか?

DataRobotのMLOps

これまで挙げてきた課題を解決できるのが、DataRobotが提供している「MLOps」というソリューションです。DataRobotとはエンドツーエンドのAIプラットフォームで、SaaS型のクラウドサービスまたは自社環境に構築してご利用いただけます。

DataRobotのMLOps

DataRobotのMLOpsは、MLOpsのコンセプトを実現するために以下のような特長をもって機能を提供しており、作成した予測モデルのデプロイメントや、予測モデルの管理・監視をする役割を担います。

  • 予測モデルの精度や予測モデルで使用しているデータを常に監視し、予測モデルの精度に問題が発生した場合には、メールや他の手段でアラート通知が可能。
  • 管理コンソールはWeb上で操作でき、コーディングすることなくクリックの操作をベースに予測モデルのデプロイから精度監視までを行えるため、高度なスキルを持ったエンジニアでなくても予測モデルの運用が可能。
  • 予測モデルの運用時に必要となる機能が搭載されているため、ゼロから運用環境を開発する必要がなく、予測モデルの素早いビジネス適用を実現。
  • ライフサイクル機能が備わっているため、本番動作に影響することなく稼働中の予測モデルを更新。
  • 複数の予測モデルを統一されたインターフェースで管理可能。

なお、DataRobot上で作成した予測モデルの管理はもちろんのこと、RやPythonなどを用いて外部で開発した予測モデルにおいてもDataRobotのMLOpsに登録して管理することができます

*DataRobotのMLDevs(予測モデルの開発環境)をお持ちでない場合でも、MLOps単体でご利用いただけます。

MLOpsの実践に必要な機能を紹介する資料「MLOpsがわかる!AIをビジネス適用するための9つの機能」

AIの運用はデータによって振る舞いが変わるため、これまでのシステム運用とは異なった難しさがあります。これまでお伝えしてきたとおりに、データの内容が予測モデルの精度に影響することから、システムだけを運用・監視するのではなく、学習に利用したデータや予測モデルの寿命も一緒に管理する必要があります。

DataRobotのMLOpsの代表的な機能を一部取り上げると、以下のようなものがあります。
これらの機能によって、予測モデルと、その予測モデルに関連するデータや連携しているシステムなどすべてを管理できます。

  1. 作成した予測モデルのデプロイ
  2. デプロイした予測モデルの一元管理
  3. デプロイした予測モデルの精度監視
  4. データドリフトの監視/評価
  5. データドリフトがあった場合のアラート通知
  6. 様々なシステムとの連携
  7. 予測APIの自動生成
  8. 予測モデルの外部実行
  9. AIアプリケーションの生成

上記9つの機能を画像と合わせてわかりやすく解説した資料は、下部よりダウンロードいただけます。

  • 今後AIのビジネス適用を考えている
  • 既存のAI運用をもっと効率化したい
  • MLOpsの機能について詳しく知りたい

このような方は、ぜひご覧ください。

MLOpsを利用することでAIのビジネス適用のハードルがぐんと下がるため、AIの取組みがなかなかPoC段階から抜け出せない、という企業にとっては今後必要となってくるはずです。
この機会に、AIを活用してビジネス価値を生み出すためにも、AIの運用にも焦点をあててみてはいかがでしょうか。
AIについてもっと知りたい:AIがテーマの資料ダウンロード
サービスに関するご質問・お見積もりは、お気軽にご相談ください。