YOLO Vision Shenzhen
深セン
今すぐ参加

Ultralytics 上で展開されたコンピュータビジョンモデルの監視

Ultralytics を使用して、本番環境のコンピュータビジョンモデルを監視する方法をご紹介します。メトリクスの追跡、detect 、信頼性の向上を実現します。

Ultralyticsでコンピュータービジョンプロジェクトをスケールアップ

始める

画像や動画を分析するコンピュータビジョンモデルのテストは、必ずしも本番環境での実行と同じとは限りません。開発段階では、こうしたモデルやアルゴリズムは、条件が管理され予測可能な、整備されたクリーンなデータセットを用いてテストされます。

デプロイが完了すると、状況はより動的になります。モデルは実環境のトラフィックにさらされ、リクエストの量は変動し、応答時間は変化し、時折障害が発生することもあります。 

この段階では、システムが確実に稼働しているか、つまり、状況が変化してもエンドポイントが常に利用可能で、応答性が高く、安定しているかどうかに焦点が移ります。

だからこそ、モニタリングは不可欠なのです。リクエスト数、レイテンシ、エラー率、システムの全体的な健全性といったメトリクスを通じて、本番環境で展開されたエンドポイントがどのように動作しているかを明確に把握することができます。

これを円滑に進めるためには、適切なツールを整えることが、モデルそのものと同じくらい重要になります。最近、Ultralytics Ultralytics 」Ultralytics 。これは、データ収集やトレーニングからデプロイ、モニタリングに至るまで、コンピュータビジョンのワークフロー全体を統合した、当社の新しいエンドツーエンド環境です。

図1. 監視機能を備えたUltralytics デプロイメントダッシュボード(出典

このワークフローに監視機能が直接組み込まれているため、ユーザーは別のツールに頼ることなく、track の状態track 、リクエストの挙動を確認し、システムの信頼性を維持することができます。この記事では、Ultralytics を使用してデプロイ済みのモデルエンドポイントを監視し、本番システムを円滑に稼働させ続ける方法について解説します。さっそく始めてみましょう!

AIモデル監視の概要

AIモデルのライフサイクルにおいて、モニタリングとは、モデルが本番環境で稼働し、実際のリクエストを処理し始めた後、デプロイされたシステムがどのように動作するかを観察することを指します。トレーニングや検証が、機械学習モデル(MLモデル)が準備されたデータセット上でどのようなパフォーマンスを発揮するかを示すのに対し、モニタリングは、本番環境においてデプロイされたエンドポイントがどのように動作するかに焦点を当てています。

監視において重要なのは、信頼性と応答性を反映するシステムレベルのメトリクスを追跡することです。レイテンシや稼働時間といったメトリクスは、システムが受信リクエストをどの程度適切に処理しているかを示す指標となります。レイテンシはリクエストの処理からレスポンスの返却までに要する時間を測定するものであり、稼働時間はエンドポイントがどの程度安定して利用可能であるかを示すものです。

もう一つの重要な要素は「オブザーバビリティ」であり、これによりリクエストがどのように処理されているかを可視化できます。画像や動画のフレームなどの入力がデプロイ済みのモデルに送信されるたびに、それは推論リクエストとして処理されます。 

ログには、これらのリクエストに加え、タイムスタンプ、応答時間、ステータスコードなどの詳細情報が記録されます。これらのログを活用することで、リクエストの追跡、問題のデバッグ、および障害発生時の調査が容易になります。特に、繰り返されるエラー、応答の遅延、予期せぬシステムの動作といったパターンを特定する際に役立ちます。

メトリクスとログを組み合わせることで、監視機能はユーザーが本番環境におけるシステムの稼働状況を把握し、問題が発生した際に迅速に対応できるよう支援します。

モデル性能指標とシステム指標の比較

本番環境の監視について詳しく説明する前に、モデルのパフォーマンス指標とシステム指標の違いについて確認しておきましょう。

一般的に、モデルモニタリングは、精度、再現率、リコール、mAP 平均平均精度)などの評価指標(モデルメトリクスとも呼ばれる)と関連付けられています。これらの指標は、モデルの挙動を説明し、多くの場合、本番データや入力データとの関連でモデルの予測品質を評価するために使用されます。これらは、新しいデータにおけるエッジケースや外れ値を特定する際に特に有用です。

ただし、これは本番環境で稼働中のシステムを監視することとは異なります。この文脈では、監視はモデルの予測を直接評価することではなく、システムがどのように動作しているかに焦点を当てています。

デプロイメントの監視では、モデルメトリクスではなく、リクエスト数、レイテンシ、エラー率、稼働時間といったシステムレベルの指標が用いられます。これらの指標により、エンドポイントが入力データをどのように処理しているか、応答の一貫性はどうか、本番環境ではどのように動作しているかといった点が可視化されます。

コンピュータビジョンプロジェクトにおけるモデル監視の役割

次に、コンピュータビジョンの導入において監視システムが必要であることを示す実例を見てみましょう。

姿勢推定(人体の動きを識別・分析するためのコンピュータビジョン技術)を活用し、建設作業員の安全基準遵守状況を監視するソリューションを検討してみましょう。初期のモデル導入段階では、視界が良好で標準的なシナリオ下といった管理された環境において、このようなシステムは良好な性能を発揮する可能性があります。

しかし、実際の建設現場では、さらに複雑な要素が加わります。リクエストの量は1日を通して変動し、ネットワーク環境も不安定になることがあり、複数のカメラやエンドポイントが同時にデータを送信することもあります。システムを適切に監視していないと、こうした要因により応答が遅くなったり、時折障害が発生したりする可能性があります。

図2. 建設現場で作業員の監視に活用されている姿勢推定(出典

このような本番環境では、システムがどれほど安定して稼働しているかを把握することが重要になります。モニタリングを行うことで、エンドポイントが利用可能かどうか、着信リクエストに対してどれほど迅速に応答しているか、そして長期的に見てトラフィックをどれほど安定して処理しているかといった状況を可視化できます。

例えば、レイテンシの増加は負荷の上昇やリソースの制約を示唆している可能性があり、エラー率の上昇はリクエスト処理やシステムの安定性に関する問題を示している可能性があります。ログは、個々のリクエストがどのように処理され、どこで障害が発生しているかを示すことで、より詳細な状況把握を可能にします。

これらのシグナルを追跡することで、AI愛好家やデータサイエンティストは問題を早期に特定し、より効果的にトラブルシューティングを行い、実環境の変化に応じてシステムが確実に稼働し続けるようにすることができます。

Ultralytics を使用して、デプロイされたビジョンモデルを監視する

多くのディープラーニングのワークフローでは、モニタリングはログ、メトリクス、システムの健全性をそれぞれ別々のツールで行われることがよくあります。このような分散した構成では、本番環境でデプロイされたエンドポイントがどのように動作しているかを明確に把握することが難しくなり、デプロイメントの管理が複雑化してしまいます。

Ultralytics 、データの取り込みやアノテーションから、トレーニング、デプロイ、モニタリングに至るまでのコンピュータビジョンのワークフロー全体を網羅する統合環境にモニタリング機能を直接組み込むことで、このプロセスを簡素化します。

この統合環境により、ユーザーは外部のロギングシステムや追加のダッシュボードを設定することなく、デプロイされたエンドポイントが実際のトラフィックをtrack 処理しているtrack 。すべてが一箇所で確認できるため、システムの挙動を容易に把握し、長期にわたって信頼性の高いデプロイメントを維持することが可能になります。

モニタリング機能には、「デプロイ」タブから直接アクセスできます。単一のダッシュボードから、track 指標track 、リクエストレベルの動作の分析、トレンドの可視化を行うことができます。これらの組み込みの可視化機能により、ツールを切り替えることなく、ソリューションのパフォーマンスを容易に把握できます。

このプラットフォームは、監視、デプロイ、モデル管理をより広範なワークフローの中で統合することで、複雑さを軽減します。これにより、デプロイの管理、システムパフォーマンスの最適化、信頼性の維持に、よりシームレスに取り組むことが可能になります。

Ultralytics の組み込みモニタリング機能

実際の運用環境において、監視とは、状況が時間とともに変化する中でシステムがどのように稼働しているかを明確に把握することに依存しています。これは、単にいくつかのメトリクスを追跡するだけでなく、展開されたエンドポイントが各環境でどのように動作するかを理解し、複数の展開環境を効果的に管理することを含みます。

コンピュータビジョン分野における一般的な課題について、ビジョンAIコミュニティから寄せられたフィードバックを参考に、Ultralytics 、モニタリングをより実用的かつ拡張性の高いものにするための機能がいくつか搭載されています。 

これらの主な機能の概要は以下の通りです:

  • グローバルなデプロイ状況の可視化:「デプロイ」ページには、アクティブなエンドポイントや処理中のエンドポイントを視覚的なインジケーターで表示するインタラクティブな世界地図が搭載されており、ユーザーは地理的な分布や各地域のアクティビティを監視することができます。
  • 柔軟なダッシュボード表示:デプロイメント・ダッシュボードでは、カード表示、コンパクトグリッド表示、および「名前」「リージョン」「ステータス」「リクエスト」などの列で並べ替え可能なテーブル表示など、複数の表示モードが用意されており、体系的な監視と比較を可能にします。
  • 複数のエンドポイントの監視:ダッシュボードでは、概要カードとデプロイメント一覧を使用して、すべてのデプロイメントにわたる監視データを集約します。
  • データ保持ポリシー:監視データは所定の期間保持され、メトリクスは30日間、ログは7日間利用可能です。これにより、直近のパフォーマンス分析やデバッグ作業を支援します。
  • 外部モニタリングのサポート:デプロイメントのエンドポイントは、Datadog、New Relic、稼働時間監視サービスなどの外部ツールを使用して監視できるほか、APIエンドポイント経由でアクセスして、独自のモニタリングやヘルスチェックを行うことも可能です。

次に、これらの機能のいくつかについて詳しく解説し、本番環境でデプロイされたエンドポイントを監視するためにどのように活用できるかを見ていきます。

Ultralytics を使用してtrack パフォーマンス指標track する方法

モデルがデプロイされると、主要なシステムメトリクスの追跡からモニタリングが開始されます。開発段階では精度やリコール率などのメトリクスが有用ですが、本番環境でのモニタリングでは、レスポンス時間やエラー率といったシステムレベルの指標に重点が置かれます。これらは、エンドポイントが実際のトラフィックをどの程度確実に処理しているかについて、測定可能な知見を提供します。

Ultralytics 、エンドポイントのアクティビティやシステムの動作状況を明確に把握できる一元化されたダッシュボードを提供します。特に、「Deployment」ダッシュボードには、エンドポイントの使用状況や、受信リクエストへの応答状況を示す4つの主要な指標が含まれています。

これらの指標について、詳しく見ていきましょう:

  • リクエスト総数:24時間以内にすべてのエンドポイントに対して行われたリクエストの総数。これにより、利用パターンや全体的な需要を把握することができます。
  • アクティブなデプロイメント:現在実行中で、リクエストを処理しているエンドポイントの数。
  • P95レイテンシ:リクエストの95%が完了するまでの応答時間。これにより、応答が遅いケースも考慮されるため、パフォーマンスをより現実的に把握することができます。
  • エラー率:これは、リクエスト総数に占める失敗したリクエストの割合です。この指標は問題の特定に役立ち、detect にも活用できます。

端的に言えば、これらの指標は、本番環境で展開されたエンドポイントがどのように動作しているかを明確に把握することを可能にします。利用パターンを分析することで、チームや個々の担当者はトラフィックの分布を把握し、負荷のピーク時期を特定し、利用が増加してもシステムが応答性と信頼性を維持できるようにすることができます。

ログを通じてモデルデプロイメントの挙動を理解する

メトリクスはシステムパフォーマンスの概要を示す一方で、ログはデプロイされたエンドポイントが個々のリクエストをどのように処理しているかをより詳細に把握することができます。ログには、エンドポイントに送信された各リクエストと、それに対応するレスポンスが記録されます。

これらは、問題の追跡、障害の調査、およびリクエストの処理プロセスの把握に役立ちます。Ultralytics では、任意のデプロイメントを選択して、ログを含む詳細情報を確認することができます。

図3.Ultralytics Platform内のログの例(出典

プラットフォームのログエントリは構造化された形式で表示されるため、各リクエスト中に何が起こったかを把握しやすくなっています。各エントリには、イベントの重要度を示す深刻度レベルと、発生時刻を示すタイムスタンプが含まれています。 

また、イベントの説明や、ステータスコードやレイテンシなどのHTTP関連の詳細も含まれています。この情報は、リクエストの追跡、トラブルシューティングの支援、および問題のデバッグをより効果的に行うのに役立ちます。さらに、ログは重大度ごとにグループ化されているため、ユーザーは対応が必要なデプロイメントを優先的に処理することができます。 

Ultralytics におけるエンドポイントの健全性と信頼性の分析

監視には、展開済みのエンドポイントの全体的な健全性を把握することも含まれます。これには、正常に動作しているか、適切なタイミングで応答しているか、エラーなく一貫してリクエストを処理しているかといった点が含まれます。Ultralytics 、各展開環境の健全性ステータスを明確に可視化するため、エンドポイントが期待通りに動作しているかどうかを簡単に確認することができます。

このプラットフォームには、個々のデプロイメントカード上に表示される、各デプロイメントの視覚的な健全性指標が含まれています。 

たとえば、緑色のインジケーターはエンドポイントが正常に動作しており、通常通り応答していることを示し、赤色のインジケーターは問題やダウンタイムが発生していることを示します。回転中のアイコンは、システムがデプロイメントの状態を現在確認中であることを示します。

エンドポイントの状態を長期的に監視することで、detect 早期にdetect 、一貫したパフォーマンスを維持し、本番環境で稼働するアプリケーションの安定した動作を確保することが可能になります。

モニタリングデータとパフォーマンス向上との関連性

モデル監視は、単にメトリクスを追跡するだけのものではありません。それは、長期的な継続的改善を支えるフィードバックループを形成します。エンドポイントが実際のトラフィックを処理するにつれ、メトリクスやログに特定のパターンが現れ始め、レイテンシの増加、エラー率の上昇、あるいはシステムの動作の不整合といった問題を明らかにすることができるようになります。

監視を行うことで、注意が必要な箇所が明らかになります。例えば、遅延が常に高い場合は、リソースの割り当てやスケーリングの見直しが必要であることを示している可能性があります。また、エラー率の上昇は、リクエストの処理やシステムの安定性に関する問題を示唆している場合があります。

これらの問題が特定されれば、信頼性を向上させるための対策を講じることができます。これには、インフラの調整、リソースの拡張、あるいはリクエストの処理方法に関する問題の修正などが含まれます。これらの変更を行った後は、パフォーマンスが改善されたことを確認するために、引き続きシステムを監視することができます。

監視と継続的な改善を連携させることで、利用の拡大や状況の変化に応じて、堅牢なシステムを維持することができます。

実例を探る:航空業界における手荷物取扱いの監視

実運用環境におけるモニタリングの影響をより深く理解するために、航空地上の業務の自動化においてそれがどのように活用されているかを見てみましょう。

航空機の地上作業中に手荷物の積み下ろしを監視するために設計されたビジョンシステムを例に挙げよう。このシステムでは、Ultralytics のような物体検出モデルを使用して、手荷物がコンベアベルトや搬送機器から落下detect することができる。 

テストや導入初期の段階では、リアルタイムシステムは良好に動作し、手荷物を正確に識別して迅速に対応する可能性があります。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。