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