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.
Évaluer les modèles hébergés sur SageMaker Inference
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 une présentation pratique, consultez le bloc-notes de démarrage rapide SageMaker Inspect AI
Présentation de
Vous pouvez évaluer vos modèles Amazon Nova personnalisés déployés sur des SageMaker terminaux à l'aide de benchmarks standardisés élaborés par la communauté des chercheurs en intelligence artificielle. Cette approche vous permet de :
-
Évaluez des modèles Amazon Nova personnalisés (affinés, distillés ou autrement adaptés) à grande échelle
-
Exécutez des évaluations par inférence parallèle sur plusieurs instances de point de terminaison
-
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 travaille avec :
-
Modèles Amazon Nova (Nova Micro, Nova Lite, Nova Lite 2)
-
Modèles déployés via des serveurs d'inférence compatibles vLLM ou OpenAI
-
Tout point de terminaison compatible avec 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 les autorisations nécessaires pour créer et invoquer des points de SageMaker terminaison
-
AWS informations d'identification AWS CLI configurées via des variables d'environnement ou un 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éployer un SageMaker point de terminaison
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 le nom du point de terminaison à utiliser dans les commandes d'évaluation.
Étape 2 : Installation des 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 des 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 ordinateurs portables, le rôle IAM de l'instance est automatiquement utilisé.
Vérifier 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 : Installation du SageMaker fournisseur
Le SageMaker fournisseur permet à Inspect AI de communiquer avec vos SageMaker terminaux. Le processus d'installation du fournisseur est rationalisé dans le bloc-notes de démarrage rapide
Étape 5 : 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 6 : Exécuter les évaluations
Exécutez une évaluation à l'aide de votre SageMaker point de terminaison :
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
Principaux paramètres
| Paramètre | Par défaut | Description |
|---|---|---|
--max-connections |
10 | Nombre de requêtes parallèles adressées au point de terminaison. Echelle en fonction du nombre d'instances (par exemple, 10 instances × 25 = 250). |
--max-retries |
3 | Réessayez en cas d'échec des demandes. 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 d'expiration de la 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é risque de submerger le terminal et de provoquer un ralentissement. Si elle est trop basse, la capacité est sous-utilisée.
Étape 7 : 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
-
Résultats par échantillon avec réponses du modèle
-
Analyse des erreurs et modèles de défaillance
Gestion des points de terminaison
Mettre à jour un terminal
Pour mettre à jour un point de terminaison 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 points de référence à Inspect AI à l'aide du flux de travail suivant :
-
Étudier le format de l'ensemble de données de référence et les mesures d'évaluation
-
Passez en revue les implémentations similaires dans
inspect_evals/ -
Créez un fichier de tâches qui convertit les enregistrements de jeux de données en échantillons Inspect AI
-
Implémenter des solveurs et des évaluateurs 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 -
Augmenter
--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 supporte le format d'API OpenAI Chat Completions