Instana における AI の評価
ご自身で定義した基準に基づいて評価を実行し、生成AI(Gen AI)アプリケーションの品質を測定してください。
生成AI (gen AI) の評価は、AIシステムの品質を測定する手段となります。 事実の正確性や関連性など、ユーザーが定義した基準に基づき、大規模言語モデル (LLM) が自動審査として機能し、AIの出力にスコアを付けます。 これらのスコアは、問題を特定し、時間の経過に伴う改善を追跡し、AIシステムが効果的に機能していることを確認するのに役立ちます。
Instana のAI評価機能は、生成AIアプリケーションの品質を大規模に評価・監視するためのフレームワークを提供します。 あらかじめ用意された評価機能、カスタム評価基準、フィルタによるトレース選択、サンプリング制御、およびドリルダウン機能を組み合わせることで、以下のことが可能になります:
- 品質監視の自動化:フィルタ条件を一度定義すれば、新しいトレースが到着するたびに継続的に評価が行われます。
- 評価コストの抑制:サンプリングを活用し、統計的な信頼性とLLMによる評価にかかる費用のバランスをとる。
- 一貫した品質を確保する:サービス、モデル、期間をまたいで、LLMの出力を監視する。
- 根本原因を特定する:集計スコアから個々のトレースへと掘り下げ、出力を評価する。
- データに基づいた意思決定を行う:詳細な評価結果を活用して、プロンプト、モデル、設定を最適化します。
AIの評価を始めるには:
- AIゲートウェイで、Gen AI評価機能用のゲートウェイを構成して有効にします。
- 評価者を作成して、指標を選択し、それらを評価するための基準を指定します。 次に、評価対象とするトレースと、使用する評価者を指定した評価定義を作成します。
- スコアをレビューし、評価定義に調整が必要かどうかを検討します。 スコアは、事前に定義された基準に基づいてモデルの出力を評価するAIモデルによって生成されるものであり、あくまで参考値です。
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 一般的な品質指標に関する評価指標のテンプレート例を提供しています。 これらのテンプレートはあくまで参考用です。本番環境で使用する前に、ご自身の具体的な要件に合わせて基準を定義するよう修正してください:
- 正確性:出力が、定義された正しさの基準を満たしているかどうかを評価します。
- 関連性:出力が、入力クエリに対する関連性について、定義された基準を満たしているかどうかを測定します。
- 完全性:出力が、クエリを完全に処理するための定義済みの基準を満たしているかどうかを測定します。
- 一貫性:出力が、論理的な整合性について定義された基準を満たしているかどうかを評価します。
- 明瞭性:出力が、明瞭性や理解しやすさに関して定義された基準を満たしているかどうかを評価します。
特定のニーズに合わせて、独自の評価基準や合格点の設定を備えた、完全にカスタマイズされた評価ツールを作成することができます。
手順
- Instana のUIで、 [ GenAI の可観測性] を選択します。
- [評価] タブをクリックしてください。
- 「 評価者 」タブをクリックして、評価者を表示または作成します。
- 評価指標のテンプレートを使用するには、リストから該当するテンプレートを選択し、要件に合わせて基準を修正してください。
- カスタム評価器を作成するには:
- 「評価者を作成 」をクリックします。
- 「名前 」フィールドに値を入力してください。
- 「 評価基準 」フィールドで、評価の基準を定義してください。 基準例はあくまで例示目的のものです。 独自の基準を定める責任は、お客様のみにあります。
- 「合格点閾値」 フィールドで、点数の閾値を設定します。 合格点は、指定されたしきい値以上である必要があります。 スコアは、あらかじめ定義した基準に照らしてモデルの出力を評価するAIモデルによって生成されます。 スコアはあくまでおおよその目安であり、参考情報としてのみ使用してください。
- 評価者を保存してください。
結果
評価定義を作成する際、評価担当者の選択が可能になりました。
評価定義の作成
評価対象となるトレースの範囲、適用する評価基準、および名前や説明などの評価の詳細を指定する評価定義を作成します。
フィルタに基づくトレース選択について
評価の定義では、フィルタ条件を使用してトレースのコホートを動的に選択します。 評価の実行時に、システムが自動的に一致するトレースを選択するため、以下のことが可能になります:
- 継続的な監視:一度定義すれば、新しいトレースが到着するたびに繰り返し評価を行う。
- コホート分析:特定のユーザーセグメントやモデル構成を評価する。
準備
少なくとも1人の評価者を登録していることを確認してください。 「評価器の作成」 を参照してください。
手順
- [評価] タブをクリックしてください。
- [評価定義の作成] をクリックします。
- 「 スコープの定義」 ステップで、評価したいトレースをフィルタリングします:
- サービス :サービス名で絞り込みます。
- モデル :使用されているLLMモデルで絞り込む。
- 時間範囲 :トレースを選択するための時間範囲を指定します(例:過去1時間、過去24時間、カスタム範囲)。
必要に応じて、評価するトレースの数を制限するために、サンプル率を設定してください。 サンプリングは、フィルタリングされたトレースセット全体に対してランダムに行われ、評価コストを抑えつつ、代表性のあるカバレッジを確保します。
- 「 評価者を選択 」のステップで、リストから1人以上の評価者を選択してください。 各評価器は、サンプリングされたトレースに対して独立して実行されます。
- 「 詳細の定義」 ステップで、「 名前」 フィールドに値を入力し、必要に応じて「 説明 」フィールドにも値を入力します。
- 評価定義を保存します。
結果
評価の定義が保存され、実行可能な状態になりました。 実行のたびに、フィルタ条件に一致するトレースが自動的に選択され、設定されたサンプリングが適用されます。
評価の実行と結果の確認
保存済みの評価定義を実行し、「 評価」 タブを使用して、実行状況を監視したり、スコアを確認したり、個々のトレース結果の詳細を確認したりします。
準備
評価定義が作成されていることを確認してください。 「評価定義の作成」 を参照してください。
手順
- [評価] タブをクリックしてください。
- 実行したい評価定義を探してください。
- [アクション] 列にある [実行] ボタンをクリックします。 評価プロセスが開始され、バックグラウンドで実行されます。
- 「 評価 」タブで、実行結果を直接確認してください。
結果
[評価 ] タブには、完了した実行および進行中の実行ごとの概要が表示されます。 実行に参加する各評価者について、以下の詳細情報が確認できます:
- 評価者 :評価者の氏名。
- スコア(平均) :評価対象となったすべてのトレースの平均スコア。
- 合格基準 :評価に合格するために必要な最低得点。例えば、
≥ 0.50. といった値で示される。 - 合格率 :閾値を満たしたトレースの割合。
- 所要時間 :この評価者が要した時間。
- 評価されたトレース数 :サンプル全体のうち、評価されたトレースの数。
結果を詳細に分析する
個々のトレースの結果を確認するには、評価者の行のいずれかをクリックしてください。評価対象となったサンプリングされたトレースの一覧に加え、個々のトレースのスコア、合否状況、およびAI審査員による判定理由が表示されます。
ドリルダウンを行うと、以下のことが可能になります:
- 根本原因分析:特定のトレースが失敗した理由を特定する。
- パターン検出:失敗したトレースに共通する問題を見つける。
- 品質向上:審査員からのフィードバックを活用して、プロンプトやモデルを改良する。
- 検証:評価機能が意図したとおりに動作していることを確認する。
ベスト・プラクティス
これらのガイドラインに従って、効果的な評価を設計し、コストを管理し、高品質な汎用AIアプリケーションを維持してください。
評価指標のテンプレート例から始めましょう
標準的な評価指標(正確性、関連性、完全性、一貫性、明瞭性)は、あくまで参考例としてサンプルテンプレートとして提供されています。 本番環境で使用する前に、ご自身の具体的な要件に合わせて修正してください。 要件に合わせたカスタム評価器を作成する前に、これらを評価フレームワークを理解するための出発点として活用してください。
効果的なフィルタ条件を設計する
- まずは広範囲から始め、徐々に絞り込んでいく:サービスレベルのフィルタから始め、その後、モデルや時間の制約を追加する。
- 意味のあるコホートを使用する:実際のユーザーセグメントや導入シナリオを反映したフィルタを定義します。
- フィルタを戦略的に組み合わせる:複数のフィルタ条件を使用して、特定のシナリオを絞り込みます(例:「本番サービス、 gpt-4 モデル、過去24時間」)。
コストと信頼度を考慮したサンプリングの最適化
- 処理量が多いシナリオ:1日あたり数千件のトレースを生成するサービスについては、10~25%のサンプリング率を使用してください。
- 中程度のトレース量の場合:トレース量が中程度の場合は、50%のサンプリングを使用してください。
- 処理量が少ない場合や重要なシナリオ:トレース数が少ない場合や、品質がミッションクリティカルな場合は、100%サンプリングを使用してください。
- 監視と調整:評価コストを見直し、予算や信頼性の要件に基づいてサンプリング率を調整する。
- 統計的妥当性:有意義な結果が得られるよう、標本サイズが十分に大きいことを確認する。
適切な閾値を設定する
- まずは適度な閾値(例: 0.5 )から始め、結果に応じて調整してください。
- ユースケースによって、必要な閾値が異なる場合があります。
- 合格率を監視し、品質基準に合わせて合格基準を調整してください。
評価者を統合し、包括的な評価を行う
1回の評価に対して複数の評価者を選択し、異なる品質の側面を同時に評価することができます。 各評価プログラムは独立して実行され、それぞれ独自のスコアと合否判定を算出します。 例:
- 事実系Q&Aシステムの正確性と完全性
- カスタマーサポート用チャットボットにおける関連性と明瞭さ
- 重要な本番システム向けの5つの評価指標テンプレート(お客様の基準に合わせて修正済み)
ドリルダウン機能を利用する
- 障害の調査:合格率が低下した場合は、個々のトレースを詳細に分析し、根本原因を特定する。
- 評価者の検証:評価結果を確認し、評価者が想定どおりに機能していることを確認する。
- プロンプトの反復改善:評価フィードバックを活用して、LLMのプロンプトを洗練させ、品質を向上させましょう。
継続的な監視を有効にする
- 再利用可能な評価の定義:新しいトレースを自動的に取得するフィルタを含む評価定義を作成します。
- 定期的な実行をスケジュールする:品質の経時的な推移を把握するために、定期的に評価を実行する。
カスタム評価者向けガイドライン
カスタム評価器を作成する際は:
- 明確かつ具体的な評価基準を策定してください。
- 評価者の説明にあるプレースホルダーのテキストに従ってください。
- 本番運用前に、サンプルデータを使用してテストを行ってください。
- 目的と期待される動作を文書化してください。
AI評価のトラブルシューティング
AI評価の実行、トレースの選択、およびドリルダウンナビゲーションに関する一般的な問題を診断し、解決します。
評価実行が開始されない
- AIゲートウェイの設定を確認してください: watsonx の認証情報が有効であり、ゲートウェイが有効になっていることを確認してください。
- フィルタ条件の確認:フィルタが適切に設定されており、既存のトレースと一致していることを確認してください。
- 評価者の選択を確認してください:評価を行うには、少なくとも1人の評価者を選択する必要があります。
- 時間範囲の確認:その時間範囲に、フィルタ条件に一致するトレースが含まれていることを確認してください。
フィルタ条件に一致する結果はありません
- フィルタの範囲を広げる:より多くのトレースを捕捉するために、フィルタの制約条件をいくつか解除する。
- サービス名の確認:サービス名が完全に一致していることを確認してください(大文字と小文字を区別します)。
- 時間範囲の確認:より多くのトレースを含めるように時間範囲を広げてください。
合格率が低い
- しきい値の設定を確認してください:使用状況によっては、しきい値が高すぎる可能性があります。
- 障害が発生したトレースを詳細に調査する:個々のトレースをクリックして、障害の原因を把握します。
- 評価結果の検証:AI評価モデルが提示した推論内容を確認します。
- 評価基準の検証:基準が実際の要件と一致していることを確認してください。
- データの品質に問題がないか確認してください:トレースが失敗した場合は、入力プロンプトやモデルの応答に問題がある可能性があります。
評価の実行が遅い
- サンプリング率を下げる:サンプリング率を下げると、評価されるトレースの数が減少します。
- 評価者の数を減らす:評価者の数を減らすことで、評価プロセスを迅速化します。
- 時間枠を狭める:トレースの量を減らすために、より短い期間を評価する。
- フィルタの最適化:より具体的なフィルタを使用して、一致するトレースのセットを絞り込みます。
評価コストが高い
- サンプリング率を下げる:サンプリングレートを下げて、評価するトレースの数を減らします。
- フィルタ条件を絞り込む:より具体的なフィルタを使用して、トレースコホートの規模を縮小します。
- 評価者の数を減らす:1回の評価につき、評価者の数を減らす。
- 時間枠の最適化:より短い期間や、頻度を下げて評価を行う。
結果が表示されない、またはドリルダウンが不完全
- 完了を待つ:評価は非同期で実行されます。詳細を確認する前に、ステータスを確認してください。
- エラーメッセージを確認する:実行ステータスを確認し、エラーがないか確認してください。
- トレースの永続性を確認する:トレースがシステム内に依然として存在していること(有効期限が切れていないこと)を確認する。
- 権限を確認してください:トレースの詳細を表示する権限があることを確認してください。