Amazon Bedrock ガードレールに自動推論チェックを追加して精度を向上させる - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Bedrock ガードレールに自動推論チェックを追加して精度を向上させる

Amazon Bedrock ガードレールの自動推論チェックでは、定義されたポリシーに照らして自然言語の内容を数学的に検証し、ガードレールに厳密に準拠します。これらのチェックは、ユーザーに到達する前に、有害または非準拠のコンテンツを体系的にブロックするのに役立ちます。パターンマッチングアプローチとは異なり、Automated Reasoning は、特に複雑なポリシー要件に対して、誤検出を減らしてより高い精度を提供します。精度を優先する顧客の場合、ポリシールールをカスタマイズして、明確なロジックステートメントを通じてガードレールの有効性を高めることができます。

大規模言語モデル (LLMs) の主な課題は、レスポンスの精度を確保することです。検証しないと、LLMs信頼を損なう幻覚や不正確な情報を生成することがあります。

Amazon Bedrock ガードレールの自動推論チェックは、数学的手法を使用して次の問題を解決します。

  • LLM レスポンスのハルシネーションを検出する

  • 記述されていない仮定を強調する

  • 正確なステートメントが正しい理由を説明する

この機能は、以下における LLM のレスポンスの事実に基づく根拠を示す必要がある場合に特に役立ちます。

  • 医療や人事などの規制対象業界

  • 複雑なルールを持つアプリケーション (住宅ローンの承認、ゾーン法)

  • 監査可能な AI 対応を必要とするコンプライアンスシナリオ

Amazon Bedrock ガードレールの自動推論チェックは、プロンプトインジェクション攻撃から保護しません。これらのチェックでは、送信した内容を正確に検証します。悪意のあるコンテンツや操作されたコンテンツを入力として指定した場合、検証はそのコンテンツに対してそのまま実行されます (ガベージイン、ガベージアウト)。プロンプトインジェクション攻撃を検出してブロックするには、コンテンツフィルターを自動推論チェックと組み合わせて使用します。

Automated Reasoning は、Automated Reasoning ポリシーに関連するテキストのみを分析および検出します。残りのコンテンツは無視され、回答がトピック外であるかどうかをデベロッパーに伝えることはできません。トピック外のレスポンスを検出する必要がある場合は、トピックポリシーなどの他のガードレールコンポーネントを使用します。

注記

Amazon Bedrock ガードレールの自動推論チェックは、米国 (バージニア北部、オレゴン、オハイオ) および欧州 (フランクフルト、パリ、アイルランド) リージョンで一般利用可能です。

注記

Amazon Bedrock ガードレールの自動推論チェックは、コンテンツフィルターやトピックポリシーなどの他の Amazon Bedrock ガードレール機能を補完します。詳細については、「ガードレールコンポーネント」を参照してください。

CloudFormation は現在サポートされていません。CloudFormation のサポートは間もなく開始されます。

Amazon Bedrock ガードレールの自動推論チェックは現在、英語 (米国) のみをサポートしています。

Amazon Bedrock ガードレールの自動推論チェックはAPIs をサポートしていません。

制約事項と考慮事項

自動推論チェックを実装する前に、以下の重要な制限事項に注意してください。

  • ドキュメントの複雑さ: ソースドキュメントは明確であいまいなルールで適切に構造化する必要があります。ネストされた条件または矛盾するステートメントを持つ非常に複雑なドキュメントは、正式なロジックにクリーンに抽出されない場合があります。

  • 処理時間: 自動推論検証は、アプリケーションレスポンスにレイテンシーを追加します。追加の処理時間、特に多くのルールを持つ複雑なポリシーについて計画します。

  • ポリシーの範囲: 各ポリシーは、1 つのポリシーで複数の関連しない領域をカバーするのではなく、特定のドメイン (人事、財務、法務など) に焦点を当てる必要があります。

  • 変数制限: 変数の数が多すぎたり、ルールのインタラクションが複雑すぎるポリシーは、処理制限に達したり、TOO_COMPLEX の結果が返されたりする可能性があります。

  • 自然言語の依存関係: 検証の精度は、ユーザープロンプトとモデルレスポンスの自然言語をポリシーの正式なロジック変数に変換できるかどうかに大きく依存します。

ベストプラクティス

自動推論ポリシーの効果を最大化するには、次のベストプラクティスに従います。

  • シンプルに始める: コアルールをカバーする集中ポリシーから始めて、徐々に複雑さを追加します。各段階で徹底的にテストします。

  • 包括的な変数の説明を記述する: ソースドキュメントの技術的な定義だけでなく、ユーザーが概念を自然に参照する方法を含めます。

  • エッジケースのテスト: ユーザーが遭遇する可能性のある境界条件、例外、異常なシナリオを特にターゲットとするテストを作成します。

  • 信頼度しきい値のモニタリング: より高い信頼度しきい値 (0.8~0.9) から開始し、偽陽性と偽陰性の許容値に基づいて調整します。

  • 定期的なポリシーメンテナンス: ビジネスルールの変更時、またはテストと本番使用によるギャップの特定時に、ポリシーを確認して更新します。

  • 注釈を文書化する: ポリシーの変更とその背後にある理由を追跡して、今後の参照やチームの知識共有に役立てます。

料金

Amazon Bedrock ガードレールの自動推論チェックは、処理された検証リクエストの数に基づいて課金されます。現在の料金情報については、Amazon Bedrock の料金ページを参照してください。

結果 (VALID、INVALID、TRANSLATION_AMBIGUOUS など) に関係なく、検証リクエストごとに料金が発生します。コストを最適化するには:

  • 適切な信頼度しきい値を使用して、精度と処理要件のバランスをとる

  • ユースケースに適した場合は、同一または類似のクエリの検証結果をキャッシュすることを検討してください。

  • 使用パターンをモニタリングし、ポリシーを調整して不要な検証リクエストを減らす

ポリシーオペレーションのクロスリージョン推論

Automated Reasoning は、クロスリージョン推論を活用して、ポリシーの作成およびテストオペレーションのパフォーマンスと可用性を最適化します。特定の API オペレーションは、信頼性の高いサービス提供を確保するために、地理的境界内の AWS リージョン全体に処理を自動的に分散します。

次の自動推論 API オペレーションでは、クロスリージョン推論を使用します。

  • StartAutomatedReasoningPolicyBuildWorkflow - ポリシーの作成時およびソースドキュメントからのコンパイル時に呼び出されます

  • StartAutomatedReasoningPolicyTestWorkflow - ポリシーの検証およびテスト手順中に呼び出されます

これらのオペレーションは、大規模言語モデルを呼び出して、ソースドキュメントから正式なロジックルールを抽出し、自然言語コンストラクトを構造化された論理表現に変換します。最適なパフォーマンスと可用性を確保するために、リクエスト処理は次の地理的ルーティングに従って分散されます。

  • 米国リージョン: 米国東部 (バージニア北部)、米国西部 (オレゴン)、または米国東部 (オハイオ) を起点とする API リクエストは、サポートされている任意の米国リージョンで処理できます。

  • 欧州連合リージョン: EU (フランクフルト)、EU (パリ)、または EU (アイルランド) を起点とする API リクエストは、サポートされている任意の EU リージョンで処理できます。

重要

顧客データは発信元の地理的境界 (米国または欧州連合) 内にとどまり、AWS データレジデンシーのコミットメントに従って処理されます。クロスリージョン推論は、パフォーマンスとサービスの可用性を最適化するために、同じ地理的リージョン内でのみリクエストをルーティングします。

クロスリージョン推論は、顧客設定を必要とせずに透過的に動作します。API 機能は、リクエストを処理する特定のリージョンに関係なく一貫しています。

Amazon Bedrock ガードレールで自動推論チェックを使用するには、次の手順に従います。

  1. 適用するルールを含むソースドキュメントをアップロードする

  2. 自動的に識別された概念とルールを使用して抽出されたポリシーを確認する

  3. ポリシーをテストして絞り込み、正しく動作することを確認する

  4. ポリシーをデプロイして基盤モデルのレスポンスを検証する

ワークフローは次のように視覚化できます。

Source Document → Extracted Policy → Testing → Deployment → Runtime Validation (rules) (formal logic) (verify) (activate) (check responses)

ポリシー

自動推論ポリシーは、ソースドキュメントから自動的に抽出されるロジックルールと変数を含む、精度検証の基盤です。これらのポリシーはビジネスルールの数学的表現として機能し、システムが基盤モデルのレスポンスが定義された制約に準拠しているかどうかを体系的に検証できるようにします。アプリケーションで自動推論チェックを実行するには、特定のドメインと検証要件に一致するポリシーを使用するようにガードレールを設定します。

ルール

ルールは、Automated Reasoning がソースドキュメントから抽出するロジックです。これらは if-then ステートメントとして記述される場合があります。ルール形式の例をいくつか示します。

if <premise>, then <claim>

<premise> is true

注記

重要: if-then 形式でないルールは、世界に関するアキシオムをレイアウトすることで、意図しない結果をもたらす可能性があります。たとえば、ルールが単に と記述している場合accountBalance > 5、検証の内容に関係なく、アカウント残高が 5 以下になることは不可能になります。ルールにより、その条件が存在することが論理的に不可能になりました。これにより、ルールによって確立されたアキシオムと矛盾するため、コンテンツが誤って非準拠としてフラグ付けされるという予期しない検証結果が発生する可能性があります。これを回避するには、絶対制約ではなく関係を記述する条件ステートメント (if-then 形式) としてルールを構築します。

[変数]

変数は、自然言語を正式なロジックに変換するときに値を割り当てることができる自動推論ポリシーの概念を表します。ポリシールールは、これらの変数の有効または無効な値に対する制約を定義します。

変数には、名前、タイプ、説明があります。たとえば、従業員のメリットに関するポリシーには、「employee_age」という名前、「integer」というタイプ、「従業員の年数」という説明の変数がある場合があります。この変数には、アプリケーションへのプロンプトの自然言語に基づいて 25 のような値を割り当てることができます。

たとえば、HR ポリシーの is_full_time変数には、ソースドキュメントからの直接引用符である「週に 20 時間以上勤務する従業員」という説明が含まれている場合があります。チャットボットを使用する場合、ユーザーは「私はフルタイムです」と言う可能性が高く、「週に 20 時間以上働いています」と言う可能性は高くなります。

自然言語から形式ロジックへの翻訳の精度は、可変記述の品質に大きく依存します。翻訳が完了すると推論プロセスが聞こえますが、明確で包括的な変数の説明により、ユーザープロンプトが正しく解釈されます。変数の完全な説明がないと、入力自然言語を正式なロジック表現に変換できないNO_DATAため、自動推論が戻る可能性があります。

このようなシナリオを考慮するには、変数の説明が重要です。包括的な変数の説明には、「週に 20 時間以上勤務する従業員はフルタイムです。ユーザーはフルタイムでこの値を true に設定するか、パートタイムで false に設定すると言います。」

事前定義された変数タイプ

次の表に、ポリシーで使用できる事前定義された変数のタイプを示します。

タイプ 説明

ブール

ブール変数は true または false にすることができます。たとえば、休暇ポリシーでは、 bool変数を使用して休暇を許可するかどうかを識別します。

int

数値int変数は正または負の整数を格納できます。たとえば、休暇ポリシーでは、小数日数が許可されていない場合、 int変数を使用して蓄積された休暇日数を保存します。

real

数値real変数は、10 進精度を必要とする正または負の数値を保存できます。たとえば、休暇ポリシーでは、 real変数を使用して、未使用の休暇日数のドル支払い額を保存します。

enum

列挙変数は、固定オプションのセットから選択された単一の値を保存できます。たとえば、休暇ポリシーでは、列挙変数を使用して休暇タイプを保存できます。(1) 有料休暇、(2) 個人時間、(3) 休暇

事前定義された変数タイプ以外の追加のコンテキストを提供するカスタムのユーザー定義列挙型を作成することもできます。これらのカスタムタイプを使用すると、ポリシードメインに関連する特定の値のセットを定義できます。