🪄

Amazon BedrockのLLM as a Judgeを使って回答の精度を上げる

2025/03/11に公開

はじめに

システムゼウスの吉田です。
今回は LLM の自動評価をしたい方向けに、Amazon Bedrock の LLM as a Judge によるモデル評価(プレビュー)を簡単に体験してみます。

モデル評価ジョブの作成

前提条件

Anthropic Claude 3.5 Sonnet v1 のモデルアクセスをリクエスト済みであること。モデルアクセスのリクエスト手順は以下を参考にしてください。

手順

  1. 評価用データセットと評価結果を保存するための S3 バケットを作成
    設定値はデフォルトのままで OK です。私はバケット名をevaluation-job-datasetにしています。

  2. 作成した S3 バケットにinput, outputフォルダを作成し、以下の JSON Lines ファイルをinputフォルダに保存。フォーマットは公式ドキュメントを参考にしています。

    {"prompt": "日本の首都は", "referenceResponse": "東京", "category": "Capital"}
    {"prompt": "日本料理と言えば", "referenceResponse": "寿司", "category": "Food"}
    {"prompt": "アメリカの首都は", "referenceResponse": "ワシントンD.C.", "category": "Capital"}
    

    ここまでの手順で S3 バケットの中身が以下のようになったことを確認してください。

    S3バケットにinput, outputフォルダを作成し、inputフォルダの中に.jsonlファイルを入れます。

  3. S3 バケットのアクセス許可から CORS 設定を追加
    CORS 設定は公式ドキュメントを参考にしています。

    [
      {
        "AllowedHeaders": ["*"],
        "AllowedMethods": ["GET", "PUT", "POST", "DELETE"],
        "AllowedOrigins": ["*"],
        "ExposeHeaders": ["Access-Control-Allow-Origin"]
      }
    ]
    

    CORS の説明は以下を参考にしてください:

    以下の画像のようになっていれば OK です。
    S3バケットのCORSの設定です。

  4. Amazon Bedrock の Evaluations を開き、Create ボタンから Model as a judge を選択
    Bedrockの評価ジョブ作成手順です。

  5. 評価名に任意の評価名を入力し、"モデルを選択"から、Anthropic の Claude 3.5 Sonnet v1 を選択
    モデル評価の詳細の設定方法です。

  6. 下にスクロールして、前手順と同様に、Generator model の"モデルを選択"から Anthropic の Claude 3.5 Sonnet v1 を選択
    Generator modelの設定方法です。

  7. 下にスクロールして、メトリクスをすべて選択

    メトリクスはすべて選択します。

  8. データセットや IAM ロールを設定し、"作成"ボタンを押下

    • プロンプトデータセットの S3URI は input フォルダに入れた.jsonlファイルを指定
    • 評価結果の S3URI は output フォルダを指定
    • IAM ロールは Create and use a new service role を選択
      データセットやIAMロールの設定方法です。
  9. モデル評価ジョブに今作成したジョブが追加されたことを確認
    ステータスが完了済みになると、評価結果を確認できます。(※ステータスが完了済みになるまで約 30 分ほどかかります。)
    作成直後のジョブのステータスは進行中ですが、評価が完了するとステータスは完了に変わります。

評価結果の確認方法

ステータスが完了済みになると、以下のような評価の概要を閲覧できます。
評価結果の概要

下にスクロールすると、各メトリクスの評価結果を確認できます。Prompt details を開き Score を押下すると、LLM がその Score にした理由を閲覧できます。
評価結果の詳細

まとめ

LLM as a Judge のモデル評価ジョブをうまく使えば精度確認のサイクルが早くなり、精度向上の効率が上がりそうだなと感じました。いつか Bedrock の LLM as a Judge 以外でもモデルの自動評価を試してみたいです。

株式会社システムゼウス

Discussion