Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Valuta i modelli ospitati su SageMaker Inference
Questa guida spiega come valutare i tuoi modelli Amazon Nova personalizzati distribuiti su endpoint di SageMaker inferenza utilizzando Inspect AI
Panoramica di
Puoi valutare i tuoi modelli Amazon Nova personalizzati distribuiti sugli SageMaker endpoint utilizzando benchmark standardizzati della comunità di ricerca sull'intelligenza artificiale. Questo approccio ti consente di:
-
Valuta modelli Amazon Nova personalizzati (ottimizzati, distillati o adattati in altro modo) su larga scala
-
Esegui valutazioni con inferenza parallela su più istanze di endpoint
-
Confronta le prestazioni dei modelli utilizzando benchmark come MMLU, TruthfulQA e HumanEval
-
SageMaker Effettua l'integrazione con la tua infrastruttura esistente
Modelli supportati
Il provider di SageMaker inferenza funziona con:
-
Modelli Amazon Nova (Nova Micro, Nova Lite, Nova Lite 2)
-
Modelli distribuiti tramite server di inferenza compatibili con VLLM o OpenAI
-
Qualsiasi endpoint che supporti il formato API OpenAI Chat Completions
Prerequisiti
Prima di iniziare, assicurati di disporre dei seguenti elementi:
-
E Account AWS con le autorizzazioni per creare e richiamare endpoint SageMaker
-
AWS credenziali configurate tramite variabili di ambiente AWS CLI o ruolo IAM
-
Python 3.9 o versioni successive
Autorizzazioni IAM richieste
Il tuo utente o ruolo IAM necessita delle seguenti autorizzazioni:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:InvokeEndpoint", "sagemaker:DescribeEndpoint" ], "Resource": "arn:aws:sagemaker:*:*:endpoint/*" } ] }
Fase 1: Implementazione di un endpoint SageMaker
Prima di eseguire le valutazioni, è necessario un endpoint di SageMaker inferenza che esegua il modello.
Per istruzioni sulla creazione di un endpoint di SageMaker inferenza con i modelli Amazon Nova, consulta. Nozioni di base
Una volta che l'endpoint è in InService stato, annota il nome dell'endpoint da utilizzare nei comandi di valutazione.
Fase 2: Installare le dipendenze di valutazione
Crea un ambiente virtuale Python e installa i pacchetti richiesti.
# 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
Fase 3: Configurare le credenziali AWS
Scegli uno dei seguenti metodi di autenticazione:
Opzione 1: AWS CLI (consigliata)
aws configure
Inserisci AWS l'ID della chiave di accesso, la chiave di accesso segreta e la regione predefinita quando richiesto.
Opzione 2: variabili di ambiente
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_DEFAULT_REGION=us-west-2
Opzione 3: ruolo IAM
Se è in esecuzione su Amazon EC2 o SageMaker notebook, il ruolo IAM dell'istanza viene utilizzato automaticamente.
Verifica le credenziali
import boto3 sts = boto3.client('sts') identity = sts.get_caller_identity() print(f"Account: {identity['Account']}") print(f"User/Role: {identity['Arn']}")
Fase 4: Installare il provider SageMaker
Il SageMaker provider consente a Inspect AI di comunicare con gli SageMaker endpoint. Il processo di installazione del provider è semplificato nel notebook quickstart.
Fase 5: Scarica i benchmark di valutazione
Clona il repository Inspect Evals per accedere ai benchmark standard:
git clone https://github.com/UKGovernmentBEIS/inspect_evals.git
Questo repository include benchmark come:
-
MMLU e MMLU-Pro (conoscenza e ragionamento)
-
TruthfulQA (veridicità)
-
HumanEval (generazione di codice)
-
GSM8K (ragionamento matematico)
Fase 6: Eseguire le valutazioni
Esegui una valutazione utilizzando il tuo SageMaker endpoint:
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
Parametri chiave
| Parametro | Predefinita | Description |
|---|---|---|
--max-connections |
10 | Numero di richieste parallele all'endpoint. Scala in base al numero di istanze (ad esempio, 10 istanze × 25 = 250). |
--max-retries |
3 | Riprova per richieste non riuscite. Usa 50-100 per valutazioni di grandi dimensioni. |
-M region_name |
us-east-1 | AWS regione in cui è distribuito l'endpoint. |
-M read_timeout |
600 | Timeout della richiesta in secondi. |
-M connect_timeout |
60 | Timeout della connessione in secondi. |
Consigli di ottimizzazione
Per un endpoint a più istanze:
# 10-instance endpoint example --max-connections 250 # ~25 connections per instance --max-retries 100 # Handle transient errors
Un'impostazione --max-connections troppo alta potrebbe sovraccaricare l'endpoint e causare un rallentamento. Impostarlo su un valore troppo basso comporta un sottoutilizzo della capacità.
Fase 7: Visualizza i risultati
Avvia il visualizzatore Inspect AI per analizzare i risultati della valutazione:
inspect view
Il visualizzatore mostra:
-
Punteggi e metriche complessivi
-
Risultati per campione con risposte del modello
-
Analisi degli errori e modelli di guasto
Gestione degli endpoint
Aggiornare un endpoint
Per aggiornare un endpoint esistente con un nuovo modello o configurazione:
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 )
Eliminare un endpoint
sagemaker.delete_endpoint(EndpointName=ENDPOINT_NAME)
Introduzione di benchmark personalizzati
Puoi aggiungere nuovi benchmark a Inspect AI utilizzando il seguente flusso di lavoro:
-
Studia il formato del set di dati e le metriche di valutazione del benchmark
-
Rivedi implementazioni simili in
inspect_evals/ -
Crea un file di attività che converta i record del set di dati in esempi di Inspect AI
-
Implementa risolutori e punteggi appropriati
-
Esegui la convalida con una piccola esecuzione di test
Esempio di struttura delle attività:
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() )
Risoluzione dei problemi
Problemi comuni
Limitazione o timeout degli endpoint
-
Ridurre
--max-connections -
Aumentare
--max-retries -
Controlla le CloudWatch metriche degli endpoint per problemi di capacità
Errori di autenticazione
-
Verifica che AWS le credenziali siano configurate correttamente
-
Verifica che le autorizzazioni IAM includano
sagemaker:InvokeEndpoint
Errori del modello
-
Verifica che l'endpoint sia in
InServicestato -
Verifica che il modello supporti il formato API OpenAI Chat Completions