Yolo 深圳
深セン
今すぐ参加
用語集

可観測性

AIと機械学習における可観測性の重要性を探る。複雑なシステムのデバッグ方法、Ultralytics パフォーマンス監視手法、そして深層モデルの洞察を得る方法を学びます。

可観測性とは、複雑なシステムの内部状態を、その外部出力のみに基づいて理解する能力を指す。急速に進化する 人工知能(AI) および 機械学習(ML)において、可観測性は単純な状態確認を超え、モデルが特定の挙動を示す理由に関する深い洞察を提供する。現代の ディープラーニング(DL) アーキテクチャ(例えば最先端の YOLO26—がますます高度化するにつれ、これらはしばしば「ブラックボックス」として機能します。可観測性ツールはこれらのシステムへの透明な窓を提供し、エンジニアリングチームが予期せぬ動作のデバッグ、エラーの根本原因の追跡、本番環境での信頼性確保を可能にします。

可観測性 vs. 監視

しばしば同じ意味で使われるが、可観測性と モデル監視は は、MLOpsにおいて 異なるが補完的な目的を果たします。 MLOps ライフサイクルにおいて、明確に異なるが相互補完的な目的を果たします。

  • モデル監視 は反応的であり、「既知の未知」に焦点を当てます。これには、 推論レイテンシ、CPU 、エラー率などの事前定義されたメトリクスを、設定された閾値に対して追跡します。監視は「システムは健全か?」という問いに答えます。
  • 可観測性はプロアクティブであり、「未知の未知」に対処します。これは、トレーニングデータ中に予期されなかった新たな問題を調査するために必要な、ログ、トレース、高カーディナリティイベントといった細粒度のデータを提供します。 トレーニングデータ 準備段階で予期されなかった新たな問題を調査するために必要な、ログ、トレース、高カーディナリティイベントといった細粒度のデータを提供します。 Google Bookで説明されているように、可観測性のあるシステムは、新しいコードをデプロイすることなく新たな動作を理解することを可能にします。それは「システムがなぜこのように動作しているのか」という疑問に答えます。

オブザーバビリティの3つの柱

真の可観測性を実現するために コンピュータビジョン(CV) を実現するためには、 システムは通常、3つの主要なテレメトリデータに依存します:

  1. ログタイムスタンプ付きの不変な記録であり、 個別のイベントを保持する。検知パイプラインにおいて、ログは入力画像の解像度や特定の ハイパーパラメータ調整 設定を記録する。構造化ロギングは、多くの場合 JSON 形式で記述されることが多く、複雑なクエリ および分析を可能にする。
  2. メトリクス:時間経過とともに測定される集計数値データ。例えば平均値など。 精度、メモリ消費量、または GPU 利用率など。 Prometheusのようなツール PrometheusGrafana は、こうした時系列データを保存し 傾向を可視化する標準ツールです。
  3. トレース:トレースは、リクエストが様々なマイクロサービスを通過するライフサイクルを追跡します。分散型AIアプリケーションでは、OpenTelemetryのような標準が OpenTelemetry などの標準は、リクエストの経路をマッピングし、 推論エンジンのボトルネックを特定するのに役立ちます。 推論エンジン やネットワーク遅延を 特定するのに役立ちます。 Jaeger は、これらの分散トランザクションを可視化するのに役立ちます。

Pythonでの可観測性の実装

トレーニングパイプラインの可観測性を高めるには、コールバックを使用して特定の内部状態をログに記録します。 以下の例は、カスタムコールバックを YOLO26 トレーニングセッションにカスタムコールバックを追加し、 パフォーマンス指標をリアルタイムで監視する方法を示します。

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")


# Define a custom callback for observability
def on_train_epoch_end(trainer):
    # Access and print specific metrics at the end of each epoch
    map50 = trainer.metrics.get("metrics/mAP50(B)", 0)
    print(f"Observability Log - Epoch {trainer.epoch + 1}: mAP50 is {map50:.4f}")


# Register the callback and start training
model.add_callback("on_train_epoch_end", on_train_epoch_end)
model.train(data="coco8.yaml", epochs=3)

実際のアプリケーション

動的な環境において高性能モデルを展開するには、可観測性が極めて重要です。 テストデータが が実世界の条件と完全に一致しない可能性がある。

  • 自動運転車: 自律走行車の開発においてにおいて、可観測性によりエンジニアは制御解除イベント発生時のシステムの正確な状態を再構築できる。 物体検出 物体検出 センサーログや制御コマンドと 相関させることで、ブレーキ誤作動がセンサーノイズ、モデル 予測誤り、または計画モジュールの論理エラーのいずれが原因かを特定できる。
  • 医療診断: 医療におけるAIにおいて、一貫した性能の確保は患者の安全にとって極めて重要です。可観測性ツールはdetect データドリフト を検出できる。例えば、新しいタイプのMRIスキャナーの画像に適用した際にモデルの性能が 低下した場合などだ。トレースは、問題が画像 データ前処理 か入力分布の 変化によるものかを明らかにし、 AIの安全性を損なうことなく迅速な修正を可能にする。

モダンツールとの統合

現代のワークフローでは、監視機能をトレーニングプラットフォームに直接統合することが多い。 Ultralytics 、損失曲線、システムパフォーマンス、データセット分析の組み込み可視化機能の恩恵を受けます。さらに、 は、損失曲線・システムパフォーマンス・データセット分析の 組み込み可視化機能を活用できます。さらに、 TensorBoard TensorBoardMLflow との標準的な統合により、データサイエンティストは モデルライフサイクル全体にわたって厳密な実験追跡と可観測性を維持できます。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加