測定を有効にする: インフラストラクチャのサポート
この記事では、品質を測定するために必要なインフラストラクチャと、Databricks がそれを提供する方法について詳しく説明します。 品質の測定は簡単ではなく、インフラストラクチャへの多大な投資が必要です。
詳細なトレース ログ
RAG アプリケーションのロジックの中核となるのは、チェーン内の一連の手順です。 品質を評価してデバッグするには、チェーンの各手順、その関連する入力と出力に加えて、チェーンの入力と出力を追跡するインストルメンテーションを実装する必要があります。 配置したインストルメンテーションは、開発と運用において同様に動作する必要があります。
Databricks では、MLflow Tracing でこの機能が提供されます。 MLflow トレース ログを使用すると、運用内でコードをインストルメント化し、開発中と運用内で同じトレースを取得します。 運用のトレースは、推論テーブルの一部としてログに記録されます。
利害関係者レビュー UI
ほとんどの場合、開発者は、開発しているアプリケーションの内容に関する分野の専門家ではありません。 アプリケーションの出力品質を評価できる人間の専門家からフィードバックを収集するには、初期バージョンのアプリケーションとやり取りし、詳細なフィードバックを提供できるインターフェイスが必要です。 さらに、利害関係者が品質を評価するために、特定のアプリケーション出力を読み込む方法が必要です。
このインターフェイスでは、アプリケーションの出力と、関連するフィードバックを、構造化された方法で追跡し、すべてのアプリケーション トレースと詳細なフィードバックをデータ テーブルに保存する必要があります。
Databricks では、エージェント評価レビュー アプリによってこの機能が提供されます。
品質、コスト、待機時間のメトリック フレームワーク
チェーンとエンド ツー エンド アプリケーションの各コンポーネントの品質を包括的に測定するメトリックを定義する方法が必要です。 理想的には、このフレームワークではカスタマイズのサポートに加えて、すぐに使用できる標準メトリックのスイートを提供し、ユーザーのビジネスに固有な品質の、特定の側面をテストするメトリックを追加できるようにします。
Databricks では、エージェント評価は、ホストされた LLM ジャッジ モデルを使用して、必要な品質、コスト、待機時間のメトリックに対して、すぐに使用できる実装を提供します。
評価ハーネス
評価セット内のすべての質問に対して、チェーンから迅速かつ効率的に出力を取得し、それから関連するメトリックを基に各出力を評価する方法が必要です。 品質の向上を試みるすべての実験の後に評価を実行するため、このハーネスは可能な限り効率的である必要があります。
Databricks では、エージェント評価によって、MLflow と統合された評価ハーネスが提供されます。
評価セットの管理
評価セットは、アプリケーションの開発と運用のライフサイクルの過程で反復的に更新される、(まるで呼吸しているように) 生きた質問のセットです。
Databricks では、Delta テーブルとして評価セットを管理できます。 MLflow を使用して評価する場合、MLflow は使用された評価セットのバージョンのスナップショットを、自動的にログに記録します。
実験追跡フレームワーク
アプリケーション開発の過程では、さまざまな実験を試します。 実験追跡フレームワークを使用すると、各実験をログに記録し、そのメトリックと他の実験の比較を追跡できます。
Databricks では、MLflow によって実験追跡機能が提供されます。
チェーン パラメーター化フレームワーク
試してみる多くの実験では、コードで使用されるさまざまなパラメーターを反復処理しながら、チェーンのコード定数を保持する必要があります。 これを可能にしてくれるフレームワークが必要です。
Databricks では、MLflow モデルの構成でこれらの機能が提供されます。
オンライン監視
展開したら、アプリケーションの正常性と継続的な品質、コスト、待機時間を監視する方法が必要です。
Databricks では、モデル サービングによってアプリケーションの稼働状況の監視が提供され、レイクハウス監視によってダッシュボードに継続的な出力が提供され、品質、コスト、待機時間を監視します。