Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Évaluez avec le SDK Inspect AI
Ce guide explique comment évaluer vos modèles Amazon Nova personnalisés déployés sur des points de terminaison d' SageMaker inférence à l'aide d'Inspect AI
Note
Pour des présentations pratiques, consultez les exemples de blocs-notes SageMaker Inspect AI.
Vue d’ensemble
Vous pouvez évaluer vos modèles Amazon Nova personnalisés déployés sur les SageMaker terminaux à l'aide de benchmarks standardisés élaborés par la communauté des chercheurs en IA. Cette approche vous permet de :
-
Évaluez des modèles Amazon Nova personnalisés (affinés, distillés ou adaptés) à grande échelle
-
Exécutez des évaluations par inférence parallèle sur plusieurs instances de terminaux
-
Comparez les performances des modèles à l'aide de benchmarks tels que MMLU, TruthfulQA et HumanEval
-
Intégrez votre SageMaker infrastructure existante
Modèles pris en charge
Le fournisseur SageMaker d'inférence fonctionne avec :
-
Modèles Amazon Nova (Nova Micro, Nova Lite, Nova Lite 2)
-
Modèles déployés via vLLM ou OpenAI-compatible des serveurs d'inférence
-
Tout point de terminaison prenant en charge le format d'API OpenAI Chat Completions
Conditions préalables
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Et Compte AWS avec des autorisations pour créer et invoquer SageMaker des points de terminaison
-
AWS informations d'identification configurées via AWS CLI, variables d'environnement ou rôle IAM
-
Python 3.9 ou supérieur
Autorisations IAM requises
Votre utilisateur ou rôle IAM a besoin des autorisations suivantes :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:InvokeEndpoint", "sagemaker:DescribeEndpoint" ], "Resource": "arn:aws:sagemaker:*:*:endpoint/*" } ] }
Étape 1 : Déploiement d'un SageMaker terminal
Avant d'exécuter des évaluations, vous avez besoin d'un point de terminaison d' SageMaker inférence exécutant votre modèle.
Pour obtenir des instructions sur la création d'un point de terminaison d' SageMaker inférence avec les modèles Amazon Nova, consultezDémarrage.
Une fois que votre terminal est en InService état, notez son nom à utiliser dans les commandes d'évaluation.
Étape 2 : installer les dépendances d'évaluation
Créez un environnement virtuel Python et installez les packages requis.
# 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
Étape 3 : Configuration AWS informations d’identification
Choisissez l'une des méthodes d'authentification suivantes :
Option 1 : AWS CLI (Recommandée)
aws configure
Entrez votre ID de clé AWS d'accès, votre clé d'accès secrète et votre région par défaut lorsque vous y êtes invité.
Option 2 : variables d'environnement
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_DEFAULT_REGION=us-west-2
Option 3 : rôle IAM
Si l'instance est exécutée sur Amazon EC2 ou sur SageMaker des blocs-notes, le rôle IAM de l'instance est utilisé automatiquement.
Vérifiez les informations d'identification
import boto3 sts = boto3.client('sts') identity = sts.get_caller_identity() print(f"Account: {identity['Account']}") print(f"User/Role: {identity['Arn']}")
Étape 4 : Téléchargez les benchmarks d'évaluation
Clonez le référentiel Inspect Evals pour accéder aux benchmarks standard :
git clone https://github.com/UKGovernmentBEIS/inspect_evals.git
Ce référentiel inclut des benchmarks tels que :
-
MMLU et MMLU-Pro (connaissances et raisonnement)
-
TruthFulqa (véracité)
-
HumanEval (génération de code)
-
GSM8K (raisonnement mathématique)
Étape 5 : Exécuter des évaluations
Exécutez une évaluation à l'aide de votre SageMaker terminal :
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
Paramètres clés
| Paramètre | Par défaut | Description |
|---|---|---|
--max-connections |
10 | Nombre de requêtes parallèles adressées au terminal. Échelle en fonction du nombre d'instances (par exemple, 10 instances × 25 = 250). |
--max-retries |
3 | Réessayez pour les demandes qui ont échoué. Utilisez 50-100 pour les évaluations de grande envergure. |
-M region_name |
us-east-1 | AWS région dans laquelle votre terminal est déployé. |
-M read_timeout |
600 | Délai d'expiration de la demande en secondes. |
-M connect_timeout |
60 | Délai de connexion en secondes. |
Recommandations de réglage
Pour un point de terminaison multi-instance :
# 10-instance endpoint example --max-connections 250 # ~25 connections per instance --max-retries 100 # Handle transient errors
Un réglage --max-connections trop élevé peut surcharger le terminal et provoquer un ralentissement. Une valeur trop faible entraîne une sous-utilisation de la capacité.
Étape 6 : Afficher les résultats
Lancez le visualiseur Inspect AI pour analyser les résultats de l'évaluation :
inspect view
Le visualiseur affiche :
-
Scores et indicateurs globaux
-
Per-sample résultats avec réponses du modèle
-
Analyse des erreurs et modèles de défaillance
Gestion des terminaux
Mettre à jour un terminal
Pour mettre à jour un terminal existant avec un nouveau modèle ou une nouvelle configuration :
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 )
Supprimer un point de terminaison
sagemaker.delete_endpoint(EndpointName=ENDPOINT_NAME)
Intégration de benchmarks personnalisés
Vous pouvez ajouter de nouveaux benchmarks à Inspect AI à l'aide du flux de travail suivant :
-
Étudier le format de l'ensemble de données et les paramètres d'évaluation de l'indice de référence
-
Passez en revue les implémentations similaires dans
inspect_evals/ -
Créez un fichier de tâches qui convertit les enregistrements de l'ensemble de données en échantillons Inspect AI
-
Mettre en œuvre des solveurs et des marqueurs appropriés
-
Validez avec un petit essai
Exemple de structure de tâches :
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() )
Résolution des problèmes
Problèmes courants
Limitation ou temporisation des terminaux
-
Réduire
--max-connections -
Augmentation
--max-retries -
Vérifiez les CloudWatch indicateurs des terminaux pour détecter les problèmes de capacité
Erreurs d'authentification
-
Vérifiez que les AWS informations d'identification sont correctement configurées
-
Vérifiez que les autorisations IAM incluent
sagemaker:InvokeEndpoint
Erreurs de modèle
-
Vérifiez que le terminal est en
InServiceétat -
Vérifiez que le modèle prend en charge le format d'API OpenAI Chat Completions