MLOps とは
MLOps(Machine Learning Operations)を定義すると、本稼働環境の機械学習(ML)モデルのデプロイ、監視、管理を、拡張性が高く完全に統制された方法で自動化し、最終的に機械学習から測定可能なビジネス価値を引き出すことを目指す、人、プロセス、ベストプラクティス、基盤となるテクノロジーの集合体と言えます。MLOps の基盤を構築すれば、データチーム、デプロイチーム、本稼働チームのコラボレーションを円滑化し、組織内の機械学習サービスとイニシアチブのデプロイ、監視、管理を自動化できます。
組織の MLOps 基盤の成熟度は、一連のプロセスの完成度や運用のあり方によって測ることができます。たとえば以下の点を評価します。
- モデルの作成、トレーニング、承認方法
- モデルの保存先
- モデルのデプロイ方法
- 本稼働環境のモデルの評価および監視方法
- リスクを最小化するための本稼働環境のモデルの修正または削除方法
- 機械学習運用プロセスを繰り返すための、上記のプロセスの管理の方法
成熟した MLOps 基盤とは、トレーニングとデプロイから、本稼働、コンプライアンスやリスク管理上の理由による廃止や保存まで、モデルのライフサイクルの全ステップを自動化して効率を向上し、プロセスを完全に可視化した状態を指します。もちろん、各プロセスが現行のすべての運用プロセスやクラウドサービスとの完全かつシームレスに連携することも求められます。
詳しくは、こちらを参照してください。
組織に MLOps 基盤が必要な理由
多くの組織が機械学習と人工知能(AI)の導入に挑戦しています。そして一部の組織はすでに、生産性や売上の向上といった AI のメリットを享受し始めています。しかし、この変革に取り組む組織のほとんどは成果を得られず、また得られたとしてもその成果を拡大するのは未知の領域であるのが実状です。
MLOps が必要な理由については、こちらのページを参照してください。
機械学習モデルを開発するチーム(データサイエンティスト)とそのモデルを運用するチーム(DevOps 担当者、ソフトウェア開発者、IT 担当者など)との間には、スキル、モチベーション、インセンティブ等の点でギャップがあります。問題は多岐にわたり、それは組織や部門によっても異なります。いくつか例をあげましょう。
- データサイエンティスト人材の不足により、組織は適切な経験を持つ人材を見付けたら、そのデータサイエンティストが仕事をするのに適した環境を用意せざるを得ず、次の問題を生み出します。
- データサイエンティストは一般的に、自分の得意とする言語やプラットフォームを使用してモデルを作成しますが、それらは、通常のソフトウェア言語やプラットフォームの使用を前提とする運用チームや運用サービスにとって最善ではないか、多くの場合はほとんど知識が無いものであることがあります。
- 運用チームは、クラウド、システムリソース、実行環境など、システム環境とそのリソース最適化に継続的に取り組んでいます。しかし、データサイエンスチームは、これらの依存関係に関する考慮点を意識しないばかりか、それらをまったく気にかけずにモデルを作成してしまうことがあります。
- 機械学習モデルのシステム、ライフサイクルなどについて適切な経験、また運用体制がないと、トラブルシューティングや、法規制に関するコンプライアンス報告書の作成が難しくなります。
- モデルを適切に監視しないと、変化の激しいデータパターン、ユーザー/消費者の行動、その他さまざまな問題が本稼働環境のモデルに反映されず、精度に影響がおこります。それらに気づけずに運用を続ける事で、組織にとってのリスクにつながる可能性もあります。
- 多くの運用担当者は、ミッションクリティカルな本稼働環境を管理することが本業であり、機械学習固有の運用や注意すべき側面に関する知識がないため、本稼働環境への機械学習のデプロイによる自身の業務への影響に大きな懸念と警戒を抱いています。適切な ML 管理ツールやプロセスがないと、ML の導入にリスクが伴うのは当然であり、運用担当者が心配するのも無理はないでしょう。しかし、それが小さな原因になって作業やデプロイの大きな遅延につながる可能性があります。一方、データサイエンティストは、本稼働環境レベルのシステム運用には精通しておらず、モデルの構築やメンテナンスにのみ意識が向きがちで、それが問題につながることがあります。
MLOps では、機械学習のライフサイクル管理の自動化と拡張性を支える技術基盤を構築することにより、これらを含むさまざまな問題を軽減できます。モデルの作成を担当するデータチームと本稼働環境で実行するサービスの管理を担当するチーム間のコラボレーションを円滑化して、AI を活用した戦略的目標を達成する道を切り開くことができます。
MLOps の構成要素
複雑な状況に対応する能力と俊敏性を備えた MLOps ソリューションは、次の 4 つの重要領域で優れた機能を提供することにより、本稼働環境での機械学習の安全かつ大規模な展開を可能にします。
これら 4 つの要素がなければ、最大限のメリットを引き出すために必要な運用レベルを維持する事ができません。これらの領域の対策が不十分だと、手動のプロセスが増え、人的ミスが起こる余地が残り、場合によっては手順に盲点が生じて、重大な問題が数日または数カ月間見過ごされることで、組織全体の運用リスクを増大させる可能性すらあります。以下では、4 つの柱のそれぞれについて詳しく見ていきます。
モデルのデプロイとは
課題
機械学習モデルの開発では、モデルの作成に使用された各種の機械学習プラットフォームやプログラミング言語までさかのぼって追跡できます。しかし、モデルの作成時点では、通常、実際の本稼働環境やそのミッションクリティカルな考慮事項はわかりません。こうしたモデルを通常のソフトウェアアプリケーションに適した環境に導入する場合、手動での統合が必要になり、その作業の際に問題が生じて、モデルをデプロイしたことで本稼働環境の安定性が損なわれるおそれがあります。その結果、展開規模を拡大できないだけでなく、収益を損失したりコスト削減効果が相殺されたりする可能性もあります。
解決策
MLOps では、モデリングから本稼働環境へのデプロイまでのプロセスを効率化して、モデルのデプロイを簡素化できます。モデルの作成に使用されたプラットフォームや言語を気にする必要はありません。エンタープライズグレードの MLOps システムでは、通常、デプロイ先の環境や、使用しているクラウドサービスやプロバイダーに関係なく、モデルがデプロイされ、アプリケーションチームに一貫した使い勝手を提供する API が生成されます。
モデル監視とは
課題
機械学習モデルが時間の経過とともに性能劣化などのパフォーマンス関連の問題を引き起こす理由はたくさんあります。たとえば、顧客の属性データを含むデータセットに基づいてリアルタイム予測を生成している場合、経済危機、市場変動、自然災害、または単に天候などが引き金になって対象顧客の属性、また行動パターンが変化することがあります。これにより、モデルのパフォーマンスが低下し、場合によってはビジネスに悪影響を与えることもあります。古いデータを使用してトレーニングしたモデルには最新の状況が反映されておらず、予測の精度が下がるだけでなく、まったく的外れになる可能性すらあります。根本的な問題は、それがいつ起こるのかがわからない点です。機械学習用に設計された専用の本稼働環境監視システムがないと、予測が不正確になっていることに気付かないまま、それによって引き起こされるリスクがビジネスに悪影響を与える可能性があるのです。
解決策
MLOps では、本稼働チームと AI、データサイエンテイスト チームのどちらも、機械学習に適したあるべき方法でモデルを監視できます。堅牢な監視インフラであれば、データドリフト、特徴量の重要度、モデルの精度に関する問題をプロアクティブに監視できます。本稼働環境のモデルの信頼性をさらに向上させるための高度な機能を利用できることもあります。たとえば、AI における謙虚さの原則に従って、モデルによる予測が悪くなる可能性があるときだけでなく、予測の品質に確信がないときにも通知する機能などがあります。
モデルライフサイクル管理とは
課題
組織における機械学習の導入が順調に進めば、本稼働環境で実行されるモデルの数が増え続け、すべてのモデルとそのライフサイクルを管理するのが困難になります。その結果、プロセスを整備するための作業に多くの時間が費やされることになります。理想的なプロセスは、モデルのライフサイクルに含まれるすべてのフェーズが効率化され、柔軟なワークフローによって承認され、かつできるだけ自動化された状態です。たとえば、以下の機能が求められます。
- チャンピオン/チャレンジャーモデルの仕組みの導入: 今日、新しいモデルを導入するときは、まず新しいモデル(チャレンジャー)を本稼働環境で実行し、特定のタイムフレーム内でパフォーマンスを測定して現行モデル(チャンピオン)と比較し、新しいモデルが現行モデルのパフォーマンスを上回って新しいチャンピオンになれるかどうかを判断することがベストプラクティスになりつつあります。このプロセスは、品質を向上し、予測の精度とモデルの安定性を継続的に改善できるだけでなく、プロセスを完全に自動化できる点で重要です。
- トラブルシューティングと問題追求: モデルをただ監視するだけでなく、パフォーマンスが疑わしい、または低下しているモデルの問題追求、トラブルシューティング、解決ができることが重要です。
- モデルの承認: モデルのデプロイに関するリスクを最小化するために業務面と技術面のすべての関係者にモデルの承認を求める正式なプロセスを構築します。
- 本稼働環境のモデルの更新: 本稼働環境のワークフローを中断することなくモデルを交換できることは、事業継続性の点で重要です。
解決策
MLOps では、本稼働環境のモデルのライフサイクル管理システムを使用して、チャンピオン/チャレンジャーモデルの仕組みの導入、トラブルシューティングとトリアージ、ホットスワップのモデルの承認などのプロセスを自動化し、セキュアなワークフローを構築することで、規模に合わせてモデルのライフサイクルを効率的に管理できます。
本稼働環境でのモデルガバナンスとは
課題
CCPA や EU/UK GDPR などの規制が施行された今日、本稼働環境への機械学習モデルのデプロイについても法規制違反や企業リスクを回避するための対策を考える必要性が特に高まっています。これは、組織のグローバル化が進み、各地の法規制が複雑に絡み合って対応がほぼ不可能な状況になっている中で喫緊の課題です。組織は今こそ、完全なモデル開発(承認、モデルの操作、デプロイされているバージョン、アップデートなど)の追跡体制を整備する必要があります。しかし、これを手動で実行するのは現実的ではありません。
解決策
MLOps は、以下の機能を実現して、本稼働環境でのモデルガバナンスに関するエンタープライズグレードのソリューションを提供します。
- モデルのバージョン管理
- 文書の自動作成
- 本稼働環境のすべてのモデルに関する完全かつ検索可能なモデル開発(履歴)追跡と監査証跡
これにより、企業リスクや法的リスクを最小化し、本稼働環境のモデルの管理パイプラインを透明化して、モデルのバイアスを最小限に抑えて最終的には排除するなど、さまざまなメリットを実現できます。
データサイエンスチームおよびデータサイエンティストと MLOps
機械学習と AI のイニシアチブに取り組むデータサイエンティストやデータサイエンスチームにとって、MLOps の導入には大きなメリットがあります。日常業務の多くを自動化できるだけでなく、運用チームと効果的にコラボレーションすることで、日々のモデル管理の負担を大幅に軽減できます。
これにより、取り組むべき新しいユースケースの発掘、新機能の開発、より深いビジネス知識の構築など、データサイエンティストとして重要な業務に集中できます。手動でモデルのメンテナンスやパフォーマンスの確認を行うのは時間の無駄です。テスト、監視、検証においても手動作業から解放されます。
データサイエンスチームにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。実務を担うデータサイエンティストにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。
部門リーダーおよびエグゼクティブと MLOps
MLOps を導入すれば、AI 機能を全社展開するとともに、各チームおよび部門にとって重要な KPI を追跡して、付加価値の高い業務に注力できます。
今日の部門リーダーにとって、偏りがなく信頼できる正確な予測を迅速に得ることは重要課題です。組織全体でより深く有意義な分析ができれば、より良いビジネス成果につながるため、予測に基づいて意思決定を行うことは今や不可欠です。しかし、AI の ROI を向上させるにはさまざまな障害があります。AI プロジェクトによってコストを削減し、組織力と競争力を強化して、測定可能な ROI を得るには、MLOps を導入して AI と機械学習を大規模に運用する必要があります。
部門リーダーにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。エグゼクティブにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。
ソフトウェア開発者と MLOps
機械学習モデルをアプリケーションやサービスに実装するときに、ETL の設定が終わりのない悪夢のような問題に発展することがよくあります。強力な MLOps システムでは、直感的なデプロイおよびバージョン管理体制を構築し、明確で管理が簡単な API を使用することによって、このプロセスを簡素化できます。
これらのシステムで利用できる開発者向けの MLOps(英語)機能には、以下のものが含まれます。
- 明確でシンプルな API(REST)
- 機械学習運用の開発者サポート(文書作成、サンプルなど)
- 本稼働環境のすべてのモデルを対象としたバージョン管理とリネージ
- ポータブル Docker イメージ
IT 運用チームと MLOps
MLOps は、IT チームが本稼働環境のモデルを完全に制御できるように設計されており、様々な開発環境やプログラミング言語で作成されたモデルでも簡単にデプロイできます。一般的な IT ソリューションと同じような操作性を備え、主要な IT 管理ソリューションとシームレスに統合できます。IT チームと AI チーム間の摩擦を解消し、コラボレーションを強化するためにも役立ちます。
IT チームが本稼働環境のモデルを管理するために利用できる機能には、以下のものが含まれます。
- サービス、IT 管理システム、チケット管理システムへのアラートと接続
- リポジトリ統合
- 変更の承認ワークフロー
- モデルアップデートのシームレスな展開
IT 運用チームにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。
DevOps/データエンジニアと MLOps
MLOps を導入すれば、DevOps チームやデータエンジニアリングチームは、実際の機械学習モデルを管理する方法を追加して、テストと検証から、アップデート、パフォーマンスの測定までを 1 カ所から管理・実行できます。これにより、組織全体でデプロイおよび監視能力をシームレスに拡大すると同時に、サービスの正常性を時系列に監視して、遅延、スループット、信頼性に関する SLA を満たすことで、AI からより多くの価値を引き出すことができます。
DevOps チームとデータエンジニア向けの MLOps 機能にはさまざまなものがあります。
- ノーコードの予測 GUI
- 異常、パフォーマンス、バイアスの警告
- アクセスを容易にする最適化された API
- モデルの円滑な切り替えと 100% のアップタイムを保証する、モデル交換時の最適なゲートの自動選択
リスク/コンプライアンスチームと MLOps
MLOps インフラを導入すれば、リスク/コンプライアンスチームは、組織内のプロセスを効率化し、複雑な機械学習プロジェクトでの監視の質を向上できます。成熟度の高い MLOps ソリューションでは、ガバナンスワークフローポリシー、承認プロセス、アラートのカスタマイズなど、さまざまな機能を利用して、ガバナンスに関する問題をすばやく察知すると同時に、すべてのリネージを追跡して必要な時点まで状況をさかのぼることができます。
この領域でもまた、AI における信頼性の概念が重要になります。予測によって問題を自己診断し、関係するリスク管理担当者に通知するシステムを構築すれば、本稼働環境の機械学習プロジェクトに対する組織レベルの統制を強化できます。リスク/コンプライアンスチームが注目すべきその他の主な MLOps 機能には、内蔵の予測説明機能、時系列予測の分析、監査ログなどがあります。
リスク/コンプライアンスチームにとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。
AI/機械学習センターオブエクセレンス(COE組織)と MLOps
戦略との整合性がとれた組織的で拡張性の高い AI/機械学習主導の運用体制を確立するのは困難です。組織の縦割り構造への対処から、技術的コアや「いつものやり方」の変更まで、さまざまなタスクが必要です。MLOps を導入すれば、効率的かつ価値主導的な方法で最先端の予測モデルを組み込むことができます。
- さまざまなプラットフォームや言語で作成した異なるタイプのモデルを単一の MLOps ソリューションで操作およびテスト
- ランタイム環境や、オンプレミスかマルチクラウドかに関係なく、既存の基盤を活用
- 偏りのない信頼できるモデルをデプロイする
AI/機械学習センターオブエクセレンス(COE 組織)にとっての MLOps のメリットについて詳しくは、こちらのページを参照してください。
DataRobot MLOps
DataRobot MLOps を使用すれば、機械学習モデルのデプロイ、管理、監視、ガバナンスを一元化し、さまざまな関係者間のコラボレーションを強化して、本稼働環境の ML モデルの信頼性向上、大規模展開、適切な管理という共通の目標の達成を目指すことができます。依存性の低いプラットフォームであり、モデルの開発環境、開発言語、デプロイ先のいずれも気にせずにモデルを操作できます。DataRobot MLOps は、モデルの正常性を監視するための独自の機能を備えています。本稼働環境の現行モデルの効果を調べるための自動化されたチャレンジャーモデルを通じて継続的に学習するとともに、必要に応じて新しいチャレンジャーモデルを自動生成することで、状況の変化に対応します。
また、組織全体を対象とした堅牢なガバナンスフレームワークの下で本稼働環境のすべての機械学習プロセスが一元的に実行されるため、本稼働環境の管理を強化し、チーム間で負担を分散できます。
場所に縛られずにモデルを構築して実行
DataRobot MLOps では、実質的にあらゆるモデルをあらゆる稼働環境にデプロイできます。デプロイ先はクラウド、オンプレミス、ハイブリッドのいずれの環境でもかまいません。さらに、DataRobot の監視機能によって、本稼働環境にすでにデプロイしたモデルから、機械学習を運用するための単一の中央システムに、最新のパフォーマンス情報がリアルタイムで送信されます。
MLOps 監視エージェント – DataRobot MLOps では、モデルを任意のインフラで実行しながら、すべてのモデルを中央ハブで一元的に監視できるようにするために、DevOps でよく用いられるエージェントの考え方が応用されています。
拡張性のある ML 監視プラットフォーム – 機械学習に特化してゼロから開発された独自の監視システムによって、デプロイ先や開発元に関係なく、組織内にある数百単位のモデルのパフォーマンスを瞬時に可視化できます。
柔軟なモデルデプロイ – オープンソースの言語やライブラリを使って作成されたモデルを簡単にデプロイし、リアルタイム予測やバッチ予測に対応した本稼働品質の REST API を公開できます。
モデルのヘルスモニタリングとライフサイクル管理の自動化
データサイエンスに関する組み込みの専門知識 – 完全に製品化されたメカニズムにより、データドリフト、精度、バイアスを検出できます。
継続的なモデル比較 – 新しいモデルをチャンピオン/チャレンジャープロセスで自動的にゲーティングできます。
本稼働環境診断 – サービスの正常性を時系列に監視して、遅延、スループット、信頼性に関する SLA に対応できます。
ガバナンスを確保し信頼性と公平性を持つ
信頼性を備えた AI – モデルの予測と精度を、業界に合わせて設定可能なさまざまな倫理規定と照らし合わせて、AI の倫理的な使用を確認・保証できます。
モデルの承認ワークフロー – カスタマイズ可能で統制されたレビューサイクルと承認ワークフローによって、手動作業をできるだけ排除してモデルの更新を詳細にレビューできます。
ML の監査証跡とログ – 法規制コンプライアンス対応を目的として、予測処理とモデルの更新の完全な開発の履歴を追跡および保存し、作成されたモデル、その用途、更新日時、作成/更新者を常に把握できます。
MLOps 教育プログラム
DataRobot University では、MLOps の基本概念、DataRobot MLOps の機能、DataRobot MLOps による AI および機械学習イニシアチブの拡大方法について詳しく学ぶことができます。無料または有料の MLOps コースを自由に選択して受講できます。
こちらのページから、コース、ラーニングセッション、リソースにアクセスして、MLOps をマスターしましょう。