評価におけるデータの役割

完了

データの品質と性質は、評価プロセスの有効性と信頼性を決定する上で重要な役割を果たします。 データは、AI モデルをテスト、検証、および調整するためのバックボーンとして機能し、実際のシナリオで最適に実行されるようにします。 データと評価品質の関係は共生的です。高品質で多様で代表的なデータ セットは、評価メトリックがさまざまなシナリオでのモデルのパフォーマンスを正確に反映するのに役立ちます。 逆に、品質の低いデータや偏ったデータは、誤解を招く評価結果を招き、AI システムの弱点を隠し、その強みを過大評価する可能性があります。 そのため、データの品質と多様性は、評価プロセスの信頼性と有効性に直接影響します。

良好な評価データの特性

生成型 AI アプリケーションの評価に使用されるデータには、次の特性が必要です。

  • 多様性: 優れた評価データには、さまざまなシナリオ、コンテキスト、バリエーションが含まれており、さまざまな種類の入力に対してアプリケーションがテストされます。
  • 代表性: データは、AI モデルがデプロイされる実際のシナリオを正確に反映し、実際のユーザー操作の微妙な差異と複雑さを把握する必要があります。
  • 品質: 高品質のデータはクリーンで、ラベルが付き、エラーや不整合から解放されます。 高品質のデータにより、評価メトリックがノイズや不正確さによって歪まないようにします。
  • 関連性: データは、パフォーマンスとユーザー エクスペリエンスにとって最も重要な側面に焦点を当てて、AI アプリケーションの特定の目標と要件に合わせる必要があります。
  • 定期的に更新および更新: 進化するユーザーのニーズ、標準、コンテキストを反映するように評価データを継続的に更新および更新します。
  • バランスの取れたデータの品質と量: データが高品質で十分な大きさで、意味のある正確な評価結果を提供できることを確認します。

エッジ ケースの処理の重要性

エッジケースはまれですが、生成型 AI アプリケーションのパフォーマンスと信頼性に大きな影響を与える可能性があります。 評価データにエッジ ケースを含めることで、開発者はモデルが堅牢であり、幅広い入力を処理できることが検証され、全体的な信頼性とユーザー エクスペリエンスが向上します。 生成 AI では、エッジ ケースに、モデル トレーニングに使用される一般的なデータとは異なる入力が含まれる場合があります。 エッジ ケースは、モデル内の潜在的な弱点やバイアスを特定するのに役立ちます。

カスタマー サービス チャットボット用に設計された生成型 AI アプリケーションについて考えてみましょう。 このアプリケーションのエッジ ケースには、英語や標準中国語などの言語の組み合わせと、スラングや業界固有の専門用語を含むメッセージを入力するユーザーが含まれる場合があります。 たとえば、ユーザーが「Hey、君に帮我reset我的パスワードをお願いできますか?」と入力するかもしれません。 ありがとうございます。この入力は英語、標準語、非公式言語を組み合わせたものであり、チャットボットの言語処理機能に挑戦する可能性があります。 このような入力に対する AI システムの応答を評価すると、開発者は、チャットボットが多言語および非公式のクエリを正確に理解して応答できるかどうかを特定し、多様な通信シナリオで堅牢性と信頼性を確保できます。

データ要件

Azure AI Foundry と Azure AI Evaluation SDK 内で使用される組み込みのエバリュエーターには、.jsonl 形式の特定のデータが必要です。

コンテキスト – コンテキストは、応答が生成されるソースです (つまり、ドキュメントを接地します)。

例: "パリはフランスの首都/大都市です。

クエリ – クエリは、AI に与えられた特定の質問またはプロンプトです。 これは、AI に直接対処するか応答するように求められるものです。

例: "フランスの首都/大都市は何ですか?

応答 – 特定のコンテキストを考慮して、AI によって生成されたクエリに対する回答。

例: "フランスの首都/大都市はパリです。 エッフェル塔と呼ばれる有名な塔がある大都市です。

地上の真理 – 地上の真理は、ユーザー/人間が真の答えとして生成したクエリに対する応答です。

例: "パリは首都/大都市であり、最も人口の多いフランスの都市です。"

各エントリの適切なキーと値のペアでデータセットが正しく書式設定されていることを確認します。

評価データの種類とソース

生成型 AI アプリケーションの評価に使用できるデータの種類とソースには、それぞれ固有の利点と課題があります。

実世界のデータ

実際のデータは、実際の相互作用とシナリオを反映したユーザー生成データです。 現実的な条件でモデルのパフォーマンスをテストする際に非常に重要です。 さらに、実際のデータは、本物のユーザー操作で見つかった微妙なバリエーションと複雑なパターンを体現しています。

合成データ

合成データは、実際のシナリオを模倣するように設計された、人為的に生成されたデータです。 これは、実際のデータを補完するため、特に、特定の種類のデータが不足しているか、取得が困難な場合に使用されます。 合成データは大量に生成でき、評価用の十分なデータが提供されます。 さらに、合成データは、ユーザーが生成したデータに関連する潜在的なプライバシーの問題を回避します。

Azure AI Evaluation SDK には、エンドツーエンドの合成データ生成機能を提供する Simulator クラスが備わっています。 この機能により、開発者は、運用データがない場合でも、一般的なユーザー クエリに対するアプリケーションの応答を効果的にテストできます。

Simulator には、次の機能が用意されています。

  • 入力のテキストまたはインデックスに基づいて合成データを作成する
  • シミュレーション目的でターゲット コールバックを定義する
  • 入力テキストからクエリと応答のペアを生成する方法をカスタマイズする
  • シミュレーションに固定会話スターターを使用する

敵対的データ

敵対的なデータとは、AI モデルに挑戦、混乱、または悪用するように設計された、慎重に作成された入力を指します。 敵対的データは、モデルの境界をプッシュし、その脆弱性と潜在的な障害点を明らかにするため、モデルのストレス テストを行うときに重要です。 敵対的なデータを使用してモデルを評価すると、攻撃の可能性のある脆弱性や経路が明らかになる可能性があります。 敵対的データは、悪意のある入力に対して耐性があり、ユーザーデータとプライバシーを保護する生成型 AI アプリケーションを構築するために重要です。

Azure AI Evaluation SDK には、アプリケーションに対して敵対的なデータセットを生成する AdversarialSimulator クラスが備わっています。 敵対的シナリオに加えて、安全動作をオフにして敵対的シミュレーションを可能にするように構成された Azure OpenAI GPT-4 モデルへのアクセスを提供します。

敵対的シミュレーターは、サービスでホストされる GPT 大規模言語モデルを設定することで機能して、敵対的ユーザーをシミュレートし、アプリケーションと対話します。 任意のアプリケーション エンドポイントを敵対的シミュレーターに取り込むことができます。 AdversarialSimulatorは、対象のアプリケーションまたは関数に対してシミュレートするために、サービスでホストされるさまざまなシナリオをサポートします。