「品質」を定義する:評価セット
この記事では、評価セットと、評価セットがアプリケーションの品質確保にどのように役立つかについて説明します。
評価セットとは何ですか?
品質を測定するために、Databricksは人間がラベル付けした評価セットの作成をお勧めします。評価セットとは、厳選された代表的なクエリのセットであり、真実の回答と、(オプションで)取得されるべき正しいサポートドキュメントも含まれます。このプロセスでは、人間の入力が非常に重要です。なぜなら、評価セットがエンドユーザーの期待と要件を正確に反映することを保証するからです。
ヒューマンラベルのキュレーションは、時間のかかるプロセスになる可能性があります。質問のみを含む評価セットを作成すると、開始できます。後からグラウンドトゥルースの応答を追加できます。Agent Evaluationはグラウンドトゥルースがなくてもチェーンの品質を評価できますが、グラウンドトゥルースが利用可能な場合は、回答の正確性などの追加メトリクスをコンピュートします。
適切な評価セットの要素
適切な評価セットには、次の特性があります。
- 代表的セット: アプリケーションが本番運用で遭遇するさまざまなリクエストを正確に反映します。
- **課題:** モデルの機能を効果的にテストするために、このセットには困難で多様なケースを含める必要があります。理想的には、プロンプトインジェクションを試みる質問や、LLMから不適切な応答を生成しようとする質問などの対抗例が含まれています。
- 継続的に更新されます: セットは、本番運用でアプリケーションがどのように使用されているか、インデックス付きデータの変化、およびアプリケーション要件への変更を反映するために、定期的に更新される必要があります。
Databricksは、評価セットに少なくとも30個の質問を含めることを推奨しており、理想的には100~200個です。最適な評価セットは、時間の経過とともに増え、数千個の質問を含むようになります。
トレーニング、テスト、および検証セット
過学習を避けるために、Databricks は評価セットをトレーニング、テスト、検証セットに分割することをお勧めします:
- トレーニングセット: 質問の約70%。すべてのエクスペリメントを初期パスで評価し、最も可能性の高いものを特定するために使用されます。
- **テストセット:** 質問の約20%。トレーニングセットから最もパフォーマンスの高いエクスペリメントを評価するために使用されます。
- 検証セット:質問の~10%。エクスペリメントを本番運用にデプロイする前の最終検証チェックに使用されます。
Agent Evaluationは、関係者がアプリケーションの出力についてフィードバックを提供するためのWebベースのチャットインターフェイスを提供することで、評価セットの作成に役立ちます。チェーンの出力と関係者からのフィードバックはDelta Tableに保存され、その後評価セットとしてキュレーションできます。3. AIエージェントの品質を反復的に改善するで、アプリを繰り返し評価し改善する方法の詳細をご覧ください。