AI Functionsを活用したエンリッチデータ
プレビュー
この機能は パブリック プレビュー段階です。
AI Functions 、 Databricksに保存されているデータに対して LLM や最先端の研究手法を適用して、データの変換や拡充を行うために使用できる関数です。 これらはDatabricks SQL 、ノートブック、 LakeFlow Spark宣言型パイプライン、ワークフローなど、 Databricks上のどこからでも実行できます。
AI Functions 、使いやすく、高速で、拡張性に優れています。 アナリストはこれらを使用して独自のデータにデータ インテリジェンスを適用でき、データ エンジニア、 data scientists 、および機械学習エンジニアはそれらを使用して本番運用グレードのバッチ パイプラインを構築できます。
特定のタスク向けおよび汎用
AI Functionsには、タスク固有の関数と汎用関数があります。
- タスク固有のAI Functions — ドキュメントの解析、エンティティの抽出、分類、センチメント分析など、特定のタスクに最適化された専用の関数。 これらの機能は、Databricksが管理する、研究に基づいたシステムによって支えられています。一部の機能にはユーザーインターフェース(UI)が含まれています。サポートされている機能とモデルについては、 「タスク固有のAI機能」を参照してください。
ai_query— タスクとモデルの柔軟性を確保するための汎用関数。プロンプトを表示し、サポートされているプラットフォームモデルAPIを選択します。 使用法ai_queryを参照してください。
タスク固有のAI関数
タスク固有の関数は特定のタスクを対象とするため、エンティティの抽出、翻訳、分類などの日常的な変換を自動化できます。 Databricksは、これらの関数がDatabricksが維持する最先端の研究技術を活用しており、カスタマイズを必要としないため、入門用として推奨しています。
例については、AI関数を使用して顧客レビューを分析するを参照してください。
次の表に、サポートされている機能とそれらが実行するタスクを示します。
関数 | 説明 |
|---|---|
最先端の研究技術を用いて、非構造化文書から構造化コンテンツ(テキスト、表、図の説明)とレイアウトを解析する。 | |
定義したスキーマを使用して、ドキュメントまたはテキストから構造化フィールドを抽出します。 | |
最先端の研究技術を用いて、入力テキストをユーザーが指定したラベルに基づいて分類します。 | |
最先端の生成AIモデルを使用して、入力テキストに対して感情分析を実行します。 | |
最先端の生成AIモデルを使用して、テキストの文法エラーを修正します。 | |
ユーザーが提供するプロンプトに、最先端の生成AIモデルを使用して回答します。 | |
最先端の生成AIモデルを使用して、テキスト内の指定されたエンティティをマスクします。 | |
最先端の生成AIモデルを使用して、非構造化ドキュメントから構造化コンテンツを抽出します。 | |
解析されたドキュメント出力を、連続検索および RAG パイプライン用に最適化された検索可能なチャンクに変換します。 | |
タスク固有の機能を超えた、タスク向けの汎用AI機能です。 カスタム プロンプトを提供し、サポートされている基盤モデルAPIモデルを選択します。 | |
2つの文字列とコンピュートを最先端の生成AI モデルを使用して意味的類似性スコアと比較します。 | |
SQLと最先端の生成AIモデルを使用してテキストの要約を生成します。 | |
最先端の生成AIモデルを使用して、テキストを指定されたターゲット言語に翻訳します。 | |
指定した期間までのデータを予測します。このテーブル値関数は、時系列データを将来に外挿するように設計されています。 | |
最先端の生成AI モデルを使用して、 Mosaic AI Vector Searchインデックスを検索およびクエリします。 |
本番運用ワークフローでAI Functionsを活用する
大規模なバッチ推論の場合、タスク固有のAI Functions 、または汎用関数ai_query本番運用ワークフローLakeFlow Spark宣言型パイプライン、 Databricksワークフロー、構造化ストリーミングなど) に統合できます。 これにより、本番運用レベルの大規模な処理が可能になります。
本番運用におけるAI機能のベスト プラクティス:
AI Functionsに大規模なワークロードの処理を任せましょう。AI AI Functions並列処理、再試行、スケーリングを自動的に管理します。 データセット全体を小さなバッチに手動で分割するのではなく、単一のクエリで送信することをお勧めします。非常に小規模なワークロードから大規模なワークロードまで、パフォーマンスは必ずしも直線的に向上するとは限りません。
Databricksでホストされている基盤モデルを使用する: ai_query AI関数を使用する場合は、プロビジョニングされたスループットではなく、Databricksでホストされている基盤モデル(databricks-で始まる)を使用してください。これらのプロビジョンレス エンドポイントはフルマネージドであり、バッチ処理に最適です。
例と詳細については、 「バッチ推論パイプラインのデプロイ」を参照してください。
AI Functions進捗状況を監視する
完了または失敗した推論の数を把握し、パフォーマンスのトラブルシューティングを行うには、クエリ プロファイル機能を使用してAI Functionsの進行状況を監視できます。
Databricks Runtime 16.1 ML 以降では、ワークスペースの SQL エディター クエリ ウィンドウから次の操作を行います。
- Raw results ウィンドウの下部にある Running--- リンクを選択します。右側に パフォーマンス ウィンドウが表示されます。
- 「 クエリ・プロファイルの表示 」をクリックして、パフォーマンスの詳細を表示します。
- AI Query をクリックすると、その特定のクエリのメトリクス (完了した推論と失敗した推論の数、リクエストの完了にかかった合計時間など) が表示されます。
AI 機能ワークロードのコストを表示する
AI 機能のコストは、 BATCH_INFERENCEオファリング タイプでMODEL_SERVING製品の一部として記録されます。クエリの例については、 「バッチ推論ワークロードのコストの表示」を参照してください。
ai_parse_document 、 ai_extract 、 ai_classifyコストはAI_FUNCTIONS製品の一部として記録されます。クエリの例については、「 ai_parse_document回の実行におけるコストの表示」を参照してください。
バッチ推論ワークロードのコストを表示する
次の例は、ジョブ、コンピュート、 SQLウェアハウス、およびLakeflow Spark宣言型パイプラインに基づいてバッチ推論ワークロードをフィルターする方法を示しています。
AI Functionsを使用するバッチ推論ワークロードのコストを表示する方法の一般的な例については、「モデルサービング コストの監視」を参照してください。
- Jobs
- Compute
- Lakeflow Spark Declarative Pipelines
- SQL warehouse
次のクエリは、 system.workflow.jobsシステムテーブルを使用したバッチ推論にどのジョブが使用されているかを示します。 「システムテーブルを使用したジョブのコストとパフォーマンスの監視」を参照してください。
SELECT *
FROM system.billing.usage u
JOIN system.workflow.jobs x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.job_id = x.job_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
次に、 system.compute.clusters システムテーブルを使用したバッチ推論に使用されているクラスターを示します。
SELECT *
FROM system.billing.usage u
JOIN system.compute.clusters x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.cluster_id = x.cluster_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
以下は、 system.lakeflow.pipelinesシステムテーブルを使用したバッチ推論にどのLakeflow Spark宣言型パイプラインが使用されているかを示しています。
SELECT *
FROM system.billing.usage u
JOIN system.lakeflow.pipelines x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
以下は、 system.compute.warehousesシステムテーブルを使用したバッチ推論にどのSQLウェアハウスが使用されているかを示しています。
SELECT *
FROM system.billing.usage u
JOIN system.compute.clusters x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.cluster_id = x.cluster_id
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
ai_parse_document回の実行のコストを表示
次の例は、課金システム テーブルをクエリして、 ai_parse_document実行のコストを表示する方法を示しています。
SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "AI_FUNCTIONS"
AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";