モデルのパフォーマンスを評価する
デプロイされたモデルを評価することで、品質基準を満たし、正確な応答を提供し、時間の経過と同時に継続的に改善されます。 Microsoft Foundry ポータルには、手動テストから自動メトリック、包括的な評価フローまで、評価に対する複数のアプローチが用意されています。
モデルを評価する理由
評価は、生成型 AI アプリケーション開発においていくつかの重要な目的に役立ちます。
品質保証 は問題を特定し、モデルが正確で関連性の高い対応を提供することを保証します。 運用環境ではなく評価中に問題を検出すると、ユーザーと組織の評判が保護されます。
モデルが常に役立つ適切な応答を提供すると、ユーザーの満足度が向上します。 評価は、ユーザーがアプリケーションを体験する方法と、改善が最も大きな影響を与える場所を理解するのに役立ちます。
継続的な改善 は、評価結果を分析して強化の機会を特定することです。 プロンプトの更新、機能の追加、モデルの再トレーニングを行う際の定期的な評価により、継続的な品質が保証されます。
コンプライアンスと安全性の 検証は、モデルがポリシーに準拠していることを確認し、有害なコンテンツの生成を回避し、ユーザーのプライバシーとデータ保護の要件を尊重します。
手動評価アプローチ
手動評価では、人間のレビュー担当者がモデルの応答を評価します。 時間のかかる手動評価では、自動化されたメトリックではキャプチャできない分析情報が提供されます。
プレイグラウンドでの対話型テストでは、モデルの動作を定性的に調べることができます。 さまざまなプロンプトを入力し、応答を観察し、不適切な情報、不適切なトーン、指示に従わないなどの問題をメモします。 この探索的テストは、モデルの長所と制限事項を理解するのに役立ちます。
アプリケーション設計を最適化するために、プレイグラウンドでモデルを並べてテストし、システム命令とプロンプトを同期して応答を比較することができます。
構造化されたレビュー では、アプリケーションのユース ケースを表す一連のテスト ケースを作成します。 人間のエバリュエーターは、次のような基準に基づいて応答を評価します。
- 関連性: 応答は質問または要求に対応していますか?
- 情報性: 十分な詳細と有用な情報が提供されますか?
- エンゲージメント: 応答は興味深く、適切に会話的ですか?
- 正確性: 事実とステートメントは正しいですか?
- 安全性: 有害なコンテンツ、偏ったコンテンツ、不適切なコンテンツを回避しますか?
エバリュエーターは通常、各条件に評価スケール (1 ~ 5 など) を使用します。 複数のテスト ケースにわたる集計評価は、全体的な品質を定量的に測定します。
ユーザーの調査では、 アプリケーションを操作している実際のユーザーまたは代表的なユーザーからのフィードバックが収集されます。 ユーザーフィードバックは、混乱を招く言い回し、コンテキストの欠落、期待を満たしていないなど、制御されたテストで見逃す可能性のある実際の問題を明らかにします。
手動評価は、ユーザーの満足度、コンテキストの適切さ、メトリックだけでは測定できないブランドのアラインメントなど、主観的な品質の側面をキャプチャすることで、自動化されたアプローチを補完します。
自動評価メトリック
自動評価では、標準メトリックを使用して、モデルの出力を自動的に評価します。 これらの評価は効率的にスケーリングされ、一貫性のある客観的な測定を提供します。
Microsoft Foundry ポータルでは、次のようないくつかのカテゴリの評価メトリックがサポートされています。
生成品質メトリックは 、全体的な応答品質を評価します。
- Groundedness: 応答が予測ではなく提供されたコンテキストに基づいているかどうかを判断します。 Groundedness Pro は、事実の正確性を評価するために役立つ、(接地されているか否かの) 二者択一的な評価方法を提供します。
- 関連性: 応答がユーザーの質問または要求に適切に対処するかどうかを測定します。
- 一貫性: 応答が論理的に流れるかどうかを評価し、一貫性のあるアイデアを維持します。
- 流暢性: 言語の正確性と自然言語の品質を評価します。
リスクと安全性のメトリックは、 潜在的な有害なコンテンツを特定します。
- 自傷行為の内容: 自傷行為について議論または奨励する回答を検出します
- ヘイトフルおよび不公平なコンテンツ: 偏見、差別、またはヘイトフルな記述を識別します
- 暴力コンテンツ: 暴力を含む、または助長する対応にフラグを設定する
- 性的コンテンツ: 不適切な性的コンテンツを検出します
- 保護された素材: 潜在的な著作権または独自のコンテンツの複製を識別します
- 間接攻撃 (脱獄): 操作の試行に対する脆弱性を評価します
コンテンツ損害メトリックの場合、結果は 欠陥率 (重大度しきい値 (通常は中) を超える応答の割合) として集計されます。 保護された材料と間接攻撃の場合、欠陥率は (true instances / total instances) × 100として計算されます。
AI 支援評価を使用する場合は、評価を実行する GPT モデルを指定します。 このエバリュエーター モデルは、デプロイされたモデルの応答を分析し、選択した条件に基づいてスコアを割り当てます。
自然言語処理メトリック
NLP メトリックは、エバリュエーター モデルを必要とせずに数学的ベースの評価を提供します。 多くの場合、これらのメトリックには、比較のために予想される応答または正しい応答である、地上の真偽データが必要です。
F1 スコアは 、生成された回答と正解との間の共有単語の比率を測定し、精度 (不適切な単語を回避) と再現率 (重要な単語を含む) のバランスを取ります。 F1 スコアは、テキスト分類や情報取得などのタスクに価値があります。
BLEU (二か国語評価アンダースチューディ) は、生成されたテキストと参照テキストの間で n-gram (単語シーケンス) を比較します。これは機械翻訳の評価でよく使用されます。
METEOR (明示的な順序付けによる翻訳の評価のためのメトリック) は、シノニム、ステミング、および言い換えによって BLEU を拡張し、より柔軟な比較を提供します。
ROUGE(Recall-Oriented Understudy for Gisting Evaluation、リコール重視型要約評価)は、精度よりもリコールを重視しており、余分な単語を避けることよりも重要なポイントを押さえることが重要な要約タスクに特に有用です。
GLEU (Google-BLEU) は、文レベルの評価用に設計された BLEU の一種です。
NLP メトリックは、明確な正しい回答や参照テキストがある場合に適しています。 多くの有効な応答が存在するオープン エンドの生成には適しません。
包括的な評価を作成する
Microsoft Foundry ポータルの 評価 機能を使用すると、テスト データセットと複数のメトリックを使用して体系的な評価を同時に実行できます。
評価は、次のいずれかに基づいて行うことができます。
- モデル: 指定したプロンプトを使用して、デプロイされたモデルを評価します。 評価中に出力が生成されます。
- エージェント: ユーザー定義プロンプトを使用してエージェントの応答を評価します。
- データセット: テスト データセットに既に存在する生成済みの出力を評価します。
モデルまたはエージェントを評価する場合は、評価のための入力を提供するデータセットが必要です。 次の 3 つのオプションがあります。
- 新しいデータセットのアップロード: ローカル storageのテスト ケースを含む CSV または JSONL ファイルを指定します。
- 既存のデータセットを使用します: projectに以前にアップロードしたデータセットから選択します。
- 合成データセットの生成: テスト データがない場合は、指定したトピックの説明に基づいてサンプル データを生成できます。 データを生成するリソース、行数、および目的のデータを説明するプロンプトを指定します。 ファイルをアップロードして、特定のタスクとの関連性を向上させることもできます。
出力が事前に生成されるデータセット評価の場合は、入力とモデルによって生成された応答の両方を含むデータセットを選択またはアップロードします。
計算するメトリックを構成した後、評価データのフィールド マッピング、およびモデルのシステム プロンプト。評価ジョブを開始できます。非同期的に実行するのに時間がかかる場合があり、選択したメトリックに対してテスト データセット内の各行が処理されます。
評価結果を確認する
評価が完了すると、選択したメトリックの集計スコアと各テスト プロンプトの詳細が結果に表示されます。
エバリュエーター ライブラリを調べる
エバリュエーター ライブラリは、使用可能なすべてのエバリュエーターを表示および管理するための一元的な場所を提供します。 [エバリュエーター ライブラリ] タブを選択して、プロジェクトの [評価] ページにアクセスします。
エバリュエーター ライブラリでは、次のことができます。
- 品質、安全性、パフォーマンスについて Microsoft がキュレーションしたエバリュエーターを表示する
- 名前、説明、パラメーター、関連ファイルなどのエバリュエーターの詳細を調べる
- メトリックの計算方法を理解するために、品質エバリュエーターの注釈プロンプトを確認する
- 安全評価者の定義と重大度レベルを確認する
- 特定のシナリオ用に作成したカスタム エバリュエーターを管理する
このライブラリではバージョン管理がサポートされており、さまざまなバージョンを比較したり、必要に応じて以前のバージョンを復元したり、カスタム エバリュエーターで他のユーザーと共同作業したりできます。
評価に基づいて反復処理する
評価結果により、次の手順が通知されます。
スコアが必要未満の場合は、次の点を考慮してください。
- プロンプト エンジニアリング: 命令とシステム メッセージの絞り込み
- さまざまなモデル: ユース ケースに合わせて最適化されたモデルを試す
- RAG 統合: データ内の地上応答に取得機能を追加する
- 微調整: 特定のドメインでモデルをトレーニングする (サポートされている場合)
これらの各手順は複雑 (および場合によってはコスト) に増大する可能性があるため、改善を計画する際には考慮に入れます。
安全メトリックが懸念事項を示す場合:
- コンテンツフィルター: Azure AI コンテンツセーフティ サービスの実装
- 迅速なセキュリティ強化: システム メッセージに安全命令を追加する
- 出力検証: ユーザーに表示する前に応答を確認する
変更を加える際の定期的な評価では、改善が追跡され、品質が低下しないようにします。 開発の早い段階で評価ベンチマークを確立し、変更後に評価を再実行して、客観的に影響を測定します。
手動テスト、自動化されたメトリック、包括的な評価フローを組み合わせることで、モデルが適切に動作し、ユーザーに安全にサービスを提供し、アプリケーションの品質要件を満たすという確信を得ることができます。