Valuta i modelli ospitati su SageMaker Inference - Amazon Nova

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, un framework di valutazione open source.

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:

  1. Studia il formato del set di dati e le metriche di valutazione del benchmark

  2. Rivedi implementazioni simili in inspect_evals/

  3. Crea un file di attività che converta i record del set di dati in esempi di Inspect AI

  4. Implementa risolutori e punteggi appropriati

  5. 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 InService stato

  • Verifica che il modello supporti il formato API OpenAI Chat Completions