次の方法で共有


生成 AI アプリケーションの評価

重要

この記事で説明する機能の一部は、プレビューでのみ使用できる場合があります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

GPT-4 などの Azure OpenAI Service を介した言語モデルの進歩は大きな可能性をもたらす一方、責任ある AI に関連する課題も伴います。 慎重に設計しなければ、これらのモデルに基づいて構築されたシステムは、既存の社会的偏見を永続させ、誤った情報を助長したり、操作的なコンテンツを作り出したり、他にもさまざまな悪影響をもたらす可能性があります。 識別、測定、軽減、運用の 4 つのステージを通じて反復的なアプローチを行うことで、ユーザーに対するメリットを最大化しながら、これらのリスクに対処することができます。

測定ステージでは、品質と安全性に向けたステアリング開発に不可欠な情報を提供します。 一方、これにはパフォーマンスと品質の評価が含まれます。 他方で、リスクと安全性を評価する場合、これには、さまざまなリスク (それぞれの重大度が異なる可能性があります) に対する AI システムの傾向の評価が含まれます。 どちらの場合も、これは明確なメトリックを確立し、テスト セットを作成し、反復的で体系的なテストを完了することで実現されます。 この測定ステージでは、プロンプト エンジニアリングやコンテンツ フィルターの適用など、対象となる軽減ステップを通知する信号を実務者に提供します。 軽減策が適用されると、評価を繰り返し、有効性をテストできます。

Azure AI Studio は、測定ステージに役立つ手動および自動評価用のツールを実務者に提供します。 手動評価から始めて、自動評価に進むことをお勧めします。 手動評価、つまり、生成されたアプリケーションの出力を手動で確認することは、小さな優先度の問題セットの進行状況を追跡するのに役立ちます。 特定のリスクを軽減する場合、自動評価に移行する前に、リスクの証拠が観察されなくなるまで、小さなデータセットに対して手動で進行状況を確認し続けることが、多くの場合、最も生産性が高くなります。 Azure AI Studio は、小規模なデータセットのスポットチェックのための手動評価エクスペリエンスをサポートしています。

自動評価は、より包括的な結果を提供するために対象範囲を拡大し、品質と安全性を大規模に測定するのに役立ちます。 自動評価ツールを使用すると、システム、使用状況、軽減策の進化に伴い、回帰を監視するために定期的に実行される継続的な評価も可能になります。 生成 AI アプリケーションの自動評価には、2 つの主要な方法がサポートされています: 従来の機械学習評価と AI 支援評価。

従来の機械学習測定

生成 AI のコンテキストでは、従来の機械学習の評価 (従来の機械学習メトリックの生成) は、生成された出力の精度を予想される回答と比較して定量化する場合に役立ちます。 従来のメトリックは、実測値と予想される回答にアクセスできる場合に役立ちます。

  • 実測値とは、私たちが真実であると信じているデータであるため、比較の基準として使用されます。
  • 期待される回答とは、実測値データに基づいて考えられる結果です。 たとえば、分類や短い形式の質問応答など、正解や期待される回答が通常 1 つであるようなタスクでは、F1 スコアや同様の従来のメトリックを、期待される回答に対して生成された出力の精度とリコールを測定するために使用することができます。

従来のメトリックは、生成された出力がどの程度回帰しているか、つまり、期待される回答から逸脱しているか解釈する場合にも役立ちます。 誤差や偏差の定量的な尺度を提供することで、経時的なシステムのパフォーマンスを追跡したり、異なるシステムのパフォーマンスを比較したりすることができます。 ただし、このようなメトリックは、創造性、曖昧さ、複数の正解を含むタスクにはあまり適していない場合があります。その理由として、このようなメトリックは通常、期待される回答からの逸脱をエラーとして処理するためです。

AI 支援評価

GPT-4 などの大規模言語モデル (LLM) は、生成 AI 言語システムの出力を評価するために使用できます。 これは、AI で生成された出力の特定の側面に注釈を付けるよう LLM に指示することで達成されます。 たとえば、GPT-4 に関連性の重大度スケールを指定し (たとえば、1 から 5 のスケールで関連性注釈の条件を指定する)、GPT-4 に質問して、特定の質問に対する AI システムの応答の関連性に注釈を付けることができます。

AI 支援評価は、実測値や期待される回答を入手できないシナリオで有益です。 終了の制約がない質問の回答やクリエイティブ ライティングなどの多くの生成 AI シナリオでは、単一の正解が存在しない可能性があり、従来のメトリックに必要な実測値や期待される回答を確立することが困難です。

このような場合、AI 支援評価は、生成された出力の品質や安全性などの重要な概念を測定するのに役立ちます。 ここでの品質は、関連性、一貫性、流暢性、根拠性などのパフォーマンスと品質の属性を指します。 安全性とは、有害なコンテンツ (コンテンツ リスク) の存在などのリスクと安全性の属性を指します。

これらの属性ごとに、LLM の指示と重大度スケールを作成するには、慎重な概念化と実験が必要です。 これらの属性は、人によって見方が異なる可能性のある複雑な社会技術的概念を指す場合があります。 したがって、LLM の注釈指示は、合意された属性の具体的な定義を表すように作成されることが重要です。 次に、LLM が人間の専門家のアノテーターと一致する方法で、指示を確実に適用することが同様に重要です。

LLM にこれらの属性に注釈を付けるよう指示することで、正解が 1 つでない場合でも、生成 AI アプリケーションがどの程度うまく機能しているかのメトリックを作成できます。 AI 支援評価では、特に創造性、曖昧さ、複数の正解を含むタスクにおいて、生成 AI アプリケーションを評価する柔軟で微妙な方法が提供されます。 しかし、このような評価の信頼性や有効性は、LLM の品質と LLM に出された指示によって異なります。

AI 支援のパフォーマンスと品質のメトリック

AI 支援のパフォーマンスと品質に評価を実行するために、LLM は 2 つの異なる機能に利用される可能性があります。 まず、テスト データセットを作成する必要があります。 これは、プロンプトを選択して AI システムからの応答をキャプチャすることによって手動で作成できます。または、AI システムと LLM (次の図では AI 支援データセット ジェネレーターと呼ばれます) との間の相互作用をシミュレートすることで、合成によって作成できます。 次に、テスト セット内の AI システムの出力に注釈を付けるためにも LLM を使用します。 最終的に、注釈はパフォーマンスと品質のメトリックに集約され、確認と分析のために AI Studio プロジェクトへとログされます。

AI Studio で生成 AI 品質アプリケーションを評価する図。

Note

現在、AI 支援評価のモデルとして GPT-4 と GPT-3 がサポートされています。 これらのモデルを評価に使用するには、有効な接続を確立する必要があります。 コンテキストの解釈と指示への準拠が大幅に向上するため、GPT-4 を使用することを強くお勧めします。

AI 支援のリスクと安全性のメトリック

AI 支援の品質とパフォーマンスの評価の応用の 1 つに、AI 支援のリスクと安全メトリックの作成があります。 AI 支援のリスクと安全性のメトリックを作成するために、Azure AI Studio の安全性評価では、バックエンド サービスでホストされている Azure OpenAI GPT-4 モデルがプロビジョニングされ、次の 2 つの LLM に依存する各ステップが調整されます。

  • 生成 AI システムとの敵対的相互作用をシミュレートする:

    有害な応答の生成を対象とするプロンプトに従って、単一ターンまたは複数ターンの交換をシミュレートすることで、入力と応答の高品質なテスト データセットを生成します。 

  • コンテンツまたはセキュリティ リスクに関するテスト データセットに注釈を付ける:

    コンテンツの種類とセキュリティ リスクごとに定義されている重大度スケールから派生した重大度と推論を使用して、テスト データセットから対話ごとに注釈を付けます。

プロビジョニングされた GPT-4 モデルは敵対的データセット ジェネレーターまたはアノテーターとして機能するため、その安全性フィルターはオフになり、モデルはバックエンド サービスでホストされます。 これらの LLM と対象の敵対的プロンプト データセットに使用されるプロンプトも、そのサービスでホストされます。 生成され、LLM を介して渡されるコンテンツは機密性が高いため、モデルとデータ資産には Azure AI Studio のお客様が直接アクセスすることはできません。

対象の敵対的プロンプト データセットは、Microsoft の研究者、応用科学者、言語学者、セキュリティ専門家によって開発されたもので、ユーザーが生成 AI システムのコンテンツとセキュリティ リスクの評価を開始するのに役立ちます。

入力プロンプトと AI システムの応答を含むテスト データセット (たとえば、レッド チーミングからのレコード) が既にある場合は、コンテンツ リスク エバリュエーターが注釈を付けるために、そのデータセットを直接渡すことができます。 安全評価は、レッド チームが敵対的プロンプトを大規模に生成および自動化できるようにすることで、手動のレッド チーミング作業を強化し、加速させるのに役立ちます。 ただし、AI 支援評価は、人間のレビューを置き換えたり、考えられるすべてのリスクを包括的にカバーしたりするようには設計されていません。

AI Studio で生成 AI の安全性を評価する図。

ジェイルブレイクの脆弱性の評価

コンテンツ リスクとは異なり、ジェイルブレイクの脆弱性は、LLM による注釈を直接使用して確実に測定することはできません。 しかし、ジェイルブレイクの脆弱性は、2 つの並列テスト データセット (ベースラインの敵対的テスト データセットと、最初のターンでのジェイルブレイク インジェクションを含む同じ敵対的テスト データセット) を比較することで測定できます。 各データセットには、AI 支援のコンテンツ リスク エバリュエーターによって注釈を設定することができ、それぞれに対するコンテンツ リスクの欠陥率が生成されます。 その後、ユーザーは欠陥率を比較し、ジェイルブレイク データセットがより多くの、またはより高い重大度の欠陥につながったケースに対処することで、ジェイルブレイクの脆弱性を評価します。 たとえば、これらの並列テスト データセット内のインスタンスに、ジェイルブレイク インジェクションを使用したバージョンに対してより重大な注釈を付けた場合、そのインスタンスはジェイルブレイクの欠陥と見なされます。

サポートされているタスクの種類と組み込みメトリックの詳細については、「生成 AI の評価と監視メトリック」を参照してください。

生成 AI アプリケーションの評価と監視

Azure AI Studio は、生成 AI アプリ開発者がアプリケーションを評価するための、次に示すような明確なパスをサポートしています。

生成 AI アプリケーションを評価するためのさまざまなパスを含む評価と監視フローの図。

  • プレイグラウンド: 最初のパスでは、"プレイグラウンド" エクスペリエンスに取り組むことから開始できます。 ここでは、モデルの基礎となるデータを選択し、アプリケーションのベース モデルを選択し、モデルの動作をガイドするメタプロンプト指示を出すことができます。 その後、データセットを渡してアプリケーションの応答を観察することで、アプリケーションを手動で評価できます。 手動検査が完了したら、評価ウィザードを使用して、従来のメトリックまたは AI 支援評価を通じたより包括的な評価を行うことができます。

  • フロー: Azure AI Studio の [プロンプト フロー] ページでは、LLM を搭載した AI アプリケーションのライフサイクル全体を効率化するために調整された専用開発ツールが提供されます。 このパスを使用して、視覚化されたグラフを介して LLM、プロンプト、Python ツールをリンクする実行可能フローを作成できます。 この機能により、フローのデバッグ、共有、協調的な反復が容易になります。 さらに、プロンプト バリアントを作成し、大規模なテストを通じてパフォーマンスを評価できます。
    'フロー' 開発ツールに加え、コードファーストの SDK エクスペリエンスを使用して生成 AI アプリケーションを開発するオプションもあります。 選択した開発パスに関係なく、[フロー] タブからアクセスできる評価ウィザード、または SDK/CLI エクスペリエンスを介して、作成したフローを評価できます。 [フロー] タブには、カスタマイズされた評価ウィザードを使用し、独自のメトリックを組み込む柔軟性もあります。

  • データセットの直接評価: アプリケーションとエンドユーザー間の対話を含むデータセットを収集した場合、このデータを "評価 "タブ内の評価ウィザードに直接送信できます。このプロセスを使用することで、AI 支援自動評価を生成でき、結果は同じタブで視覚化できます。このアプローチは、データ中心の評価方法を中心としています。 あるいは、SDK/CLI エクスペリエンスを使用して会話データセットを評価し、Azure AI Studio を通じて評価を生成して可視化するオプションもあります。

これらのチャネルのいずれかからアプリケーション、フロー、データを評価した後、生成 AI アプリケーションのデプロイを進め、ユーザーとの新たな対話に関与する運用環境でその品質と安全性を監できます。

次のステップ