Évaluer les modèles hébergés sur SageMaker Inference - Amazon Nova

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, un framework d'évaluation open source.

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 :

  1. Étudier le format de l'ensemble de données de référence et les mesures d'évaluation

  2. Passez en revue les implémentations similaires dans inspect_evals/

  3. Créez un fichier de tâches qui convertit les enregistrements de jeux de données en échantillons Inspect AI

  4. Implémenter des solveurs et des évaluateurs appropriés

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