Observability for Model Serving
===============================

可観測性は、展開したAIモデルがAI
Factory内で効率的かつ確実に実行されていることを確認するのに役立ちます。

AI
Factoryでのモデル提供は、KubernetesでKServeを使用してモデルを提供します。これにより、以下を監視するビルトインオプションが提供されます。

- モデル提供ステータスと可用性

- リソース使用量CPU、メモリ、GPU

- 推論パフォーマンスとスループット

``---``

主要なモニタリング機能
----------------------

KServe InferenceServiceステータス
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Kubernetesを介してモデルの提供ステータスを直接検査できます。

.. code:: sql

   kubectl get inferenceservice -n <namespace>

一般的なステータスフィールドには次のものが含まれます。

- Ready / NotReady

- URLエンドポイント

- 現在のレプリカ

- 割り当てられたリソースGPU、CPU、メモリ

詳細検査の場合

.. code:: shell

   kubectl describe inferenceservice <name> -n <namespace>

``---``

GPU使用率モニタリング
^^^^^^^^^^^^^^^^^^^^^

モデルがGPUノードに展開されている場合、GPUの使用状況をモニタしてリソース割り当てを最適化します。

例

.. code:: shell

   kubectl top node

より詳細なGPU固有のメトリックサポートされている場合

.. code:: shell

   nvidia-smi

``---``

PrometheusとGrafanaの統合
^^^^^^^^^^^^^^^^^^^^^^^^^

Prometheusが構成されている場合、AI
Factoryモデルサービングは、KServeを介してメトリックを公開します。

スクレイピングを有効にするPrometheusアノテーション

.. code:: yaml

   serving.kserve.io/enable-prometheus-scraping: "true"
   prometheus.kserve.io/port: "8000"
   prometheus.kserve.io/path: "/v1/metrics"

Grafanaダッシュボードを構築して、以下を監視できます。

- 1秒あたりの推論要求

- レイテンシーとエラー率

- GPU使用率の傾向

- ポッドの再起動とヘルス状態

``---``

ログとデバッグ
^^^^^^^^^^^^^^

モデル提供ポッドから詳細なログにアクセスできます。

.. code:: shell

   kubectl logs -f <pod-name> -n <namespace>

ログを使用して次のことを行います。

- モデルのロードまたは初期化の問題をデバッグします

- 推論要求の動作を確認します

- モニタ応答処理とエラー条件

``---``

Hybrid Managerの可観測性の統合
------------------------------

ハイブリッドマネージャーHMと組み合わせてAI
Factoryを実行する場合、モデルサービング可観測性をより広範なHM可観測性スタックに統合できます。

Model ServingでHM可観測ツールを使用するための追加ガイダンスについては、
:ref:`How-To Verify InferenceServices and GPU usage <How-To Verify InferenceServices and GPU usage>` を参照してください。

``---``

ベストプラクティス
------------------

- 本番環境のInferenceServicesでPrometheusスクレイピングを有効にします。

- GPUの使用率を定期的に監視して、容量を最適化します。

- InferenceService仕様で適切なリソース要求/制限を設定します。

- Grafanaダッシュボードを活用して、リアルタイムの可観測性を実現します。

- ログ検査を使用して、デバッグとチューニングをサポートします。

``---``

関連リンク
----------

- :ref:`How-To Deploy an NVIDIA NIM Microservices available on build.nvidia.comcontainer with KServe <How-To Deploy an NVIDIA NIM Microservices available on build.nvidia.comcontainer with KServe>` 

- :ref:`Model Serving Concepts <Model Serving Concepts>` 

- :ref:`How-To Verify InferenceServices and GPU usage <How-To Verify InferenceServices and GPU usage>` 

``---``

これらの可観測性プラクティスを適用することにより、AI Factory Model
Servingワークロードをより自信を持って操作し、ユーザーに影響を与える前に問題をプロアクティブに特定して対処できます。
