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