1行定義
MLOpsとは、機械学習モデルの開発と運用を一体として捉え、学習・デプロイ・監視・再学習を自動化して継続的に回すための考え方と仕組みのことです。
くわしく
MLOps(エムエルオプス)は、Machine Learning(機械学習)とOperations(運用)を組み合わせた言葉です。ソフトウェア開発で、開発と運用を一体にして改善を速く回すDevOpsの考え方を、機械学習に広げたものです。
なぜ必要か
普通のソフトウェアは、コードを変えなければ同じように動き続けます。機械学習モデルは違います。世の中の傾向が変わり、本番で入ってくるデータが学習時のデータとずれていくと、コードはそのままでも精度が落ちていきます。たとえば需要予測のモデルは、消費者の好みが変われば外れやすくなります。
さらに、実際のシステムでは、モデルを学習させるコードはごく一部です。データの収集と検証、モデルの配信、監視といった周辺の仕組みのほうがはるかに大きくなります。ここを手作業で回すと、更新が遅れるうえ、どのデータとコードで作ったモデルなのかもわからなくなります。
主な取り組み
- 監視:本番での予測精度や入力データの分布を見張り、劣化を早く見つけます。
- 自動化:データの準備、学習、評価、デプロイを1本のパイプラインにまとめます。再学習を自動で回す仕組みを、継続的トレーニング(CT)といいます。
- 再現性の確保:データ、コード、モデル、設定の版を記録し、同じモデルを作り直せるようにします。Dockerなどのコンテナで実行環境をそろえるのも、このためです。
- 役割の連携:モデルを作るデータサイエンティストと、システムを運用するエンジニアが、同じ流れの中で協力します。
隣の概念との関係
CRISP-DMやCRISP-MLは、プロジェクトをどの順番で進めるかを示す手順のモデルです。MLOpsは、その流れのうち学習からデプロイ、運用中の監視と再学習までを、技術と体制の両面から回し続ける仕組みにあたります。PoCで有望とわかったモデルを、本番で使い続けられる状態にするのがMLOpsの役目です。
G検定での出題
出題のされ方
運用中にデータの傾向が変わってモデルの精度が落ちる問題への対処として、本番での監視、再学習からデプロイまでの自動化、データ・コード・モデルの版管理の役割が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
実際の機械学習システムでは、モデルを学習させるコードは全体のごく一部で、データの収集や検証、モデルの配信、監視などの周辺の仕組みのほうが大きい。
答えを見る
答え ◯ 正しい
Googleの技術者による2015年の論文などで指摘された点です。MLOpsが周辺の仕組みづくりと自動化を重視するのはこのためです。
-
MLOpsでいう継続的トレーニング(CT)とは、新しいデータが集まったときなどに、モデルの再学習を自動で行う仕組みのことである。
答えを見る
答え ◯ 正しい
CTは、ソフトウェア開発のCI/CD(継続的インテグレーション・継続的デリバリー)にはない、機械学習に特有の考え方です。再学習したモデルは、評価を経てから本番に出します。
-
MLOpsは、モデルを本番環境に一度デプロイするまでの手順を指し、デプロイ後の運用は対象に含まない。
答えを見る
答え × 誤り
MLOpsの中心は、デプロイ後の監視や再学習も含めて、開発と運用を継続的に回すことです。運用中の精度の劣化への対処は、主な目的の1つです。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目35 AIプロジェクトの進め方)
- Dominik Kreuzberger, Niklas Kühl, Sebastian Hirschl, Machine Learning Operations (MLOps): Overview, Definition, and Architecture, IEEE Access 11, 31866–31879 (2023)
- D. Sculley et al., Hidden Technical Debt in Machine Learning Systems, Advances in Neural Information Processing Systems 28 (2015)
- Google Cloud, MLOps: Continuous delivery and automation pipelines in machine learning