Evaluieren Sie auf SageMaker Inference gehostete Modelle - Amazon Nova

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Evaluieren Sie auf SageMaker Inference gehostete Modelle

In diesem Leitfaden wird erklärt, wie Sie Ihre maßgeschneiderten Amazon Nova-Modelle, die auf SageMaker Inferenzendpunkten bereitgestellt werden, mithilfe von Inspect AI, einem Open-Source-Evaluierungsframework, bewerten können.

-Übersicht

Sie können Ihre maßgeschneiderten Amazon Nova-Modelle, die auf SageMaker Endgeräten bereitgestellt werden, anhand standardisierter Benchmarks der KI-Forschungsgemeinschaft bewerten. Dieser Ansatz ermöglicht Ihnen:

  • Evaluieren Sie maßgeschneiderte Amazon Nova-Modelle (fein abgestimmt, destilliert oder anderweitig angepasst) in großem Maßstab

  • Führen Sie Evaluierungen mit parallel Inferenz über mehrere Endpunktinstanzen hinweg durch

  • Vergleichen Sie die Modellleistung anhand von Benchmarks wie MMLU, TruthfulQA und HumanEval

  • Integrieren Sie es in Ihre bestehende Infrastruktur SageMaker

Unterstützte Modelle

Der SageMaker Inferenzanbieter arbeitet mit:

  • Amazon Nova-Modelle (Nova Micro, Nova Lite, Nova Lite 2)

  • Modelle, die über VllM- oder OpenAI-kompatible Inferenzserver bereitgestellt werden

  • Jeder Endpunkt, der das OpenAI Chat Completions API-Format unterstützt

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:

  • Und AWS-Konto mit Berechtigungen zum Erstellen und Aufrufen von Endpunkten SageMaker

  • AWS Anmeldeinformationen AWS CLI, die über Umgebungsvariablen oder die IAM-Rolle konfiguriert wurden

  • Python 3.9 oder höher

Erforderliche IAM-Berechtigungen

Ihr IAM-Benutzer oder Ihre IAM-Rolle benötigt die folgenden Berechtigungen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:InvokeEndpoint", "sagemaker:DescribeEndpoint" ], "Resource": "arn:aws:sagemaker:*:*:endpoint/*" } ] }

Schritt 1: Stellen Sie einen SageMaker Endpunkt bereit

Bevor Sie Evaluierungen durchführen, benötigen Sie einen SageMaker Inferenzendpunkt, auf dem Ihr Modell ausgeführt wird.

Anweisungen zum Erstellen eines SageMaker Inferenzendpunkts mit Amazon Nova-Modellen finden Sie unterErste Schritte.

Sobald sich Ihr Endpunkt im InService Status befindet, notieren Sie sich den Endpunktnamen, der in den Evaluierungsbefehlen verwendet werden soll.

Schritt 2: Installieren Sie die Evaluierungsabhängigkeiten

Erstellen Sie eine virtuelle Python-Umgebung und installieren Sie die erforderlichen Pakete.

# 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

Schritt 3: AWS Anmeldeinformationen konfigurieren

Wählen Sie eine der folgenden Authentifizierungsmethoden:

Option 1: AWS CLI (Empfohlen)

aws configure

Geben Sie Ihre AWS Zugangsschlüssel-ID, Ihren geheimen Zugriffsschlüssel und Ihre Standardregion ein, wenn Sie dazu aufgefordert werden.

Option 2: Umgebungsvariablen

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: IAM-Rolle

Bei Ausführung auf Amazon EC2 oder SageMaker Notebooks wird die IAM-Rolle der Instance automatisch verwendet.

Überprüfen Sie die Anmeldeinformationen

import boto3 sts = boto3.client('sts') identity = sts.get_caller_identity() print(f"Account: {identity['Account']}") print(f"User/Role: {identity['Arn']}")

Schritt 4: Installieren Sie den SageMaker Anbieter

Der SageMaker Anbieter ermöglicht Inspect AI die Kommunikation mit Ihren SageMaker Endpunkten. Der Installationsprozess des Anbieters wird im Schnellstart-Notizbuch optimiert.

Schritt 5: Laden Sie die Evaluierungs-Benchmarks herunter

Klonen Sie das Inspect Evals-Repository, um auf Standard-Benchmarks zuzugreifen:

git clone https://github.com/UKGovernmentBEIS/inspect_evals.git

Dieses Repository enthält Benchmarks wie:

  • MMLU und MMLU-Pro (Wissen und Argumentation)

  • TruthfulQA (Wahrhaftigkeit)

  • HumanEval (Codegenerierung)

  • GSM8K (mathematisches Denken)

Schritt 6: Evaluierungen durchführen

Führen Sie eine Evaluierung mit Ihrem SageMaker Endpunkt durch:

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

Die wichtigsten Parameter

Parameter Standard Description
--max-connections 10 Anzahl der parallel Anfragen an den Endpunkt. Skalieren Sie mit der Anzahl der Instanzen (z. B. 10 Instanzen × 25 = 250).
--max-retries 3 Versuchen Sie es erneut mit fehlgeschlagenen Anfragen. Verwenden Sie 50-100 für umfangreiche Auswertungen.
-M region_name us-east-1 AWS Region, in der Ihr Endpunkt bereitgestellt wird.
-M read_timeout 600 Fordern Sie ein Timeout in Sekunden an.
-M connect_timeout 60 Verbindungs-Timeout in Sekunden.

Empfehlungen zur Optimierung

Für einen Endpunkt mit mehreren Instanzen:

# 10-instance endpoint example --max-connections 250 # ~25 connections per instance --max-retries 100 # Handle transient errors

Eine --max-connections zu hohe Einstellung kann den Endpunkt überfordern und zu Drosselung führen. Wenn er zu niedrig eingestellt ist, wird die Kapazität nicht ausreichend genutzt.

Schritt 7: Ergebnisse anzeigen

Starten Sie den Inspect AI Viewer, um die Bewertungsergebnisse zu analysieren:

inspect view

Der Viewer zeigt:

  • Allgemeine Punktzahlen und Kennzahlen

  • Ergebnisse pro Stichprobe mit Modellantworten

  • Fehleranalyse und Fehlermuster

Verwaltung von Endpunkten

Aktualisieren Sie einen Endpunkt

So aktualisieren Sie einen vorhandenen Endpunkt mit einem neuen Modell oder einer neuen Konfiguration:

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 )

Löschen Sie einen Endpunkt

sagemaker.delete_endpoint(EndpointName=ENDPOINT_NAME)

Einführung benutzerdefinierter Benchmarks

Mithilfe des folgenden Workflows können Sie Inspect AI neue Benchmarks hinzufügen:

  1. Studieren Sie das Datensatzformat und die Bewertungsmetriken des Benchmarks

  2. Überprüfen Sie ähnliche Implementierungen in inspect_evals/

  3. Erstellen Sie eine Aufgabendatei, die Datensatzdatensätze in Inspect AI-Beispiele konvertiert

  4. Implementieren Sie geeignete Solver und Scorer

  5. Validieren Sie mit einem kleinen Testlauf

Beispiel für eine Aufgabenstruktur:

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() )

Fehlerbehebung

Häufig auftretende Probleme

Drosselung oder Timeouts an Endpunkten

  • Reduzieren --max-connections

  • Erhöhen --max-retries

  • Überprüfen Sie die CloudWatch Endpunktmetriken auf Kapazitätsprobleme

Fehler bei der Authentifizierung

  • Stellen Sie sicher, dass die AWS Anmeldeinformationen korrekt konfiguriert sind

  • Überprüfen Sie, ob die IAM-Berechtigungen Folgendes beinhalten sagemaker:InvokeEndpoint

Fehler im Modell

  • Stellen Sie sicher, dass sich der Endpunkt im InService Status befindet

  • Stellen Sie sicher, dass das Modell das OpenAI Chat Completions API-Format unterstützt