Skip to the content.

Prediction log pattern

Usecase

Architecture

MLシステムを組み込んだサービスを改善するためには推論結果や推論速度、クライアントへの影響、その後のイベントを収集し、分析する必要があります。各種ログはMLシステムの各コンポーネントで発生しますが、分析のためには統一したDWHに集約するほうが効率的です。DWHへはキューを通してログを追加することで、DWHへのアクセス負荷を軽減し、データロストを防ぐことができます。ただし、キューの処理時間が長引くと、DWHログの鮮度は低下します。
ログは分析以外にも有用です。たとえばクライアントログや推論ログの結果が想定と違う(または従来から大きく変わった)場合、ワークフローとして異常が起きている可能性があります。そうした場合にはログからアラートを受け取り、異常を分析、解消する必要があります。クライアントの仕様変更により不意に入力データが変わってしまう、ということもあります。その場合に推論が失敗してシステム障害になれば気付くことが容易ですが、推論は通るけど結果が異常、ということもあり得ます。そうした場合に備えて、推論ログやクライアントログの異常状態を定義し、アラート対象にしておくことが重要です。

Diagram

diagram

Pros

Cons

Needs consideration

Sample

https://github.com/shibuiwilliam/ml-system-in-actions/tree/main/chapter5_operations/prediction_log_pattern