View a markdown version of this page

使用檢查 AI SDK 進行評估 - Amazon Nova

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用檢查 AI SDK 進行評估

本指南說明如何使用 Inspect AI 開放原始碼評估架構,評估部署在 SageMaker 推論端點上的自訂 Amazon Nova 模型。

注意

如需實作演練,請參閱 SageMaker Inspect AI 範例筆記本

概觀

您可以使用 AI 研究社群的標準化基準來評估部署在 SageMaker 端點上的自訂 Amazon Nova 模型。此方法可讓您:

  • 大規模評估自訂的 Amazon Nova 模型 (微調、分割或以其他方式調整)

  • 跨多個端點執行個體以平行推論執行評估

  • 使用 MMLU、TruthfulQA 和 HumanEval 等基準比較模型效能

  • 與您現有的 SageMaker 基礎設施整合

支援的模型

SageMaker 推論提供者適用於:

  • Amazon Nova 模型 (Nova Micro、Nova Lite、Nova Lite 2)

  • 透過 vLLM 或 OpenAI 相容推論伺服器部署的模型

  • 支援 OpenAI 聊天完成 API 格式的任何端點

先決條件

開始前,請確保您具備以下條件:

  • AWS 帳戶 具有建立和叫用 SageMaker 端點許可的

  • AWS 透過 AWS CLI、環境變數或 IAM 角色設定的登入資料

  • Python 3.9 或更新版本

必要的 IAM 許可

您的 IAM 使用者或角色需要下列許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:InvokeEndpoint", "sagemaker:DescribeEndpoint" ], "Resource": "arn:aws:sagemaker:*:*:endpoint/*" } ] }

步驟 1:部署 SageMaker 端點

在執行評估之前,您需要執行模型的 SageMaker 推論端點。

如需使用 Amazon Nova 模型建立 SageMaker 推論端點的說明,請參閱 開始使用

一旦您的端點處於 InService 狀態,請記下要用於評估命令的端點名稱。

步驟 2:安裝評估相依性

建立 Python 虛擬環境並安裝必要的套件。

# Create virtual environment python3.12 -m venv venv source venv/bin/activate # Install uv for faster package installation pip install uv # Install Inspect AI and evaluation benchmarks uv pip install inspect-ai inspect-evals # Install AWS dependencies uv pip install aioboto3 boto3 botocore openai

步驟 3:設定 AWS 登入資料

選擇下列其中一種身分驗證方法:

選項 1: AWS CLI (建議)

aws configure

出現提示時,輸入您的 AWS 存取金鑰 ID、私密存取金鑰和預設區域。

選項 2:環境變數

export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_DEFAULT_REGION=us-west-2

選項 3:IAM 角色

如果在 Amazon EC2 或 SageMaker 筆記本上執行,會自動使用執行個體的 IAM 角色。

驗證登入資料

import boto3 sts = boto3.client('sts') identity = sts.get_caller_identity() print(f"Account: {identity['Account']}") print(f"User/Role: {identity['Arn']}")

步驟 4:下載評估基準

複製檢查 Evals 儲存庫以存取標準基準:

git clone https://github.com/UKGovernmentBEIS/inspect_evals.git

此儲存庫包含基準,例如:

  • MMLU 和 MMLU-Pro (知識和推理)

  • TruthfulQA (真實性)

  • HumanEval (產生程式碼)

  • GSM8K (數學推理)

步驟 5:執行評估

使用您的 SageMaker 端點執行評估:

cd inspect_evals/src/inspect_evals/ inspect eval mmlu_pro/mmlu_pro.py \ --model sagemaker/my-nova-endpoint \ -M region_name=us-west-2 \ --max-connections 256 \ --max-retries 100 \ --display plain

金鑰參數

參數 預設 說明
--max-connections 10 對端點的平行請求數量。使用執行個體計數擴展 (例如,10 個執行個體 × 25 = 250)。
--max-retries 3 重試失敗請求的嘗試。使用 50-100 進行大型評估。
-M region_name us-east-1 AWS 部署端點的區域。
-M read_timeout 600 請求以秒為單位的逾時。
-M connect_timeout 60 連線逾時,以秒為單位。

調校建議

對於多執行個體端點:

# 10-instance endpoint example --max-connections 250 # ~25 connections per instance --max-retries 100 # Handle transient errors

設定--max-connections過高可能會壓倒端點並導致限流。設定太低,未充分利用容量。

步驟 6:檢視結果

啟動檢查 AI 檢視器以分析評估結果:

inspect view

檢視器會顯示:

  • 整體分數和指標

  • 每個範例結果與模型回應

  • 錯誤分析和失敗模式

管理端點

更新端點

若要使用新模型或組態更新現有端點:

import boto3 sagemaker = boto3.client('sagemaker', region_name=REGION) # Create new model and endpoint configuration # Then update the endpoint sagemaker.update_endpoint( EndpointName=EXISTING_ENDPOINT_NAME, EndpointConfigName=NEW_ENDPOINT_CONFIG_NAME )

刪除端點

sagemaker.delete_endpoint(EndpointName=ENDPOINT_NAME)

加入自訂基準

您可以使用下列工作流程,將新基準新增至檢查 AI:

  1. 研究基準的資料集格式和評估指標

  2. 在 中檢閱類似的實作 inspect_evals/

  3. 建立任務檔案,將資料集記錄轉換為檢查 AI 範例

  4. 實作適當的求解器和評分器

  5. 使用小型測試執行進行驗證

範例任務結構:

from inspect_ai import Task, task from inspect_ai.dataset import hf_dataset from inspect_ai.scorer import choice from inspect_ai.solver import multiple_choice @task def my_benchmark(): return Task( dataset=hf_dataset("dataset_name", split="test"), solver=multiple_choice(), scorer=choice() )

疑難排解

常見問題

端點限流或逾時

  • 減少 --max-connections

  • 增加 --max-retries

  • 檢查端點 CloudWatch 指標是否有容量問題

身分驗證錯誤

  • 確認已正確設定 AWS 登入資料

  • 檢查 IAM 許可包括 sagemaker:InvokeEndpoint

模型錯誤

  • 確認端點處於 InService 狀態

  • 檢查模型是否支援 OpenAI 聊天完成 API 格式