MLOpsとは?機械学習モデルの開発・運用を効率的に行う方法を解説
近年、AIや機械学習をビジネスで活用する機会が増えています。しかし、その導入や運用にはさまざまな課題があり、ビジネスとして活用して成功させるためには、効率的な管理体制が求められます。そこで、多くの企業から注目を集めているのが、「MLOps」です。
ここでは、MLOpsと「DevOps」「AIOps」「DataOps」との違い、MLOpsの必要性、メリット・注意点のほか、機械学習システムの最適化をサポートするツールについても解説します。
MLOpsとは、機械学習モデルを迅速かつ効率的にビジネスに最適化させる手法
MLOps(エムエルオプス)とは、機械学習(Machine Learning)と運用(Operation)を組み合わせた造語です。ビジネスに適用するために、機械学習モデルの精度を維持し、高めていくための手法、あるいはそのための仕組みを指します。
機械学習をビジネスに適用した例として挙げられるのが、企業サイトでよく見られるチャットボットです。チャットボットはユーザーと対話するアプリケーションに機械学習が接続されており、ユーザーからの質問や問い合わせなどの入力を解析して最適な回答を出力するという仕組みです。入力に対してどのような回答をするかを決めるのが機械学習モデルであり、その精度がチャットボットの性能を左右するといえるでしょう。
機械学習の運用の結果を分析し、入力に対して常に適切な出力を返せるよう、機械学習のモデル開発や学習データの検討を行うデータサイエンティストと、商用環境の開発・運用を行う機械学習エンジニアが密接に連携し、機械学習モデルの効率的かつ継続的な精度向上にあたります。これがMLOpsです。
■MLOpsのプロセス

似たような言葉「DevOps」「AIOps」「DataOps」はそれぞれ目的が異なる
近年、ITの世界ではMLOpsのほかにも、「DevOps」「AIOps」「DataOps」のように、似たような言葉がよく聞かれるようになりました。
いずれも「システムの運用中に得られたデータにもとづいて、システムそのものや関連する業務プロセスを改善し、ユーザーへの価値向上・業務効率化を通じて、企業の競争力を高める仕組み」という意味合いで使われますが、それぞれ下記のように目的が異なります。
DevOps
DevOpsは、開発と運用が密接に連携し、柔軟かつスピーディーなシステム開発を行う仕組みです。「高価値で安定的に稼働するサービスを、ユーザーに迅速に提供する」という、開発・運用に共通する目的を実現する手法として注目されています。DevOpsはすでにIT分野では広く知られている概念であり、MLOpsはDevOpsの考え方を機械学習に応用したものともいえます。
DevOpsについては、以下の記事をご覧ください。
「DevOpsを効果的に実践するポイントと陥りやすい課題への解決策」
https://newrelic.com/jp/blog/best-practices/key-to-effective-devops-best-practices
AIOps
AIOpsは、人工知能や機械学習をシステム運用に応用した仕組みのことです。大量のデータを自動的に分析し、異常を誘発するパターンを検出して、問題の特定やインシデントの回避に役立てることを目的としており、運用コストの削減にも役立ちます。
AIOpsについては、以下の記事をご覧ください。
「AIOpsとは?機能や用途、メリットを解説」
https://newrelic.com/jp/blog/best-practices/what-is-aiops-and-newrelic-ai
DataOps
DataOpsは、データ管理者とデータ利用者が密接に連携して、データを大規模に運用・活用する手法です。組織全体のデータフローを自動化・高速回転させて最大限の価値を生むことを目的としています。開発・運用といった技術面だけでなく、経営においても重要な意味を持ちます。
MLOpsの必要性
機械学習のパフォーマンスは、時間の経過とともに低下する可能性があります。それを防ぎ、さらに正確さを向上させるために、MLOpsは欠かせません。
機械学習の核である機械学習モデルは、入力された情報のどこに注目し、どのように解釈・判断して出力するかを、あらかじめプログラムされています。そして、大量のデータを使って学習させることによって、期待する出力を得られるようになります。
しかし、環境の変化によって、入力される情報の傾向がリリース時から変化したり、入力に対する出力の正答そのものが変化したりすることによって、出力の精度が下がっていくことも少なくありません。
機械学習モデルが適切な出力をできるよう維持するためには、MLOpsによって、定期的に再学習を行う必要があるのです。
MLOpsのメリット
機械学習システムの健全性を維持するためには、MLOpsのサイクルを回すことが重要です。MLOpsの主なメリットは下記のとおりです。
開発および運用効率の向上
MLOpsの導入によって、開発と運用が効率化されます。モデルの開発からデプロイ、メンテナンスといったMLOpsのライフサイクルに関わる作業負担を軽減でき、その結果、より精度の高いモデルをより高頻度でリリースすることが可能になります。
スケーラビリティの向上
MLOpsを導入することで、スケーラビリティが向上します。機械学習モデルの開発・デプロイ・運用を効率的に管理できるパイプラインを構築することで、大規模なデータセットやより複雑なモデルを処理できるようになります。その結果、よりビジネスニーズに合ったモデルを提供できるようになるでしょう。
信頼性向上
信頼性向上もMLOpsのメリットのひとつです。MLOpsを導入することで、入力に対するエラーなどの不具合の発見と修正が迅速になり、安定した学習機械の運用が可能になります。また、機械学習モデルの精度の維持・向上により、ユーザーの入力に対してより正確で十分な情報量の回答を返すようになれば、ユーザーの満足度も高まります。
コラボレーション強化
機械学習の開発・運用には、データサイエンティストや機械学習エンジニアなど、さまざまな専門知識を持つメンバーとの協働作業が不可欠です。MLOpsを導入することで、異なるロールのエンジニア間の連携をより強化できます。
コスト削減
MLOpsを導入し、ワークフローを自動化することにより手動での管理が不要となり、エラーの発生も抑えられるため、人的コストの削減が可能です。また、トラフィックの変動に応じて必要なリソースを動的に調整できるため、運用に必要なインフラストラクチャを最適化し、コスト削減ができます。
MLOpsの実施の注意点
機械学習には欠かせないMLOpsには、さまざまなメリットがある一方で、適切に実施するにはいくつかの注意点もあります。MLOpsを実施する際に見落としがちなポイントは以下のとおりです。
本番データの収集と分析が大変
機械学習モデルの精度が維持されているかどうかは、自動判別できるものではありません。そのため、MLOpsを実施する際は、人が定期的にインプットとアウトプットを突き合わせて精度を確認する必要があり、データ収集と分析に手間がかかります。
例えば、レコメンドシステムであれば、どれくらい適切におすすめできたのかという精度を評価するには、ユーザーの行動データが必要になります。つまり、レコメンドシステムの精度を測るには、システムが出したおすすめ結果と、実際のクリック数や購入数などのビジネスデータを組み合わせて分析しなければなりません。
総合的なモニタリングが必要
MLOpsを実施する際は、機械学習モデルのアウトプットの正確性だけではなく、パフォーマンスやエラーも含めてモニタリングし、改善を図っていく必要があります。
アウトプットがいくら正確であっても、レスポンスに時間がかかりすぎたり、頻繁にエラーが発生したりすると、ユーザーは離れてしまいかねません。こうした状況を防ぐためにも、統合的なモニタリングが重要です。
機械学習システムの最適化をサポートするNew Relic
機械学習モデルのチューニングやメンテナンスについては、大手クラウドベンダーからプラットフォームサービスが提供されています。ほかにも、OSSとして公開されているソフトウェアがあり、誰でも簡単に利用できる環境が用意されています。
しかし、機械学習に特化したこれらのツールとは別に、機械学習システムの最適化のためにアプリケーションのパフォーマンスを総合的にモニタリングするAPMを活用することも有効です。
そこで、おすすめしたいのが、オブザーバビリティ・プラットフォームであるNew Relicです。New Relicでは、機械学習モデルのためのモニタリング機能である「モデルパフォーマンスモニタリング」、大規模言語モデル(LLM)を利用したアプリケーションを監視する「AIモニタリング」を提供しています。
機械学習モデルを監視する「モデルパフォーマンスモニタリング」
New Relicのモデルパフォーマンスモニタリングは、機械学習モデルが本番環境で適切に稼働しているかを継続的に観測し、パフォーマンスを可視化できるプラットフォームです。
本番環境の振る舞いをリアルタイムに観測することで、モデルとデータのドリフトを検出するだけではなく、運用中の機械学習モデルの問題を素早く特定して、モデルの開発側にフィードバックできます。また、機械学習モデルに関するさまざまな統計データを取得し、異常が発生した場合はアラートを発報してすぐに対応を開始することが可能です。
モデルパフォーマンスモニタリングの導入により、モデルの劣化を早期に発見し迅速に修正できるほか、パフォーマンス低下の原因を特定しやすくなるため、エンジニアの負担が軽減されます。
■モデルパフォーマンスモニタリングの画面例

大規模言語モデル(LLM)を利用したアプリケーションを監視する「AIモニタリング」
New RelicのAIモニタリングは、大規模言語モデル(LLM)を利用したAIアプリケーション対応のAPMです。「New Relic APM 360」との連携によって、AIアプリケーションに影響を与えるシステムのパフォーマンスやその品質、コストなどをリアルタイムで計測し、視覚化します。
外部のLLMを使用する場合でも、そのモデルがどれほどのパフォーマンスを発揮できているか、コスト効率はどの程度かということを測定可能なため、複数のモデルを併用比較し、性能がよいモデルを選択できます。
さらに、入力に対するレスポンスタイム、入出力のセット、エラー率、そこにかかっている時間とコストまでモニター可能です。そのため、速さや正確さ、安定性などの技術的な要素のみならず、そのモデルを使うことによる費用対効果といったビジネス的な判断を下す材料をも得ることができます。
■AIモニタリングの画面例

多角的な意識を持ち、効果的なMLOpsを実現しよう
MLOpsは、機械学習を組み込んだシステムには欠かせない、品質維持と向上のための仕組みといえます。しかし、その実践にはいくつかの注意点もあり、それをどのようにクリアするのか、事前に十分な検討が必要です。
また、機械学習に限らず、現代のビジネスはITとは不可分の関係にあります。開発・運用の現場にいるエンジニアは、自分たちの仕事がビジネスにどのような影響を与えているかを意識し、事業側はテクノロジーがどれほどのインパクトをビジネスに与えているのかを理解することが重要だといえます。
こうした異なる視点、多角的な立場を意識することで、MLOpsはより効果的な成果を生み出すことができるのです。
オールインワンのオブザーバビリティ・プラットフォームであるNew Relicなら、複雑化する機械学習を活用したアプリケーションのモニタリングを、部署やチームの垣根をまたいで一元管理することが可能です。
MLOpsを取り入れる際には、ぜひNew Relicも併せてご検討ください。
Next steps
- まだNew Relicをお使いではありませんか? New Relicでは、無料でお使いいただける無料サインアップをご用意しています。 無料プランは、毎月100GBの無料データ取込み、1名の無料フルプラットフォームユーザー、および無制限の無料ベーシックユーザーが含まれています。
無料サインアップはこちらから
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.