MLOpsのボスのようにやる方法:涙なしの機械学習ガイド
How to do MLOps like a boss A machine learning guide without tears.
2019年には、MLOps市場は232億ドルに達し、急速な採用により2025年には1,260億ドルに達すると予想されています。
はじめに
多くのデータサイエンスプロジェクトは日の目を見ません。MLOpsは、データステージからデプロイメントステージまでをカバーし、機械学習モデルの成功を保証するプロセスです。この記事では、MLOpsにおける主要なステージ(データサイエンティストの視点から)と、よくある落とし穴について学びます。
MLOps の動機
MLOpsは、データサイエンスモデルの運用化に焦点を当てたプラクティスです。通常、多くの企業では、データサイエンティストがモデリングデータセットを作成し、データの前処理、特徴エンジニアリング、最終的にはモデルを構築します。そして、モデルはAPI/エンドポイントにデプロイするためにエンジニアリングチームに「投げられます」。科学とエンジニアリングはしばしばサイロで行われ、デプロイメントの遅延や最悪の場合は不正確なデプロイメントにつながることがあります。
MLOpsは、企業がエンタープライズスケールのMLモデルを正確かつ迅速に展開する課題に対処します。
データサイエンティストにとって、「簡単に言うよりも簡単に構築できる」という言葉があるかもしれません。しかし、展開することはもっと難しいと言えます。企業が直面する機械学習モデルを本番環境に展開する困難に対して、MLOpsは銀の弾丸になる可能性があります。私たちデータサイエンティストの多くは、MLモデルの約90%が本番環境に到達しないことに気づいており、このことに驚かされるべきではありません。MLOpsは、データサイエンスとエンジニアリングチームが緊密に協力し、継続的に協力することを保証するための学問とプロセスをもたらし、成功裏にモデルを展開するために不可欠です。この協力は、モデルの展開の成功を保証するために重要です。
MLOpsの概要
DevOpsに精通している人にとって、MLOpsはソフトウェアアプリケーションに対するDevOpsに相当します。
MLOpsは、尋ねる人によって複数のフレーバーで提供されます。しかし、成功するためには、5つの重要なステージが必要です。ちなみに、これらのステージのすべてに含まれる必要がある重要な要素は、ステークホルダーとのコミュニケーションです。
問題のフレーミング
ビジネス問題を完全に理解してください。これは、モデルの展開と使用のための成功の鍵の1つです。工学、製品、コンプライアンスなど、すべてのステークホルダーとこの段階で関わって、プロジェクトに必要なものを説明してください。
ソリューションのフレーミング
問題が明確になったら、「How」について考えることができます。このビジネス問題に取り組むには、機械学習が必要ですか?初めに、データサイエンティストとして、機械学習から離れることを提案しているように思えるかもしれません。それは「大きな力には大きな責任が伴う」ということです。この場合の責任は、機械学習モデルが慎重に構築、デプロイ、監視され、ビジネス要件を満たし続けることを確認することです。タイムラインとリソースも、この段階でステークホルダーと議論する必要があります。
データの準備
機械学習の道を進むことを決定したら、「Data」について考え始めます。この段階には、データの収集、データのクリーニング、データの変換、特徴エンジニアリング、ラベリング(教師あり学習の場合)などのステップが含まれます。このステップは通常、プロセスで最も煩雑なステップであり、モデルの成功を保証するために重要です。データと特徴を複数回検証して、ビジネス問題に合わせて調整してください。データセットを作成する際に行う多くの仮定をすべて文書化してください。例:特徴量の外れ値は実際には外れ値でしょうか?
モデルの構築と分析
このステージでは、複数のモデルを構築して評価し、最適なモデルアーキテクチャを選択します。最適化のための選択されたメトリックは、ビジネス要件を反映する必要があります。今日では、このステップを迅速に進めるための多数の機械学習ライブラリがあります。機械学習パイプラインの再現性を確保するために、実験をログに記録して追跡することを覚えておいてください。
モデルの提供と監視
前のステージから構築されたモデルオブジェクトがある場合、エンドユーザーが使用できるようにする方法を考える必要があります。レスポンスレイテンシを最小限に抑え、スループットを最大化する必要があります。モデルを提供するための人気のあるオプションには、REST APIエンドポイント、クラウド上のDockerコンテナ、エッジデバイス上などがあります。モデルオブジェクトをデプロイした後も、まだお祝いすることはできません。モデルは非常に動的であるため、本番環境でデータがドリフトしたり、モデルに対する敵対的な攻撃があったりする可能性があります。機械学習アプリケーションのために堅牢な監視インフラストラクチャを用意する必要があります。ここで監視する必要がある2つのことがあります。
- デプロイする環境の健全性(例:負荷、使用状況、遅延)
- モデル自体の健全性(例:パフォーマンスメトリック、出力分布)
監視プロセスの頻度もこの段階で決定する必要があります。MLアプリケーションを毎日、週間、または月に監視する予定ですか?
さて、堅牢な機械学習アプリケーションが構築され、展開され、監視されました。しかし、残念ながら、上記の手順は継続的に反復する必要があります。
FinTechケーススタディ
上記の5つのステージを実践するために、このセクションでは、不正取引を検出するための不正モデルを展開する責任を持つFinTech企業のデータサイエンティストであると仮定します。
この場合、最初に検出しようとしている詐欺の種類(第一者か第三者か)について詳しく調べます。取引はどのように詐欺か否かを識別しますか?エンドユーザーによって報告されますか、それとも詐欺を特定するためにヒューリスティックを使用する必要がありますか?モデルを消費するのは誰ですか?リアルタイムで使用する予定ですか、バッチモードで使用する予定ですか?これらの質問に対する回答は、このビジネス問題を解決するために重要です。
次に、この問題に最適な解決策を考えます。これを解決するために機械学習が必要か、不正を防止するための簡単なヒューリスティックから始めることができるかどうか考えてみてください。すべての不正は、少数のIPアドレスから来ていますか?
機械学習モデルを構築することに決めた場合(この場合、教師あり学習を想定)、ラベルとフィーチャが必要です。欠損変数はどのように扱いますか?外れ値はどうですか?不正ラベルの観測ウィンドウは何ですか?つまり、ユーザーが不正取引を報告するまでにどれくらい時間がかかりますか?フィーチャを構築するために使用できるデータウェアハウスはありますか?前に進む前にデータとフィーチャを検証する必要があります。 これはまた、プロジェクトの方向性について利害関係者と協力する良い機会でもあります。
必要なデータを取得したら、モデルを構築し、必要な分析を実行します。モデルメトリックがビジネスの使用に合わせて調整されていることを確認してください(例:このユースケースの最初の10分位の再現率になる場合があります)。選択したモデルアルゴリズムはレイテンシ要件を満たしていますか?
最後に、エンジニアリングと協力してモデルを展開し、提供します。不正検出は非常に動的な環境であるため、監視が非常に重要です。データとモデルの両方を監視する監視計画を立ててください。人口安定性指数(PSI)などの措置は、データドリフトを追跡するために一般的です。モデルをどのくらいの頻度で再トレーニングしますか?
これで、機械学習を使用して(必要であれば!)、詐欺取引を減らすことによってビジネス価値を成功裏に創造できます。
結論
この記事を読んで、あなたの会社でMLOpsを実装する利点が分かると思います。要約すると、MLOpsは、データサイエンスチームが:
- 適切なビジネス問題を解決している
- 問題を解決するための適切なツールを使用している
- 問題を表すデータセットを活用している
- 最適な機械学習モデルを構築している
- そして最後に、モデルを展開および監視して、継続的な成功を確保している
ただし、データサイエンスプロジェクトがデータサイエンスの墓場にならないように、一般的な落とし穴に注意する必要があります!データサイエンスアプリケーションが生きているものであることを覚えておく必要があります。データとモデルは常に監視する必要があります。AIガバナンスは最初から考慮する必要があり、後付けではありません。
これらの原則を念頭に置いて、必要に応じて機械学習を活用してビジネス価値を本当に創造できると確信しています。
MLOps参考文献
- Production(MLOps)のための機械学習エンジニアリング
- MLOpsのやさしい紹介
- データサイエンティストのためのMLOpsプラクティス
- MLOps:今後の輝く星
Natesh Babu Arunachalam は、Mastercardのデータサイエンスリーダーであり、現在はオープンバンキングデータを使用して革新的なAIアプリケーションを構築することに焦点を当てています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles