用語集をすべて見る

導入と運用

MLOpsとは何か: 機械学習モデルを継続的に運用する仕組みの完全ガイド

KDL作成

MLOps(Machine Learning Operations)とは、機械学習モデルの開発から、学習、検証、デプロイ、監視、更新までの全過程を体系的に管理する運用の方法論です。モデルを一度作ってデプロイして終わりにせず、実際の環境で性能を維持し、変化に合わせて継続的に改善することが核心です。

モデルはデプロイした後も管理し続ける必要があります

良いモデルを作ることと、良いモデルを運用し続けることは別の問題です。

機械学習プロジェクトでは、開発段階で正確さが高く出たモデルでも、実際のサービスに適用した後に同じ性能が続く保証はありません。

時間が経つにつれ、入力されるデータの特性が変わることがあります。新しい種類のデータが加わったり、業務の基準が変わったりすることもあります。学習の時点にはなかったパターンが、実際の環境で繰り返し現れることもあります。

こうした変化が積み重なると、モデルは正常に動いているように見えても、実際の精度は少しずつ下がっていくことがあります。

この問題は、モデルが1つのときよりも、複数のモデルを運用するときに大きくなります。どのデータで学習したか、現在どのモデルがサービスにデプロイされているか、前のバージョンと比べて性能が上がったか、問題が起きたときにどのバージョンへ戻すべきか、をすべて管理しなければならないためです。

MLOpsは、機械学習の開発と実際の運用をつなぐ仕組みです。

MLOpsの正確な定義: DevOpsとどう違うのか

DevOpsとMLOps、管理対象が違います

DevOpsとMLOpsは、開発と運用の間の溝を埋め、反復作業を自動化するという点では似ています。

ただし機械学習システムでは、一般的なソフトウェアより管理すべき対象が多くなります。

第一に、コードだけを管理しても十分ではありません。機械学習モデルの結果は、どのデータで学習したかによって変わります。そのため、ソースコードだけでなく学習データとそのバージョンも一緒に管理する必要があります。

第二に、モデルそのものが管理対象です。いつモデルを学習させたか、どの性能が記録されたか、現在どのバージョンが稼働しているかを追跡しなければなりません。

第三に、運用中も性能を評価する必要があります。システムが正常に実行されるかを確認するだけでは不十分です。実際の入力データでモデルの性能が維持されているかも確認しなければなりません。

第四に、再学習の過程があります。データの特性が大きく変わったり、モデルの性能が基準を下回ったりした場合には、新しいデータで再び学習させて検証し、デプロイし直す過程が必要になることがあります。

つまり、DevOpsがソフトウェアのコードとデプロイの過程を中心に運用の仕組みを作るのに対し、MLOpsはそこにデータ、モデル、学習、評価まで加えた運用の仕組みだといえます。

MLOpsを構成する4つの機能

データからデプロイ後まで管理します

第一に、データ管理です。

モデルの学習と評価にどのデータを使ったかを記録し、そのバージョンを管理します。データが変わったときに、どのモデルの結果に影響したかを追跡できる必要があります。

第二に、モデルと実験の管理です。

学習に使ったモデル、パラメータ、データ、性能指標をまとめて記録します。多くの実験のうち、どのモデルが実際のデプロイ基準を通過したかを確認できるように管理します。

第三に、デプロイとバージョン管理です。

検証済みのモデルを実際のサービス環境にデプロイし、運用中のモデルのバージョンを管理します。新しいモデルで問題が起きたときに、以前のバージョンへ戻せる仕組みも必要です。

第四に、監視と再学習です。

運用環境で、入力データとモデルの性能の変化を継続して確認します。データ分布が変わるドリフトや、性能の低下が確認されたら、再学習と再デプロイが必要かどうかを判断します。

これら4つの過程がつながってはじめて、開発から実際の運用まで、繰り返し可能な1つの流れとしてモデルを管理できます。

MLOpsの実際の適用方法

学習データとモデルの関係を記録します

モデルの結果を再現するには、どのデータでどのモデルを作ったのかがわからなければなりません。

データセットのバージョンとモデルのバージョンを結び付けておくと、新しいモデルの性能が変わったとき、それがデータの変化によるものか、モデル自体の変化によるものかを確認しやすくなります。

モデルごとに学習の条件と評価結果を一緒に記録することも重要です。

デプロイ前の合格基準を決めます

新しいモデルができたからといって、すぐに運用環境へ適用するわけではありません。

既存のモデルと同じ評価データで性能を比べ、正確さ、処理速度、エラー率など、実際の業務で重要な指標が基準を満たしているかを確認します。

新しいモデルの一部の指標が良くなっても、特定の業務でエラーが増えていれば、すぐには入れ替えられない場合があります。

そのため、どの条件を満たせばデプロイするのかを、事前に決めておくとよいでしょう。

運用中のモデルの変化を監視します

デプロイした後は、モデルが正常に動いているかだけでなく、結果の品質も確認する必要があります。

代表的な変化の1つがデータドリフトです。実際の入力データの分布が、モデルを学習させた当時と変わってしまう現象を指します。

たとえば、特定の文書の書式やデータの種類が急に増えると、既存のモデルはそのパターンを十分に学習できていない可能性があります。

こうした変化を定期的に確認すれば、性能が大きく下がる前に問題を見つけられます。

問題が起きたら以前の状態に戻せるようにします

MLOpsにおけるバージョン管理は、単に記録を残すための機能ではありません。

新しいモデルをデプロイした後に予期しない問題が起きたら、以前のモデルへ戻せなければなりません。モデルだけでなく、そのモデルが使ったデータと設定も一緒に追跡できれば、原因を突き止めやすくなります。

誰がどのモデルをいつデプロイし、何が変わったのかを記録しておくと、運用の変更履歴も確認しやすくなります。

MLOpsとVLMOps

MLOpsは、機械学習モデル全般の学習、デプロイ、監視を扱う概念です。

VLMOpsは、この運用の考え方を、視覚言語モデルと文書AIの環境にさらに具体的に適用したものです。

文書AIでは、モデル自体だけでなく、どの項目を抽出するかを定めたスキーマ、自然言語の指示、検証基準、文書の書式の変更なども運用に影響します。

特に新しい文書の書式や抽出項目が加わるとき、必ずしもモデルを再学習する必要はありません。モデルのパラメータを変えず、抽出基準やスキーマを調整して対応できる領域もあるためです。

つまり、MLOpsがモデルの学習とデプロイを中心に運用を管理するのに対し、VLMOpsは、文書AIが実際の業務の変化に継続して対応できるよう、運用基準、評価、変更履歴を合わせて管理する方向へ広がったものです。

韓国の企業環境におけるMLOps

企業でMLOpsを適用する際は、モデルの性能だけでなく運用環境も併せて考慮する必要があります。

韓国の金融や公共のように、外部クラウドの利用やデータの持ち出しに制約がある環境では、学習データ、モデル、運用ログを社内のインフラで管理しなければならない場合があります。

その場合は、モデルの開発、デプロイ、監視を社内環境で行える構造が必要です。

また、モデルが変わるたびに、誰がどのバージョンを検討し承認したのかを記録できると、運用の変更履歴を追跡しやすくなります。

よくある質問

MLOpsを導入すればモデルは自動的に良くなりますか?

いいえ。MLOpsは、モデルの性能を自動的に高める技術というより、モデルの開発、検証、デプロイ、監視の過程を繰り返し可能な形で管理する仕組みです。モデルの改善が必要な時点を見つけ、必要な作業を行いやすくします。

モデルが1つだけでもMLOpsは必要ですか?

必ずしも大規模なシステムだけに必要なわけではありません。1つのモデルでも継続的に更新して運用するなら、データ、モデルのバージョン、評価結果を管理する仕組みが役立ちます。ただし、必要な水準は運用の規模によって異なります。

MLOpsとDevOpsは同じ概念ですか?

同じではありません。DevOpsがソフトウェアのコードの開発とデプロイを中心にするのに対し、MLOpsはそこに機械学習のデータ、モデル、学習、性能評価が加わります。

モデルはどのくらいの頻度で再学習すべきですか?

決まった周期があるわけではありません。一般的には、入力データの変化と実際のモデルの性能を確認してから、再学習するかどうかを決めます。一定期間がたったというだけで、必ず再学習する必要があるわけではありません。

データドリフトとは何ですか?

運用環境に入ってくるデータの特性が、モデルを学習させた当時と変わってしまう現象です。データの分布が大きく変わると、モデルの性能に影響することがあるため、継続的な監視が必要です。

MLOpsで最も重要に管理すべきものは何ですか?

学習データ、モデルのバージョン、評価結果、デプロイの履歴です。どのデータと設定でモデルを作り、どの評価を経て、どのバージョンが運用に適用されたかを追跡できる必要があります。

MLOpsとVLMOpsはどう違いますか?

MLOpsは機械学習モデル全般の運用の仕組みです。VLMOpsは、視覚言語モデルと文書AIの環境において、抽出基準、スキーマ、評価文書、変更履歴など、文書業務に必要な運用要素まで合わせて管理することに重点を置いています。

運用中のモデルとデータ、デプロイの過程を1つの仕組みとして管理すると、モデルの変更や性能の低下により速く対応できます。

お問い合わせ