メインコンテンツまでスキップ

レイクハウスモニタリングによるデータと AI 資産の監視

この記事では、Databricksレイクハウスモニタリングについて説明します。データを監視する利点について説明し、Databricksレイクハウスモニタリングのコンポーネントと使用法の概要を示します。

Databricksレイクハウスモニタリングを使用すると、アカウント内のすべてのテーブルの統計プロパティとデータの品質を監視できます。また、モデルの入力と予測を含む推論テーブルを監視することで、機械学習モデルとモデルサービングエンドポイントのパフォーマンスを追跡することもできます。この図は、Databricksのデータパイプラインと機械学習パイプラインを通るデータフローと、監視を使用してデータ品質とモデルのパフォーマンスを継続的に追跡する方法を示しています。

なぜ Databricks レイクハウスモニタリングを使用するのですか?

データから有用な知見を引き出すためには、データの品質に自信を持つ必要があります。 モニタリング your data は、データの品質と一貫性を経時的に追跡および確認するのに役立つ定量的な尺度を提供します。 テーブルのデータ分布または対応するモデルのパフォーマンスの変化を検出した場合、 Databricks レイクハウスモニタリングによって作成されたテーブルは、変更をキャプチャしてアラートを送信し、原因の特定に役立ちます。

Databricksレイクハウスモニタリングは、次のような質問に答えるのに役立ちます。

  • データの完全性はどうなっていて、時間とともにどのように変化しているのか。たとえば、現在のデータに含まれるNULL値または0値の割合はどのくらいなのか。また増加しているのか。
  • データの統計的分布はどうなっていて、時間とともにどのように変化しているのか。たとえば、ある数値列の90パーセンタイルはどこにあるのか。カテゴリー列の値の分布はどうなっていて、前日からどう変化しているのか。
  • 現在のデータと既知のベースラインの間、またはデータの経時的変化の中に、ドリフトはあるのか。
  • データのサブセットまたはスライスの統計的分布やドリフトはどうなっているのか。
  • 機械学習モデルの入力および予測は、時間とともにどのように変化しているのか。
  • モデルのパフォーマンスはどのように推移しているのか。モデルバージョンAのパフォーマンスはバージョンBよりも優れているのか。

さらに、Databricksレイクハウスモニタリングを使用すると、観測の時間粒度を制御し、カスタムメトリクスを設定できます。

レイクハウスモニタリングがDatabricksでどのように機能するか

Databricks でテーブルを監視するには、テーブルにアタッチされたモニターを作成します。機械学習モデルのパフォーマンスを監視するには、モデルの入力と対応する予測を保持する推論テーブルにモニターをアタッチします。

Databricksレイクハウスモニタリングには、時系列、スナップショット、推論の種類の分析が用意されています。

プロファイルのタイプ

説明

時系列

タイムスタンプ列に基づく時系列データセットを含むテーブルに使用します。モニタリングは、時系列の時間ベースのウィンドウにわたってデータ品質メトリクスを計算します。

推論

モデルのリクエストログを含むテーブルに使用します。各行はリクエストで、タイムスタンプ、モデル入力、対応する予測、およびグラウンドトゥルースラベル(オプション)の列があります。モニタリングは、リクエストログの時間ベースのウィンドウにわたって、モデルのパフォーマンスとデータ品質メトリクスを比較します。

スナップショット

他のすべてのタイプのテーブルに使ってください。モニタリングは、テーブル内のすべてのデータに対してデータ品質メトリクスを計算します。更新のたびにテーブル全体が処理されます。

このセクションでは、Databricksレイクハウスモニタリングで使用している入力テーブルと、そこから生成されるメトリクステーブルについて簡単に説明します。

プライマリ テーブルとベースライン テーブル

「プライマリテーブル」と呼ばれる監視対象のテーブルに加えて、必要に応じて、ドリフトまたは時間の経過に伴う値の変化を測定するための参照として使用するベースラインテーブルを指定できます。ベースラインテーブルは、データがどのようになるかを示すサンプルがある場合に便利です。アイデアは、期待されるデータ値と分布と比較することでドリフトが計算されるというものです。

ベースラインテーブルには、統計分布、個々の列の分布、欠損値、およびその他の特性の観点から、入力データの予想される品質を反映するデータセットが含まれている必要があります。監視対象テーブルのスキーマと一致する必要があります。例外は、時系列プロファイルまたは推論プロファイルで使用されるテーブルのタイムスタンプ列です。主表またはベースライン表のいずれかで列が欠落している場合、モニタリングはベストエフォート型ヒューリスティックを使用して出力メトリクスを計算します。

スナップショットプロファイルを使用するモニターの場合、ベースラインテーブルにはデータのスナップショットが含まれており、この分布によって許容できる品質基準が示されています。たとえば成績分布データでは、成績が均等に分布していた以前のクラスを基準として設定することができます。

時系列プロファイルを使用するモニターの場合、ベースラインテーブルには時間枠を示すデータが含まれており、このデータの分布によって許容できる品質基準が示されています。たとえば気象データの場合、気温が予想される平年の温度に近い週、月、または年にベースラインを設定できます。

推論プロファイルを使用するモニターの場合、ベースラインとして適切な選択肢は、監視対象のモデルのトレーニングまたは検証に使用されたデータです。このようにして、モデルがトレーニングおよび検証されたものに対してデータがドリフトしたときに、ユーザーにアラートを受け取ることができます。このテーブルには、プライマリ テーブルと同じ機能列が含まれている必要があり、さらに、データが一貫して集計されるように、プライマリ テーブルのInferenceLogに指定されたものと同じmodel_id_colが含まれている必要があります。理想的には、モデルの評価に使用されるテストセットまたは検証セットを使用して、モデル品質メトリクスを比較できるようにする必要があります。

メトリクス テーブル

テーブル・モニターは、2 つのメトリクス・テーブルを作成します。 メトリクス値は、テーブル全体、およびモニターの作成時に指定するタイムウィンドウとデータサブセット (または「スライス」) のコンピュートです。 また、推論解析では、モデルIDごとにメトリクスをコンピュートとしています。

  • プロファイルメトリクステーブルには、サマリー統計が含まれています。
  • drift メトリクス テーブルには、時間の経過に伴うデータのドリフトに関連する統計が含まれています。 ベースライン テーブルが指定されている場合は、ベースライン値に対するドリフトも監視されます。

メトリクステーブルは Delta テーブルであり、指定した Unity Catalog スキーマに保存されます。 これらのテーブルは、Databricks UI を使用して表示し、Databricks SQL を使用してクエリを実行できます。

レイクハウスモニターの作成

Databricks UI を使用してデータ モニターを作成するには、 「Databricks UI を使用してモニターを作成する」を参照してください。

Databricks SDK または REST API を使用してプログラムでモニターを作成するには、 「Databricks API を使用してモニターを作成する」を参照してください。