本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
評估託管在 SageMaker 推論上的模型
本指南說明如何使用 Inspect AI
注意
如需實作演練,請參閱 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:安裝 SageMaker 提供者
SageMaker 提供者可讓 Inspect AI 與您的 SageMaker 端點通訊。在快速入門筆記本
步驟 5:下載評估基準
複製檢查 Evals 儲存庫以存取標準基準:
git clone https://github.com/UKGovernmentBEIS/inspect_evals.git
此儲存庫包含基準,例如:
-
MMLU 和 MMLU-Pro (知識和推理)
-
TruthfulQA (真實性)
-
HumanEval (程式碼產生)
-
GSM8K (數學推理)
步驟 6:執行評估
使用您的 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
金鑰參數
| 參數 | 預設 | Description |
|---|---|---|
--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過高可能會壓倒端點並導致限流。設定太低,未充分利用容量。
步驟 7:檢視結果
啟動檢查 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:
-
研究基準的資料集格式和評估指標
-
在 中檢閱類似的實作
inspect_evals/ -
建立任務檔案,將資料集記錄轉換為檢查 AI 範例
-
實作適當的求解器和評分器
-
使用小型測試執行進行驗證
範例任務結構:
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 格式