評估託管在 SageMaker 推論上的模型 - Amazon Nova

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

評估託管在 SageMaker 推論上的模型

本指南說明如何使用 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:安裝 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:

  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 格式