第16章. モデルのモニタリングとロギング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
図16-1に示すように、MLOpsのモデリング・ライフサイクルは、モデルを構築することから始まるが、デプロイして終わりではないことは、もうお分かりだろう。
図16-1. MLOpsのライフサイクル
最後のタスクである実稼働中のモデルのモニタリングは、モデルが実稼働している限り継続するタスクである。モニタリングによって収集したデータは、次のバージョンのモデルをどのように構築するかの指針となり、データの変化やモデルの性能の変化を認識させる。図16-1を見てわかるように、これは循環的な反復プロセスであり、最後のステップであるモニタリングを完了させる必要がある。
この図は、モデルのパフォーマンスに直接関係するモニタリングのみを対象としており、データベースやウェブサーバなど、製品やサービス全体に含まれるシステムやインフラのモニタリングも含める必要があることに注意する必要がある。このような監視は、製品やサービスの基本的な演算子に関係するだけで、モデルそのものには関係しないが、ユーザの体験には欠かせない。基本的に、システムがダウンしている場合、あなたのモデルがどれだけ優れていても、それは本当に問題ではない。
モニタリングの重要性
1オンスの予防は1ポンドの治療に値する。
ベンジャミン・フランクリン
1733年、ベンジャミン・フランクリンはボストンを訪れ、同市が確立した火災予防対策に感銘を受け、フィラデルフィアの自宅に戻ると、同市に同様の対策を採用させようとした。フランクリンが話していたのは実際の火災を防ぐことだったが、我々の場合は、これと同じアイデアを、火災訓練、つまりシステムの性能が低下し、それを修正するために突然緊急事態が発生するような事態を防ぐことに応用できるかもしれない。モデル・パフォーマンスを監視しなければ、このような火災訓練が起こりうるのだ。
トレーニングデータが古すぎると、新しいモデルを初めてデプロイしたときでも、すぐにデータが歪んでしまう可能性がある。最初から監視していないと、問題に気づかず、新しいモデルであっても正確な結果が得られない可能性がある。
もちろん、先に説明したように、世界は常に変化しており、当初収集したトレーニングデータが現在の状態を反映しなくなっている可能性があるため、モデルも陳腐化、つまり不正確になる。繰り返しになるが、モニタリングしなければ、問題に気づくことはまずない。
また、負のフィードバックループが発生することもある。これは、プロダクションで収集されたデータを使ってモデルを自動的にトレーニングする場合に発生する複雑な問題である。このデータが何らかの形で偏っていたり破損していたりすると、そのデータで訓練されたモデルのパフォーマンスは低下する。自動化されたプロセスにも問題があるため、モニタリングは重要である。
MLモニタリングまたは機能 モニタリングは、モデルの予測性能と配信データの変化を監視することを関数とする。このタイプのモニタリングは、モデルがトレーニング中に最適化したメトリックと、サービングデータの各特徴の分布と特徴に注目する。
システム監視 ...