Instana における AI の評価

包括的な評価機能を活用して、LLMの出力の品質を評価・監視します。

Instana のAI評価機能は、生成AIアプリケーションの品質を大規模に評価・監視するための強力なフレームワークを提供します。 あらかじめ用意された評価機能、カスタム評価基準、フィルタによるトレース選択、サンプリング制御、およびドリルダウン機能を組み合わせることで、以下のことが可能になります:

  • 品質監視の自動化:フィルタ条件を一度定義すれば、新しいトレースが到着するたびに継続的に評価が行われます。
  • 評価コストの抑制:サンプリングを活用し、統計的な信頼性とLLMによる評価にかかる費用のバランスをとる。
  • 一貫した品質を確保する:サービス、モデル、期間をまたいで、LLMの出力を監視する。
  • 根本原因を特定する:集計スコアから個々のトレースへと掘り下げ、出力を評価する。
  • データに基づいた意思決定を行う:詳細な評価結果を活用して、プロンプト、モデル、設定を最適化します。

AIゲートウェイを設定し、品質基準に合致する評価機能を作成し、重要なトレースに対する評価を定義し、結果を監視することで、高品質な GenAI アプリケーションを維持することができます。

AI評価とは何ですか?

AI評価とは、LLMモデルによって生成された出力の品質、正確性、信頼性を評価するための体系的なアプローチである。 組織がLLMを活用したアプリケーションの導入を拡大するにつれ、ビジネス要件や品質基準を満たしていることを確認するためには、パフォーマンスの測定と監視が不可欠となっています。

AIの評価には、通常、以下の内容が含まれます:

  • 品質評価:モデル応答の正確性、関連性、および完全性の測定
  • 一貫性チェック:出力の論理的な整合性と明瞭さを確保する
  • パフォーマンスの監視:評価指標を追跡して問題を特定する

Instana がAIの評価をどのように実現するか

Instana の生成AI可観測性プラットフォームは、LLM評価フレームワークを提供します。 できること:

  • カスタム評価基準の定義:特定のユースケースに合わせた評価基準を作成します。
  • 既製の評価ツールを活用する:業界標準の評価指標をそのまま利用できます。
  • 動的なトレースの選択:フィルタに基づく条件を使用して、評価対象のトレース・コホートを自動的に選択します。
  • 結果のモニタリング:合格率・不合格率、得点、および詳細な評価結果を、ドリルダウン機能を活用して追跡します。
  • 生成AIの評価:高度なAIモデルを活用して、LLMの出力を客観的に評価します。

この評価システムは、 Instana のトレース収集機能と連携しています。 実際の生産データを評価したり、フィルターを使用してトレースのコホートを定義したり、サンプリングによって評価コストを管理したり、集計スコアから個々のトレースへとドリルダウンして出力を判断したりすることができます。

前提条件

GenAI の評価機能を利用するには、お使いの環境が以下の前提条件を満たしている必要があります。

権限

評価の設定と実行を行うには、 Gen AI オブザーバビリティ「生成AI(Gen AI)評価の作成、設定、削除、および実行」 を選択します。 このチェックボックスを選択すると、 AccessのジェネレーティブAIの可観測性が自動的に有効になります。

権限に関する詳細については、 「ユーザーアクセスの管理」 を参照してください。

機能フラグ

GenAI の評価機能では、以下の機能フラグが使用されます:

  • feature.genai.analytics.enabled
  • feature.ai.gateway.enabled
  • feature.gen.ai.evaluation.enabled

このフラグ feature.ai.gateway.enabled はデフォルトで有効になっています。 AI評価機能を利用するには、他の機能フラグを有効にする必要があります。

Standard Edition で機能フラグを設定するには、 「 GenAI の評価」 を参照してください。

Custom Edition で機能フラグを設定するには、を参照してください。

AIゲートウェイの設定

GenAI の評価機能を利用するには、 GenAI の評価機能に対応するようにAIゲートウェイを設定する必要があります。 独自の認証情報を使用してゲートウェイを設定したり、使用したいモデルを選択したり、モデルの設定をカスタマイズしたりすることができます。 詳細については、 「AIゲートウェイ」 を参照してください。

評価者の作成

Instana がLLMの出力の質を評価するために使用する評価基準を作成します。 あらかじめ用意されている評価関数を使用することも、独自の評価関数を定義することもできます。

評価者について

Instana 一般的な品質指標向けに、5つの既成の評価ツールを提供しています:

  • 正確性:期待される結果に対して、出力が正しいかどうかを測定する。
  • 関連性:出力が入力クエリに対してどの程度関連性があるかを評価します。
  • 完全性:出力がクエリに完全に応えているかどうかを評価します。
  • 論理的一貫性:回答の論理的な整合性を確認します。
  • 明瞭性:出力がどれほど明確で理解しやすいかを測定する。

特定のニーズに合わせて、独自の基準や採点基準を設定したカスタム評価ツールを作成することができます。

手順

  1. Instana のUIで、 [ GenAI の可観測性] を選択します。
  2. [評価] タブをクリックしてください。
  3. 評価者 」タブをクリックして、評価者を表示または作成します。
  4. あらかじめ用意されている評価ツールを使用するには、リストからそれを選択してください。 その他の構成は必要ありません。
  5. カスタム評価器を作成するには:
    1. カスタム 」オプションを選択してください。
    2. 名前 」フィールドに値を入力してください。
    3. 評価基準 」フィールドで、独自の評価ロジックを定義してください。 提示されたプレースホルダーを参考にし、優れた成果物とはどのようなものかを説明する、明確かつ具体的な基準を記述してください。
    4. [ Threshold ] フィールドで、評価に合格するための最低スコア(0~1)を設定します。 この閾値以上得点した場合は「合格」と判定されます。 以下のスコアは「不合格」と判定されます。
    5. 評価者を保存してください。

結果

評価定義を作成する際、評価担当者の選択が可能になりました。

評価の定義

トレース選択のフィルタ条件、サンプリングレート、および適用する評価子を指定する評価定義を作成します。

フィルタに基づくトレース選択について

評価の定義では、フィルタ条件を使用してトレースのコホートを動的に選択します。 評価の実行時に、システムは一致するトレースを自動的にマテリアライズするため、以下のことが可能になります:

  • 継続的な監視:一度定義すれば、新しいトレースが到着するたびに繰り返し評価を行う。
  • コホート分析:特定のユーザーセグメントやモデル構成を評価する。

準備

少なくとも1人の評価者を登録していることを確認してください。 「評価者の作成」 を参照してください。

手順

  1. [評価の定義] タブをクリックします。
  2. [定義の作成] をクリックします。
  3. 評価対象のトレースを選択するために、フィルタ条件を設定します:
    • サービス :サービス名で絞り込みます。
    • モデル :使用されているLLMモデルで絞り込む。
    • 時間範囲 :トレースを選択するための時間範囲を指定します(例:過去1時間、過去24時間、カスタム範囲)。
  4. [サンプリング率 ] フィールドで、評価対象とする一致トレースの割合を設定します(例:10%、25%、50%、100%)。 サンプリングは、フィルタリングされたトレースセット全体に対してランダムに行われ、評価コストを抑えつつ、代表性のあるカバレッジを確保します。
  5. リストから1人以上の評価者を選択してください。 各評価器は、サンプリングされたトレースに対して独立して実行されます。
  6. 名前 」フィールドに値を入力してください。
  7. 必要に応じて、「 説明 」フィールドに値を入力し、この評価の目的と範囲を説明してください。
  8. 評価定義を保存します。

結果

評価の定義が保存され、実行可能な状態になりました。 実行するたびに、フィルタ条件に一致するトレースが自動的に選択され、設定されたサンプリングが適用されます。

評価の実行と結果の確認

保存済みの評価定義を実行し、「評価の実行」タブを使用して、実行状況を監視したり、集計スコアを確認したり、個々のトレース結果の詳細を確認したりします。

準備

評価定義が作成されていることを確認してください。 「評価の定義」 を参照してください。

手順

  1. [評価の定義] タブをクリックします。
  2. 実行したい評価を見つけてください。
  3. [アクション] 列にある [ 再生] ボタンをクリックします。 評価プロセスが開始され、バックグラウンドで実行されます。
  4. 評価の実行 」タブをクリックして、進行状況を監視し、結果を確認してください。

結果

[ 評価の実行 ] タブには、完了した実行または進行中の実行ごとに、実行レベルの概要が表示されます:

  • 実行開始時刻:評価が開始された時刻。
  • 評価名:評価定義の名前。
  • 評価者:今回の実行で使用された評価者のリスト。
  • フィルタ条件:トレースを選択するために適用されるフィルタ。
  • トレース数:評価されたトレースの総数(サンプリング後)。
  • サンプリング率:評価対象となった一致トレースの割合。
  • 所要時間:評価を完了するまでに要した時間。
  • 実行状況: COMPLETED (すべての評価者が正常に完了)、 IN-PROGRESS (評価者がまだ実行中)、 COMPLETED WITH ERRORS (1つ以上の評価の実行に失敗)、または ERROR (実行に失敗)。

実行に参加する各評価者について、以下の詳細情報が確認できます:

  • 評価者の名前:指標名(評価者の名前と同じ)。
  • スコア:評価対象となったすべてのトレースの平均スコア。
  • 合格基準:評価に合格するための得点。
  • 合格率:閾値を満たしたトレースの割合。
  • 所要時間:この評価者が要した時間。
  • 合格/不合格数:合格したトレースの数と不合格だったトレースの数。
  • PENDINGステータス:、 PASSED、または FAILED

結果を詳細に分析する

個々のトレースの結果を確認するには:

  1. 実行結果画面で、任意の評価者の名前をクリックすると、 評価者の詳細ページが開きます。 このページには、総合スコアと合格率、評価対象となったサンプルトレースの一覧、および個々のトレースのスコアと合否状況(その理由を含む)が表示されます。
  2. 評価ツールの詳細 」ページで、任意のトレースをクリックすると、 「トレースの詳細 」ページが開きます。

ドリルダウンを行うと、以下のことが可能になります:

  • 根本原因分析:特定のトレースが失敗した理由を特定する。
  • パターン検出:失敗したトレースに共通する問題を見つける。
  • 品質向上:審査員からのフィードバックを活用して、プロンプトやモデルを改良する。
  • 検証:評価機能が意図したとおりに動作していることを確認する。

ベスト・プラクティス

これらのガイドラインに従って、効果的な評価を設計し、コストを管理し、高品質な汎用AIアプリケーションを維持してください。

あらかじめ用意された評価関数から始める

カスタム評価基準を作成する前に、まず標準的な評価基準(正確性、関連性、完全性、論理的一貫性、明瞭性)を用いて、ベースラインとなる指標を確立してください。

効果的なフィルタ条件を設計する

  • まずは広範囲から始め、徐々に絞り込んでいく:サービスレベルのフィルタから始め、その後、モデルや時間の制約を追加する。
  • 意味のあるコホートを使用する:実際のユーザーセグメントや導入シナリオを反映したフィルタを定義します。
  • フィルタを戦略的に組み合わせる:複数のフィルタ条件を使用して、特定のシナリオを絞り込みます(例:「本番サービス、 gpt-4 モデル、過去24時間」)。

コストと信頼度を考慮したサンプリングの最適化

  • 処理量が多いシナリオ:1日あたり数千件のトレースを生成するサービスについては、10~25%のサンプリング率を使用してください。
  • 中程度のトレース量の場合:トレース量が中程度の場合は、50%のサンプリングを使用してください。
  • 処理量が少ない場合や重要なシナリオ:トレース数が少ない場合や、品質がミッションクリティカルな場合は、100%サンプリングを使用してください。
  • 監視と調整:評価コストを見直し、予算や信頼性の要件に基づいてサンプリング率を調整する。
  • 統計的妥当性:有意義な結果が得られるよう、標本サイズが十分に大きいことを確認する。

適切な閾値を設定する

  • まずは適度な閾値(例: 0.5 )から始め、結果に応じて調整してください。
  • ユースケースによって、必要な閾値が異なる場合があります。
  • 合格率を監視し、品質基準に合わせて合格基準を調整してください。

評価者を統合し、包括的な評価を行う

1回の評価に対して複数の評価者を選択し、異なる品質の側面を同時に評価することができます。 各評価プログラムは独立して実行され、それぞれ独自のスコアと合否判定を算出します。 例:

  • 事実系Q&Aシステムの正確性と完全性
  • カスタマーサポート用チャットボットにおける関連性と明瞭さ
  • 重要な本番システム向けの5つの既製評価ツールすべて

ドリルダウン機能を利用する

  • 障害の調査:合格率が低下した場合は、個々のトレースを詳細に分析し、根本原因を特定する。
  • 評価者の検証:審査員の出力結果を確認し、評価者が意図したとおりに動作していることを確認する。
  • プロンプトの反復改善:審査員のフィードバックを活用して、LLMのプロンプトを洗練させ、品質を向上させましょう。

継続的な監視を有効にする

  • 再利用可能な評価の定義:新しいトレースを自動的に取得するフィルタを含む評価定義を作成します。
  • 定期的な実行をスケジュールする:品質の経時的な推移を把握するために、定期的に評価を実行する。

カスタム評価者向けガイドライン

カスタム評価器を作成する際は:

  • 明確かつ具体的な評価基準を策定してください。
  • 評価者の説明にあるプレースホルダーのテキストに従ってください。
  • 本番運用前に、サンプルデータを使用してテストを行ってください。
  • 目的と期待される動作を文書化してください。

AI評価のトラブルシューティング

AI評価の実行、トレースの選択、およびドリルダウンナビゲーションに関する一般的な問題を診断し、解決します。

評価実行が開始されない

  • AIゲートウェイの設定を確認してください: watsonx の認証情報が有効であり、ゲートウェイが有効になっていることを確認してください。
  • フィルタ条件の確認:フィルタが適切に設定されており、既存のトレースと一致していることを確認してください。
  • 評価者の選択を確認してください:評価を行うには、少なくとも1人の評価者を選択する必要があります。
  • 時間範囲の確認:その時間範囲に、フィルタ条件に一致するトレースが含まれていることを確認してください。

フィルタ条件に一致する結果はありません

  • フィルタの範囲を広げる:より多くのトレースを捕捉するために、フィルタの制約条件をいくつか解除する。
  • サービス名の確認:サービス名が完全に一致していることを確認してください(大文字と小文字を区別します)。
  • 時間範囲の確認:より多くのトレースを含めるように時間範囲を広げてください。

合格率が低い

  • しきい値の設定を確認してください:使用状況によっては、しきい値が高すぎる可能性があります。
  • 障害が発生したトレースを詳細に調査する:個々のトレースをクリックして、障害の原因を把握します。
  • 審査員の判定結果を確認する:AI審査員が提示した理由を確認する。
  • 評価基準の検証:基準が実際の要件と一致していることを確認してください。
  • データの品質に問題がないか確認してください:トレースが失敗した場合は、入力プロンプトやモデルの応答に問題がある可能性があります。

評価の実行が遅い

  • サンプリング率を下げる:サンプリング率を下げると、評価されるトレースの数が減少します。
  • 評価者の数を減らす:評価者の数を減らすことで、評価プロセスを迅速化します。
  • 時間枠を狭める:トレースの量を減らすために、より短い期間を評価する。
  • フィルタの最適化:より具体的なフィルタを使用して、一致するトレースのセットを絞り込みます。

評価コストが高い

  • サンプリング率を下げる:サンプリングレートを下げて、評価するトレースの数を減らします。
  • フィルタ条件を絞り込む:より具体的なフィルタを使用して、トレースコホートの規模を縮小します。
  • 評価者の数を減らす:1回の評価につき、評価者の数を減らす。
  • 時間枠の最適化:より短い期間や、頻度を下げて評価を行う。

結果が表示されない、またはドリルダウンが不完全

  • 完了を待つ:評価は非同期で実行されます。詳細を確認する前に、ステータスを確認してください。
  • エラーメッセージを確認する:実行ステータスを確認し、エラーがないか確認してください。
  • トレースの永続性を確認する:トレースがシステム内に依然として存在していること(有効期限が切れていないこと)を確認する。
  • 権限を確認してください:トレースの詳細を表示する権限があることを確認してください。