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
-Ü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
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:
-
Studieren Sie das Datensatzformat und die Bewertungsmetriken des Benchmarks
-
Überprüfen Sie ähnliche Implementierungen in
inspect_evals/ -
Erstellen Sie eine Aufgabendatei, die Datensatzdatensätze in Inspect AI-Beispiele konvertiert
-
Implementieren Sie geeignete Solver und Scorer
-
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
InServiceStatus befindet -
Stellen Sie sicher, dass das Modell das OpenAI Chat Completions API-Format unterstützt