次の方法で共有


生成 AI アプリケーションのモデルの監視 (プレビュー)

運用環境でモデルを監視することは、AI ライフサイクルに不可欠な作業です。 データやコンシューマーの行動の変化は、時間の経過と共に生成 AI アプリケーションに影響を与える可能性があり、その結果、システムが時代遅れになり、ビジネス成果に悪影響を及ぼし、組織をコンプライアンス、経済、評判のリスクにさらすことになります。

重要

生成 AI アプリケーションのモデルモニタリングは現在パブリック プレビュー段階です。 これらのプレビューは、サービス レベル アグリーメントなしで提供されており、運用ワークロードにはお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

生成型 AI アプリケーションに対する Azure Machine Learning モデルの監視により、運用中の LLM アプリケーションの安全性と品質を定期的に監視し、ビジネスへの影響を最大限に高めることができます。 監視は最終的に、生成 AI アプリケーションの品質と安全性を維持するのに役立ちます。 機能と統合には、次のものが含まれます。

  • モデル データ コレクターを使用して運用データを収集する。
  • 現実性、一貫性、流暢性、関連性、類似性などの責任ある AI 評価メトリック。これは、Azure Machine Learning プロンプト フロー評価メトリックと相互運用可能。
  • 組織のターゲットに基づいて違反のアラートを構成し、定期的に監視を実行する機能。
  • Azure Machine Learning スタジオのワークスペース内のリッチ ダッシュボードで結果を使用する。
  • Azure Machine Learning プロンプト フロー評価メトリックとの統合、収集された運用データの分析によるタイムリーなアラートの提供、時間の経過に伴うメトリックの視覚化。

モデルの監視全体の基本的な概念については、「Azure Machine Learning を使用したモデルの監視 (プレビュー)」を参照してください。 この記事では、マネージド オンライン エンドポイントによってサポートされる生成 AI アプリケーションを監視する方法について説明します。 これを実行する手順は次のとおりです。

評価メトリック

メトリックは、シーケンス間タスクのエバリュエーター モデルとして機能する特定の評価命令 (プロンプト テンプレート) で構成された、次の最新の GPT 言語モデルによって生成されます。 この手法は、標準的な生成 AI 評価メトリックと比較すると、強力な経験結果と、人間の判断との高い相関関係を示しています。 プロンプト フローの評価の詳細については、「 一括テストの送信とフローの評価 (プレビュー)」を参照してください。

これらの GPT モデルはサポートされており、Azure OpenAI リソースとして構成されます。

  • GPT-3.5 ターボ
  • GPT-4
  • GPT-4-32k

次のメトリックがサポートされています。 各メトリックの詳細については、「 監視評価メトリックの説明とユース ケース」を参照してください。

  • Groundedness: モデルの生成された回答が入力ソースからの情報とどの程度一致しているかを評価します。
  • 関連性: モデルによって生成された応答が関連し、特定の質問に直接関連する範囲を評価します。
  • 一貫性: 言語モデルがスムーズに流れ、自然に読み取り、人間のような言語に似た出力を生成できる程度を評価します。
  • 流暢性: 生成 AI の予測回答の言語能力を評価します。 これは、生成されたテキストが文法規則、統語構造、語彙の適切な使用にどの程度準拠しており、言語的に正しくかつ自然な応答になっているかを評価します。
  • 類似性: 地上真偽文 (またはドキュメント) と AI モデルによって生成された予測文の類似性を評価します。

メトリックの構成要件

生成の安全性と品質を測定するには、次の入力 (データ列名) が必要です。

  • prompt text - 指定された元のプロンプト ("入力" または "質問" とも呼ばれます)
  • 完了テキスト - 返される API 呼び出しからの最終的な完了 ("outputs" または "answer" とも呼ばれます)
  • コンテキスト テキスト - 元のプロンプトと共に API 呼び出しに送信されるコンテキスト データ。 たとえば、特定の認定情報ソース/Web サイトからのみ検索結果を取得する場合は、評価手順でこれを定義できます。 これは、プロンプト フローを通じて構成できる省略可能なステップです。
  • グラウンド トゥルース テキスト - "信頼のソース" としてのユーザー定義テキスト (省略可能)

次の表に示すように、データ資産で構成されるパラメーターによって、生成できるメトリックが決まります。

メトリック Prompt Completion Context グランド トゥルース
一貫性 必須 必須 - -
流暢性 必須 必須 - -
現実性 必須 必須 必須 -
関連性 必須 必須 必須 -
Similarity 必須 必須 - 必須

前提条件

  1. Azure OpenAI リソース: 十分なクォータを使用して作成された Azure OpenAI リソースが必要です。 このリソースは、評価エンドポイントとして使用されます。
  2. マネージド ID: ユーザー割り当てマネージド ID (UAI) を作成し、「CLI v2 を使用してユーザー割り当てマネージド ID をアタッチし、十分なロール アクセス権を 持つユーザー割り当てマネージド ID をアタッチ する」のガイダンスを使用してワークスペースにアタッチします。次の手順で定義します。
  3. ロール アクセス: 必要なアクセス許可を持つロールを割り当てるには、リソースに対する 所有者 または Microsoft.Authorization/roleAssignments/write アクセス許可が必要です。 接続とアクセス許可の更新が有効になるまでに数分かかる場合があります。 これらの追加ロールを UAI に割り当てる必要があります。
    • リソース: ワークスペース
    • ロール: Azure Machine Learning データ科学者
  4. ワークスペース接続:このガイダンスに従って、監視メトリックの計算に使用される Azure OpenAI エンドポイントの資格情報を表すマネージド ID を使用します。 フローで使用した接続は削除しないでください
    • API バージョン: 2023-03-15-preview
  5. プロンプト フローのデプロイ:このガイダンスに従ってプロンプト フロー ランタイムを作成し、フローを実行し、この記事をガイドとして使用してデプロイが構成されていることを確認します。
    • フローの入力と出力: フロー出力に適切な名前を付け、モニターの作成時にこれらの列名を覚える必要があります。 この記事では、次の名前を使用します。
      • 入力 (必須): "prompt"
      • 出力 (必須): "completion"
        • 出力 (省略可能): "context" | "ground truth"
    • データ収集: "配置" (プロンプト フロー展開ウィザードの手順 2) では、 モデル データ コレクターを使用して "推論データ収集" トグルを有効にする必要があります。
    • 出力: 出力 (プロンプト フロー展開ウィザードの手順 3) で、 メトリック構成要件を満たす必要な出力 (完了 | コンテキスト | ground_truthなど) が選択されていることを確認します。

Note

コンピューティング インスタンスが VNet の背後にある場合、「プロンプト フローのネットワークの分離」を参照してください。

モニターを作成する

[監視の概要] ページでモニターを作成する: アプリケーションのモニターを作成する方法を示すスクリーンショット。

基本監視設定を構成する

監視作成ウィザードで、スクリーンショットの (A) に示すように、[モデル タスクの種類][プロンプトと完了] に変更します。 生成 AI の基本監視設定を構成する方法を示すスクリーンショット。

データ資産を構成する

モデル データ コレクターを使用している場合は、2 つのデータ資産 (入力と出力) を選択します。 生成 AI のデータ資産を構成する方法を示すスクリーンショット。

監視シグナルを選択する

[監視設定] ダイアログの監視シグナル構成オプションを示すスクリーンショット。

  1. ワークスペース接続を構成します (スクリーンショットの (A))。
    1. ワークスペース接続を正しく構成する必要があります。または、未 構成の監視シグナルを示すスクリーンショットが表示されます。
  2. Azure OpenAI エバリュエーターのデプロイ名を入力します (B)
  3. (省略可能)運用データの入力と出力を結合する: 運用モデルの入力と出力は、監視サービス (C) によって自動的に結合されます。 これは、必要に応じてカスタマイズできますが、何もする必要はありません。 既定では、結合列は Correlationid です。
  4. (省略可能) メトリックのしきい値を構成します。インスタンスごとの許容スコアは、3/5 に固定されています。 あなたは範囲[1,99]%の間にあなたの許容可能な全体的な % 通過率を調整することができます.
  • プロンプト フローの列名を手動で入力します (E)。 標準名は ("prompt" |"completion" |"context" |"ground_truth") ですが、データ資産に応じて構成できます。

  • (省略可能)サンプリング レート (F) を設定します。

  • 構成すると、シグナルに警告は表示されなくなります。 警告を表示しない監視シグナルの構成を示すスクリーンショット。

通知の構成

特に操作は必要ありません。 必要に応じて、追加の受信者を構成できます。 監視通知の構成を示すスクリーンショット。

監視シグナルの構成を確認する

正常に構成されると、モニターは次のように表示されます。構成された監視シグナルを示すスクリーンショット。

監視状態を確認する

正常に構成されると、監視パイプライン ジョブは、次のように表示されます。正常に構成された監視シグナルを示すスクリーンショット。

結果を使用する

モニターの概要ページ

モニターの概要には、シグナルのパフォーマンスの概要が表示されます。 詳細については、シグナルの詳細ページで確認できます。 モニターの概要を示すスクリーンショット。

シグナルの詳細ページ

シグナルの詳細ページでは、時間の経過に伴うメトリック (A) と、分布のヒストグラム (B) を表示できます。

シグナルの詳細ページを示すスクリーンショット。

アラートの解決

信号のしきい値のみを調整できます。 許容されるスコアは 3/5 に固定されており、調整できるのは、[許容される全体の合格率 (%)] フィールドのみです。 シグナルのしきい値の調整を示すスクリーンショット。

次のステップ