2020/09/18
2023/07/28
MLOpsとは|定義、メリット、課題、ツール、ワークフローを分かりやすく解説
MLOps(エムエルオプス)とは、機械学習(ML)の開発チームと運用チームが連携・協力してモデルの開発から運用まで一連のライフサイクルを管理する基盤・体制だ。
2010年代初頭に深層学習(ディープラーニング)がブレークスルーとなってスタートした「第3次AI(人工知能)ブーム」。AI技術をビジネスに活用するケースが増える一方で、AI・機械学習プロジェクトが実証実験(Poc)の障壁を乗り越えられず、MLの実際の活用に至らないケースも多いという意見もある。
MLの一般的なワークフローは、データの収集・前処理、モデルの学習、評価を経て、本番環境へのデプロイ、監視、そして更新だが、実際の活用に至らない要因の一つが、MLの開発(Development)サイドと、運用(Operation)サイドの知見やスキルセットが異なるためだという指摘がある。
目次
MLOpsの定義-DevOpsから派生
そんな課題を解決するために2017年前後に登場したのがMLOpsという考え方。MLOpsは、システムの開発(Development)チームと、運用チームが協働してビジネス価値の向上を目指す「DevOps(デブオプス)」から派生した概念だ。
現時点でMLOpsの厳格かつ統一された定義は存在しない。MLOpsを直訳すると「機械学習運用」となるが、インターネット上では「機械学習基盤」と日本語で表記する記事・コラムが多い。
米IT大手によるMLOpsの定義
「GAFAM」の一角を占める米IT(情報技術)大手のグーグル、マイクロソフト、アマゾン3社のMLOpsに関する考え方次の通りだ。
グーグル
|
マイクロソフト
|
アマゾン
|
このように3社はMLOpsを「DevOpsのML版」と位置付けており、MLOpsとは「MLの開発チームと、運用チームが連携・協力して、学習モデルを活用したモデルの開発から運用まで一連のMLライフサイクルを管理する基盤・体制」だと言えよう。
MLOpsのワークフロー
MLOpsのワークフローは、MLのそれと基本的に合致する。それに加えて、MLモデルの構築やテスト、デプロイ、監視、更新といった作業の一部、またはすべてを簡素化・自動化しようとするものだ。
MLの課題
マイクロソフトが指摘する複数の課題
マイクロソフトはMLを実践するに当たり、
- チームが縦割りだと連携できない
- プロセスが自動化されていないと、モデル作成とデプロイを毎回一から行う必要がある
- MLの管理には非常に多くの時間と人員が必要になる
などの課題があると指摘している。
なぜならMLのライフサイクル全体を管理することのは非常に複雑な作業であり、MLモデルの作成は、MLライフサイクルの数多くのステップの第一歩にすぎないからだという考え方に基づいている。
学習データやコード、モデル環境、そして機械学習モデル自体を文書化して管理したり、モデルを開発してパッケージ化、デプロイ、パフォーマンス監視、再トレーニングといったプロセスを確立する必要があるからだ。
そのため、これらの課題に取り組むには、DevOpsの機敏性をMLのライフサイクルに適用するアプローチ、すなわちMLOps が必要だというロジックだ。
人間参加型機械学習、コラボレーティブ・インテリジェンス
MLは、コンピューターが、データから反復的な学習を通じてパターンを見つけ出して将来を予測するという極めて専門性の高い技術だが、コンピューターは完ぺきではない。このため、上記のような課題を解決するには、「Human in the Loop(人間参加型、HITL)機械学習」が有効だろう。人間がアルゴリズム構築に関与して分析、フィードバックを繰り返すことで、精度の高いアルゴリズムを生成するという取り組みだ。また、人間をAIが知能を最適な形で補完し合う「Collaborative Intelligence(協調的知能、CI)」の実践も効果的だろう。
このため、機械学習システムの効果的でスムーズな実運用を実現するには、開発チームと運用チーム、そしてMLを導入する企業などによるコラボレーション(協調)が欠かせない。協調なしでは、MLを活用する企業のニーズに応え得る、最適化されたMLモデルを構築することは容易ではないからだ。
「MLOpsの歩き方」という本の著者が指摘する三つの課題
著書「仕事で始める機械学習」の共同著者、有賀康顕氏は「MLOpsの歩き方」という本で、機械学習システムには、
- データサイエンティスト vs ソフトウエアエンジニア
- 同一の予測結果を得る難しさ
- 継続的な学習とサービングの必要性
という三つの課題が存在すると指摘する。
データサイエンティスト vs ソフトウエアエンジニア
一つ目の課題は、主に開発チームとしてモデルの開発やPoCなどを担当するのがデータサイエンティスト、運用チームとして本番環境で安定的に予測結果を導き出すことに注力するソフトウエアエンジニアというように、担当が異なる専門家たちを「ワンチーム」にまとめるあげることは容易ではないということだ。
同一の予測結果を得る難しさ
二つ目の課題は、機械学習システムでは、機械学習モデルの振る舞いは、与えられたデータに依存して決まるため、ある一つの実験結果を本番環境で常に再現するのは難しいということだ。使用する言語やコード、入力データの分布や仮定などが、モデル開発の環境と、本番での運用環境とで異なる場合があるため、同一のデータを用意することや、ライブラリの依存関係や環境を再現するのが難しく、大幅な手直しが求められるケースも少なくない。
継続的な学習とサービングの必要性
三つ目の課題は、入力データの分布や特徴量が、モデル構築時と、本番環境での実運用時とで、変化するケースも少なくないため、定期的に新しいデータを用いて予測モデルを更新する必要があるということだ。
これらの課題を解決するためには、開発チームと運用チームの協働のほか、取り扱うデータのモニタリングや検証、そして開発時のテストと同じような結果を実運用でどれだけ再現できるかという「再現性の確保」などが求められる。
MLOpsのメリット
MLOpsの最大のメリットは、モデルの作成から精度の管理、本番環境へのデプロイ、監視、そして更新といった一連の作業の一部もしくはすべてを自動化し、ビジネスサイドがML導入を意思決定してから、MLを実際に活用し始めるまでのタイムラグを小幅にとどめられるということだ。
そのメリットを最大限で享受するためには、GAFAMなどの米IT大手が提供しているプラットフォームやツールの活用が欠かせない。
MLOpsを行うためのツール
機械学習プロジェクトの効果的・円滑な実運用化のためには、膨大、かつ、さまざまなプロセスを経る必要があるが、IT大手はそれぞれの作業を簡略化するためのプラットフォームやツールを提供している。米IT大手が提供しているプラットフォームやツールは次の通り。
AI Platform -グーグル
グーグルのAI Platformは、MLの開発者、データサイエンティスト、データエンジニアが、MLプロジェクトをコンセプト化段階から本番とデプロイの環境にすばやく、かつ、費用効率の高い方法で移行できる。
AI Platform を使用すると、MLワークフローの中で重要な役割を果たしている
- モデル トレーニング
- トレーニング済みモデルのデプロイ
- モデルへの予測リクエストの送信
- 継続的な予測モニタリング
- モデルとモデル バージョンの管理
を実行できる。
グーグルはこのほか、Kubernetes用のMLツールキットKubeflowも提供している。
グーグルがMLOpsの新サービス-簡素化が目的
また、グーグルは今年9月1日、MLOpsの簡素化を目的とした一連の新サービスを発表している。
一つ目の新サービスは、機械学習パイプライン用のフルマネージドサービス。TensorFlow Extendedのビルド済みコンポーネントとテンプレートを用いてMLパイプラインを構築でき、モデルのデプロイに必要な労力を大幅に削減できる。このサービスは今年10月にプレビューで利用可能になる。
二つ目は本番環境でのモデルの継続的な監視。モデルが古くなった場合や、外れ値、ゆがみ、コンセプトドリフトを管理者に警告するというもの。
三つ目は、AI Platform内へのFeature Storeの導入。Feature Storeはリポジトリとして機能し、機械学習チーム内で再利用が可能だ。二つ目と三つ目の新サービスは今年末までに利用可能になる。
SageMaker -アマゾン
アマゾンのAmazon SageMaker は、すべての開発者やデータサイエンティストが機械学習モデルを迅速に構築、トレーニング、デプロイできる完全マネージド型サービス。一つのツールセットでML用に使用できる全コンポーネントを提供し、機械学習モデルを本番環境へ送り出すまでの時間を短縮し、手間と費用を大幅に抑えられる。
Azure Machine Learning-マイクロソフト
マイクロソフトは、モデル学習、デプロイ、自動化、管理、追跡に使用できるクラウドベースの環境 Azure Machine Learningを提供している。
AzureのMLOpsを使用すれば、
- 再現可能な 機械学習パイプラインの作成
- モデルのトレーニングとデプロイのために再利用可能なソフトウェア環境の作成
- モデルの登録とパッケージ化、デプロイ
- MLライフサイクルのための管理データ取得
- MLアプリケーションの監視
- Azure Pipelines の併用によるMLライフサイクルの自動化
が可能となる。
MLOps-DataRobot
DataRobotが提供するプラットフォームはその名の通りMLOps。本番環境でMLアプリケーションをデプロイして継続的・動的に最適化を行い、ガバナンスを確保するという作業が自動化されるため、AI の価値を非常に短期間で安全に引き出せる点が、「ビジネスリーダーにもたらすメリット」だと説明している。
他にもプラットフォームやツールなど多数
このほか、MLの実験や再現性、評価、最適化、デプロイなどが可能な無償・有償のプラットフォームやツールが多数、存在する。
Allegro Trains(苦労のないMLOps)
ABEJA Platform(モデル作成・運用) comet(実験の追跡、比較、説明、最適化) MatrixFlow(課題特定、提案、学習データ抽出処理の支援、モデル構築、運用) MLflow(実験、再現性、デプロイ、中央モデルレジストリな) neptune(実験の追跡、記録データ探索、チーム管理、実験整理、デプロイ) MLバッチ処理・MLOps) Weights & Biases(実験の追跡、モデル最適化、データセットのバージョン管理) |
MLOps勉強会、日本で2017年ごろスタート
「MLOpsの歩き方」の著者、有賀氏によると、日本国内で初めて開催されたMLOps関連のイベントは、2017年12月の「MLOps Study」だ。それ以降は「MLOps Study」のほか、有賀氏が主催する「Machine Learning Causla Talks」や、日本ソフトウエア科学会の機械学習工学研究会(MLSE)などがMLOpsをテーマとするイベントを開いている。
またAIスタートアップ企業のABEJAも2018年ごろ「AI・MLOpsのためのプラットフォーム『ABEJA Platform』に関する勉強会」を開催している。
直近では今年8月21日、オンラインの「第1回MLOps 勉強会 Tokyo」(DataRobot主催)が開かれ、DataRobot Japan、Mobility Technologies(旧 JapanTaxi)、Smart AnalyticsがMLOpsの事例などについて講演。9月17日にはオンラインの「MLOpsコミュニティ座談会」(同)が開かれ、大企業などで、構築されたものの本稼働に至らない MLモデルの割合が8~9割に上るとも推定されていることを踏まえ、参加者からは、本稼働の割合引き上げに向けて、MLOpsが貢献できるといった趣旨の意見が出た。
MLOpsのまとめ
MLOpsは、MLの開発チームと運用チームが連携・協力して、モデルの開発から運用化まで一連のMLライフサイクルを管理する基盤・体制であり、その目指すところは「機械学習システムの効果的でスムーズな実運用」にほかならない。
開発チームと運用チームが協働することにより、MLのワークフローがスムーズに進むとの指摘が多い。他方、モデル開発時と、本番環境での実運用時とで、使用する言語やコード、入力データの分布や仮定などが異なるといったさまざまな課題が存在するとも指摘されている。
これらの課題を解決すべく、GAFAMといった米IT大手などが無償・有償のプラットフォームを多数、リリースしている。
AI・MLは急速に進化する技術や研究領域であることから、1~3年後の状況を予測することでさえ容易ではない。しかし、MLOpsが今後、世間の耳目を集める存在だということは間違いない。AI・MLに携わるすべての当事者には、機械学習システムの効果的でスムーズな実運用に向けて、最適な手法を選定、実践する手腕が問われよう。
Recommended