View a markdown version of this page

Evaluieren Sie mit dem Inspect AI SDK - 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 mit dem Inspect AI SDK

In diesem Handbuch 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, evaluieren können.

Anmerkung

Praktische Anleitungen finden Sie in den Inspect AI-Beispielnotizbüchern. SageMaker

-Übersicht

Sie können Ihre maßgeschneiderten Amazon Nova-Modelle, die auf SageMaker Endpunkten bereitgestellt werden, anhand standardisierter Benchmarks aus der KI-Forschungsgemeinschaft evaluieren. 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 paralleler Inferenz über mehrere Endpunkt-Instances hinweg durch

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

  • Integrieren Sie 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-compatible 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 eine 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 unter. Erste Schritte

Sobald sich Ihr Endpunkt im InService Status befindet, notieren Sie sich den Endpunktnamen zur Verwendung in den Evaluierungsbefehlen.

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: Konfigurieren AWS Anmeldedaten

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: Laden Sie die Bewertungs-Benchmarks herunter

Klonen Sie das Inspect Evalus-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 5: Evaluationen 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 parallelen Anfragen an den Endpunkt. Skalieren Sie mit der Anzahl der Instanzen (z. B. 10 Instanzen × 25 = 250).
--max-retries 3 Versuchen Sie es bei fehlgeschlagenen Anfragen erneut. Verwenden Sie 50-100 für umfangreiche Bewertungen.
-M region_name us-east-1 AWS Region, in der Ihr Endpunkt bereitgestellt wird.
-M read_timeout 600 Timeout in Sekunden anfordern.
-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

Ein --max-connections zu hoher Wert kann den Endpunkt überfordern und zu einer Drosselung führen. Bei einer zu niedrigen Einstellung wird die Kapazität nicht ausgeschöpft.

Schritt 6: Ergebnisse anzeigen

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

inspect view

Der Viewer zeigt an:

  • Gesamtpunktzahlen und Kennzahlen

  • Per-sample Ergebnisse mit Modellantworten

  • Fehleranalyse und Fehlermuster

Verwaltung von Endpunkten

Aktualisieren Sie einen Endpunkt

Um einen vorhandenen Endpunkt mit einem neuen Modell oder einer neuen Konfiguration zu aktualisieren:

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)

Onboarding benutzerdefinierter Benchmarks

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

  1. Untersuchen Sie das Datensatzformat und die Bewertungsmetriken des Benchmarks

  2. Sehen Sie sich ähnliche Implementierungen an 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 von Endpunkten oder Timeouts

  • 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

  • Prüfen Sie, ob die IAM-Berechtigungen Folgendes enthalten sagemaker:InvokeEndpoint

Modellfehler

  • Stellen Sie sicher, dass der Endpunkt den InService Status hat

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