MLOps(エムエルオプス):ドリフトの監視と管理
MLOps(エムエルオプス):ドリフトの監視と管理
編集者注:Oliver Zeigermannは、この秋のODSC West 2023のスピーカーです。彼のトーク「MLOps:モニタリングとドリフトの管理」もぜひチェックしてください!
機械学習の問題は、モデルを本番環境に導入した後から始まります。
通常、ビジネス側で明確な利益をもたらすものを本番環境に導入したいと考えるでしょう。なぜなら、そうでなければなぜ手間をかける必要があるのでしょうか?そのため、モデルがカバーする世界が変化しやすい場合に、モデルのパフォーマンスを本番環境で監視する必要があります。例外はあるかもしれませんが、ほとんどの場合、これがほぼ常に当てはまると仮定します。
- ReactとExpressを使用してChatGPTパワードおよび音声対応のアシスタントを構築する
- 「翼を広げよう:Falcon 180Bがここにあります」
- オンポリシー対オフポリシーのモンテカルロ、視覚化と共に
どのように監視するか?
図1では、モデルに関する関連データを監視するためのかなり典型的なセットアップが表示されています。左側の明らかな部分は、トレーニングされたモデルを使用する予測サービスです。このサービスは入力および出力データを監視サービスに転送し、おそらく別のプロセスとして実行されます。この監視サービスでは、メトリックスのエンドポイントとして表示されるいくつかの統計的な処理が行われます。これらのメトリックスの表現は、時間の経過とともにそれらのメトリックスを記録するデータベースによってポーリングできます。最終的に、その情報はいくつかのダッシュボードに表示され、データベースまたはダッシュボードサービスのアラートシステムが作動します。データベースおよびダッシュボードのデフォルトのソリューションは、PrometheusとGrafanaです。
図1:MLモニタリングのハイレベルアーキテクチャ
パフォーマンスを監視するためには、モデルのトレーニングに使用したメトリックを単純に追跡するのが最も便利です。ただし、これには注意が必要です。それを行うためには、真の値を知る必要があります。予測が正しいかどうかについてすぐにフィードバックを得るケースはあるかもしれませんが、しばしばそれはほとんどなく、また多くの場合にはかなりの遅延があります。
ビジネスに影響を与える機械学習サービスを想定しているので、パフォーマンスが低下していないかをできるだけ早く知りたいと考えるはずです。そのような代替メトリックとして、トレーニング中に使用したデータと予測時に表示されるデータの分布の類似性が考えられます。これは、入力データおよび/または出力データの両方に適用できます。
図2:リファレンスデータと本番データの分布が似ている
図2は、そのような比較を示しており、2つの分布がかなり似ている一方、図3はずれを示しています。Evidentlyおよびその他の監視ライブラリが提供する統計的なテストを使用して、その類似性の数値表現を計算することができます。
このような代替メトリックは、予測と真の値の比較ほど正確ではありませんが、あなたができる中で最善の方法かもしれません。
図3:リファレンスデータと本番データの分布が異なる
おかしいと思ったら、今何をすべきか?
これは職人芸というよりも芸術の一環ですが、いずれの場合でも、本番データの分布を参照分布と比較してプロットすることで、より多くの情報を得るべきです。統計テストのスコアは単一の値ですが、分布の形状にはさらに多くの情報があります。何を見ますか?以下はいくつかの経験則です。
- 基本的には同じ形状で、ただ一方にドリフトしているだけですか?この例では、一般的に聴衆が年を取ったり若返ったりしています。その影響はどれくらい大きいですか?予測において特徴量の年齢の重要性はどれくらいですか?そのドリフトした特徴をなくして新しいモデルをトレーニングできるでしょうか?
- 元の形状を超えた完全なサブグループが形成されているのを見ますか?これを見るには、同時に複数の次元を見る必要があるかもしれません。この場合、モデルはトレーニングデータの範囲外のデータに対して常に適切に予測できないため、そのデータに対してモデルのパフォーマンスが良くないと断言できます。このような場合の被害を防ぐためには、モデルによる予測からそのサブグループを除外し、単純なルールベースのアプローチなど、異なるシステムにフォールバックすることが速やかな対応策です。
- 出力(予測値)に変化が見られますか?たとえば、バイナリモデルがある場合、良いケースの割合が上がっていきます。これはビジネス上の実際の危険であり、モデルが攻撃者によってハッキングされた可能性があります。そのような場合は、すぐにそのモデルを置き換える必要があります。攻撃者がランダムな特性を利用できなくなるため、単にモデルを再トレーニングする(古いデータでも)だけで問題が解決する可能性があります。これを試してみるか、モデルを完全に別のシステムに置き換えることもできます。その際、手作業の分類に戻るというような根本的な変更である場合もあります。
- 時には、統計テストが大きな違いを見つけるかもしれませんが、それは元の分布の範囲内でのシフトにすぎないことがあります。これは、モデルが入力分布の変化に対応できるだけ一般的であることを意味するかもしれません。少なくとも少しの新たに収集された真の値データがあれば、そのデータを使用した検証ランを実行することで、その仮定を確認または否定できます。
モデルのパフォーマンスが以前のようにないと疑う場合、基本的には初めにモデルをトレーニングしたときと同じ手順を繰り返す必要があります。ただし、状況はより困難かもしれません。最新のデータがすべて手元にない可能性があるからです。
ODSC West 2023での私のワークショップ(サンフランシスコ)
私の技術的で実践的なワークショップ「MLOps:ドリフトの監視と管理」では、これらのトピックをより詳しく扱います。ワークショップはODSC West 2023で対面で開催されます。このワークショップの目的は、ドリフトを効率的に検出し処理するために、必要な知識と実践的なツールを提供することです。
ワークショップのリンクと詳細はこちら:https://odsc.com/speakers/mlops-monitoring-and-managing-drift/
著者/ODSC West 2023スピーカーについて:
Oliver Zeigermannは、ドイツのハンブルクでAIエンジニアとして働いています。彼はさまざまなアプローチやプログラミング言語でソフトウェアを開発してきました。過去10年間は、機械学習と人間との相互作用に焦点を当てています。
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