Databricks レイクハウス監視の概要
この記事では、Databricks レイクハウス監視について説明します。 データを監視する利点について説明し、Databricks レイクハウス監視のコンポーネントと使用状況の概要を示します。
Databricks レイクハウス監視を使用すると、アカウント内のすべてのテーブルにおいてデータの統計プロパティと品質を監視できます。 これを使用して、モデルの入力や予測を含む、推論テーブルを監視することで、機械学習モデルとモデルサービス エンドポイントのパフォーマンスを追跡することもできます。 この図は、Databricks のデータと ML パイプラインを介したデータのフローと、監視によりデータ品質とモデル パフォーマンスを継続的に追跡する方法を示しています。
Databricks レイクハウス監視を使用する理由
データから有用な分析情報を引き出すには、データの品質が自身を持てるものである必要があります。 データを監視すると、データの品質と一貫性を経時的に追跡および確認するのに役立つ定量的なメジャーが提供されます。 テーブルのデータ分散または対応するモデルのパフォーマンスの変化を検出すると、Databricks レイクハウス監視によって作成されたテーブルで変更をキャプチャしてアラートを生成でき、原因の特定に役立ちます。
Databricks レイクハウス監視は、次のような質問に答えるのに役立ちます。
- データの整合性はどのように見え、時間の経過とともにどのように変化しますか? たとえば、現在のデータの null 値またはゼロ値の割合は何であり、増加していますか?
- データの統計的分布はどのように見え、時間の経過とともにどのように変化しますか? たとえば、数値列の 90 パーセンタイルは何ですか? または、カテゴリ列の値の分布はどうなっていて、昨日との違いはどうですか?
- 現在のデータと既知のベースラインの間、またはデータの連続する時間枠の間に誤差がありますか?
- データのサブセットまたはスライスの統計的分布またはドリフトはどのように見えますか?
- ML モデルの入力と予測は、時間の経過と共にどのように変化しますか?
- モデルのパフォーマンスは時間の経過とともにどのような傾向を示していますか? モデル バージョン A のパフォーマンスはバージョン B よりも優れていますか?
さらに、Databricks レイクハウス監視を使用すると、観察の時間の細分性を制御し、カスタム メトリックを設定できます。
必要条件
Databricks レイクハウス監視を使用するには、次が必要です:
- ワークスペースが Unity Catalog に対して有効になっている必要があり、Databricks SQL にアクセスできる必要があります。
- 監視では Delta テーブルのみがサポートされ、テーブルはマネージド テーブル、外部テーブル、ビュー、具体化されたビュー、ストリーミング テーブルのいずれかである必要があります。
- 具体化されたビューとストリーミング テーブルに対して作成されたモニターでは、増分処理はサポートされていません。
- すべてのリージョンがサポートされているわけではありません。 リージョンのサポートについては、「利用可能なリージョンに制限がある機能」の表の「ノートブックとワークフローのサーバーレス コンピューティング」の列を参照してください。
Note
Databricks Lakehouse Monitoring では、ジョブにサーバーレス コンピューティングが使用されます。 レイクハウス監視費用の追跡については、「レイクハウス監視費用の表示」を参照してください。
Databricks でのレイクハウス監視のしくみ
Databricks でテーブルを監視するには、テーブルにアタッチされたモニターを作成します。 機械学習モデルのパフォーマンスを監視するには、モデルの入力と対応する予測を保持する推論テーブルにモニターをアタッチします。
Databricks レイクハウス監視には、時系列、スナップショット、推論という種類の分析が用意されています。
プロファイルの種類 | 説明 |
---|---|
タイム シリーズ | タイムスタンプ列に基づく時系列データセットを含むテーブルに使用します。 監視は、時系列の時間ベースのウィンドウ全体でデータ品質メトリックを計算します。 |
推論 | モデルの要求ログを含むテーブルに使用します。 各行は要求であり、タイムスタンプ、モデル入力、対応する予測、および (省略可能な) グラウンド トゥルース ラベルの列が含まれます。 監視は、要求ログの時間ベースのウィンドウ間でモデルのパフォーマンスとデータ品質のメトリックを比較します。 |
スナップショット | その他すべての型のテーブルに使用します。 監視では、テーブル内のすべてのデータに対するデータ品質メトリックが計算されます。 テーブル全体が、更新のたびに処理されます。 |
このセクションでは、Databricks レイクハウス監視で使用される入力テーブルと、それが生成するメトリック テーブルについて簡単に説明します。 この図は、入力テーブル、メトリック テーブル、モニター、ダッシュボードの間のリレーションシップを示しています。
主テーブルとベースライン テーブル
監視対象のテーブル ("主テーブル" と呼ばれる) に加えて、必要に応じて、誤差を測定するための参照として使用するベースライン テーブル、または時間の経過に伴う値の変化を指定できます。 ベースライン テーブルは、データの外観のサンプルがある場合に役立ちます。 その後、予想されるデータ値と分布に対してドリフトが計算されるという考え方です。
ベースライン テーブルには、統計分布、個々の列分布、欠損値、その他の特性に関して、入力データの期待される品質を反映したデータセットが含まれている必要があります。 監視対象テーブルのスキーマと一致している必要があります。 例外は、時系列または推論プロファイルで使用されるテーブルのタイムスタンプ列です。 主テーブルまたはベースライン テーブルに列がない場合、監視ではベストエフォート ヒューリスティックを使用して出力メトリックを計算します。
スナップショット プロファイルを使用するモニターの場合、ベースライン テーブルには、分布が許容される品質基準を表すデータのスナップショットが含まれている必要があります。 たとえば、成績分布データでは、基準計画を、成績が均等に配布された以前のクラスに設定する場合があります。
時系列プロファイルを使用するモニターの場合、ベースライン テーブルには、データ分布が許容される品質基準を表す時間枠を表すデータが含まれている必要があります。 たとえば、気象データでは、ベースラインを週、月、または年に設定して、気温が予想される通常の温度に近い場合などです。
推論プロファイルを使用するモニターの場合、ベースラインに適した選択肢は、監視対象のモデルのトレーニングまたは検証に使用されたデータです。 このようにして、モデルがトレーニングおよび検証された内容に対してデータがドリフトしたときに、ユーザーにアラートを送信できます。 このテーブルには、主テーブルと同じ特徴列が含まれ、さらに主テーブルの InferenceLog に指定されたものと同じ model_id_col
を持ち、データが一貫して集約されるようにする必要があります。 モデルの評価に使用されるテストまたは検証セットを使用して、同等のモデル品質メトリックを確保するのが理想的です。
メトリック テーブルとダッシュボード
テーブル モニターは、2 つのメトリック テーブルとダッシュボードを作成します。 メトリック値は、テーブル全体、およびモニターの作成時に指定した時間枠とデータ サブセット (または "スライス") に対して計算されます。 さらに、推論分析では、モデル ID ごとにメトリックが計算されます。 メトリック テーブルの詳細については、「メトリック テーブルの監視」を参照してください。
- プロファイル メトリック テーブルには、概要統計が含まれています。 「プロファイル メトリックテーブルのスキーマ」を参照してください。
- ドリフト メトリック テーブルには、時間の経過に伴うデータのドリフトに関連する統計が含まれています。 ベースライン テーブルが指定されている場合、基準値に対するドリフトも監視されます。 「ドリフト メトリック テーブルのスキーマ」を参照してください。
メトリック テーブルは Delta テーブルであり、指定した Unity Catalog スキーマに格納されます。 Databricks UI を使用してこれらのテーブルを表示し、Databricks SQL を使用してクエリを実行し、それらに基づいてダッシュボードとアラートを作成できます。
Databricks では、モニターの結果を視覚化して表示するのに役立つダッシュボードがモニターごとに自動的に作成されます。 ダッシュボードは、他のレガシ ダッシュボードと同様に完全にカスタマイズできます。
Databricks でレイクハウス監視の使用を開始する
開始するには、次の記事を参照してください: