

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.

# Richten Sie eine Workload-Konfiguration für generative KI-Inferenzempfehlungen ein
<a name="generative-ai-inference-recommendations-workload-config"></a>

Eine Workload-Konfiguration definiert die Verkehrsmuster und Benchmark-Parameter, die SageMaker KI bei der Bewertung Ihres Modells oder Endpunkts verwendet. Sie erstellen eine Workload-Konfiguration, bevor Sie einen Empfehlungs- oder Benchmark-Job ausführen. Dieselbe Workload-Konfiguration kann für mehrere Jobs wiederverwendet werden.

Sie können Ihren Workload auf zwei Arten definieren:
+ **Inline-Spezifikation.** Geben Sie Token-Verteilungen und Datenverkehrsparameter direkt im API-Aufruf an.
+ **Datensatz aus Amazon S3.** Stellen Sie mithilfe des `DatasetConfig` Parameters einen repräsentativen Datensatz realer Anfragen bereit.

## Erstellen Sie eine Workload-Konfiguration mit Inline-Parametern
<a name="generative-ai-inference-recommendations-workload-config-inline"></a>

Verwenden Sie Inline-Parameter, um Token-Verteilungen anzugeben, wenn Sie keinen repräsentativen Datensatz haben.

**Python (Teil 3)**

```
import boto3
import json

client = boto3.client("sagemaker", region_name="us-west-2")

workload_spec = {
    "benchmark": {"type": "aiperf"},
    "parameters": {
        "prompt_input_tokens_mean": 550,
        "prompt_input_tokens_stddev": 150,
        "output_tokens_mean": 150,
        "output_tokens_stddev": 50,
    },
}

response = client.create_ai_workload_config(
    AIWorkloadConfigName="my-workload-config",
    AIWorkloadConfigs={
        "WorkloadSpec": {"Inline": json.dumps(workload_spec)}
    },
)
print(response["AIWorkloadConfigArn"])
```

**AWS CLI**

```
aws sagemaker create-ai-workload-config \
  --ai-workload-config-name "my-workload-config" \
  --ai-workload-configs '{"WorkloadSpec": {"Inline": "{\"benchmark\": {\"type\": \"aiperf\"}, \"parameters\": {\"prompt_input_tokens_mean\": 550, \"output_tokens_mean\": 150}}"}}' \
  --region us-west-2
```

## Erstellen Sie eine Workload-Konfiguration mit einem Datensatz
<a name="generative-ai-inference-recommendations-workload-config-dataset"></a>

Wenn Sie über einen repräsentativen Datensatz mit echten Anfragen verfügen, stellen Sie ihn über Amazon S3 bereit, indem Sie den `DatasetConfig` Parameter mit einem `InputDataConfig` Kanal verwenden.

```
response = client.create_ai_workload_config(
    AIWorkloadConfigName="my-dataset-workload",
    DatasetConfig={
        "InputDataConfig": [
            {
                "ChannelName": "traffic",
                "DataSource": {
                    "S3DataSource": {
                        "S3Uri": "s3://DOC-EXAMPLE-BUCKET/datasets/traffic-trace/"
                    }
                }
            }
        ]
    },
    AIWorkloadConfigs={
        "WorkloadSpec": {"Inline": json.dumps(workload_spec)}
    },
)
```

Standardmäßig werden synthetische Eingabeaufforderungen generiert. Sie können auch einen öffentlichen Datensatz verwenden oder einen benutzerdefinierten Datensatz aus Amazon S3 bereitstellen.

## Workload-Konfiguration für Benchmarking
<a name="generative-ai-inference-recommendations-workload-config-benchmark"></a>

Wenn Sie eine Workload-Konfiguration für das Benchmarking eines vorhandenen Endpunkts erstellen, können Sie zusätzliche Parameter wie Tokenizer, Parallelität, Anzahl der Anfragen und Anforderungsrate angeben.

```
workload_spec = {
    "benchmark": {"type": "aiperf"},
    "parameters": {
        "tokenizer": "TinyLlama/TinyLlama-1.1B-Chat-v1.0",
        "concurrency": 1,
        "request_count": 10,
        "streaming": True,
        "prompt_input_tokens_mean": 550,
        "prompt_input_tokens_stddev": 150,
        "output_tokens_mean": 50,
        "output_tokens_stddev": 10,
        "request_rate": 1.0,
        "benchmark_duration": 60,
    },
    "tooling": {"api_standard": "openai", "version": "0.6.0"},
}
```

## Workload-Konfigurationen verwalten
<a name="generative-ai-inference-recommendations-workload-config-manage"></a>

Verwenden Sie die folgenden Operationen, um Ihre Workload-Konfigurationen zu verwalten.

```
# List workload configurations
response = client.list_ai_workload_configs(MaxResults=10)
for config in response["AIWorkloadConfigs"]:
    print(f"{config['AIWorkloadConfigName']} - {config['AIWorkloadConfigArn']}")

# Describe a workload configuration
response = client.describe_ai_workload_config(
    AIWorkloadConfigName="my-workload-config"
)

# Delete a workload configuration
client.delete_ai_workload_config(
    AIWorkloadConfigName="my-workload-config"
)
```

## Referenz zur Workload-Spezifikation
<a name="generative-ai-inference-recommendations-workload-config-reference"></a>

Dieser Abschnitt enthält das vollständige Schema für das JSON-Dokument mit der Workload-Spezifikation, das Sie bei der Erstellung einer Workload-Konfiguration in das `WorkloadSpec.Inline` Feld übergeben.

### Syntax
<a name="generative-ai-inference-recommendations-workload-config-syntax"></a>

Im Folgenden finden Sie ein repräsentatives Beispiel für eine Workload-Spezifikation mit häufig verwendeten Parametern. Alle Parameter sind in der nachstehenden Referenztabelle dokumentiert.

```
{
    "benchmark": {
        "type": "aiperf"
    },
    "parameters": {
        "prompt_input_tokens_mean": 550,
        "prompt_input_tokens_stddev": 150.0,
        "output_tokens_mean": 150,
        "output_tokens_stddev": 50.0,
        "concurrency": 10,
        "request_count": 100,
        "request_rate": 5.0,
        "benchmark_duration": 120,
        "streaming": true,
        "tokenizer": "meta-llama/Llama-3.2-1B"
    },
    "secrets": {
        "hf_token": "arn:aws:secretsmanager:us-west-2:111122223333:secret:my-hf-token-AbCdEf"
    },
    "tooling": {
        "api_standard": "openai"
    }
}
```

### Schlüssel zur Workload-Spezifikation
<a name="generative-ai-inference-recommendations-workload-config-keys"></a>

Die Workload-Spezifikation enthält die folgenden Schlüssel der obersten Ebene. Unbekannte Schlüssel werden zurückgewiesen.

#### Benchmark
<a name="workload-config-ref-benchmark"></a>

Erforderliche Zuweisung. Identifiziert das zu verwendende Benchmarking-Tool.

`benchmark/type`  
Erforderlich Die Benchmark-Engine. Der einzige gültige Wert ist `aiperf`.

#### Parameter
<a name="workload-config-ref-parameters"></a>

Optionale Zuweisung. Benchmark-Parameter, die an die AiPerf-Engine übergeben wurden. Unbekannte Parameternamen werden zurückgewiesen. Alle Parameter sind optional, sofern nicht anders angegeben.

**Verteilung von Tokens**

`prompt_input_tokens_mean`  
Ganzzahl. Durchschnittliche Anzahl von Eingabe-Token pro Anfrage für die Generierung synthetischer Eingabeaufforderungen. Aliase:`synthetic_input_tokens_mean`,`isl`.

`prompt_input_tokens_stddev`  
Schweben. Standardabweichung der Anzahl der Eingabe-Tokens. Aliase:`synthetic_input_tokens_stddev`,`isl_stddev`.

`output_tokens_mean`  
Ganzzahl. Durchschnittliche Anzahl von Ausgabetokens pro Anfrage. Aliase:`prompt_output_tokens_mean`,`osl`.

`output_tokens_stddev`  
Schweben. Standardabweichung der Anzahl der Ausgabetokens. Aliase:`prompt_output_tokens_stddev`,`osl_stddev`.

**Gestaltung des Verkehrs**

`concurrency`  
Ganzzahl. Anzahl der gleichzeitigen Anfragen, die während des Benchmarks gesendet werden sollen.

`request_count`  
Ganzzahl. Gesamtzahl der zu sendenden Anfragen. Alias:`num_requests`.

`request_rate`  
Schweben. Zielanfragen pro Sekunde.

`benchmark_duration`  
Ganzzahl. Dauer des Benchmarks in Sekunden.

`max_concurrency`  
Ganzzahl. Zulässige maximale Anzahl gleichzeitiger Anfragen.

`request_rate_mode`  
Zeichenfolge. Muster der Ankunft der Anfrage. Alias:`arrival_pattern`.

`arrival_smoothness`  
Schweben. Steuert die Häufigkeit eingehender Anfragen. Höhere Werte sorgen für einen reibungsloseren Verkehr. Alias:`vllm_burstiness`.

`prefill_concurrency`  
Ganzzahl. Anzahl der gleichzeitigen Vorbefüllungsanforderungen.

**General**

`streaming`  
Boolesch. Ob Streaming-Antworten verwendet werden sollen. Standard: `true`.

`tokenizer`  
Zeichenfolge. HuggingFace Modellname oder lokaler Verzeichnispfad für den Tokenizer, der zum Zählen von Token verwendet wird. Beispiel: `meta-llama/Llama-3.2-1B`.

`hf_token`  
Zeichenfolge. Hugging Face Face-Zugriffstoken zum Herunterladen von geschlossenen Modellen und Tokenizern. `HF_TOKEN`Alias:. Verwenden Sie für sensible Werte den `secrets` Abschnitt, anstatt das Token im Klartext zu übergeben.

`request_timeout_seconds`  
Ganzzahl. Timeout in Sekunden für einzelne Anfragen.

`benchmark_grace_period`  
Ganzzahl. Übergangszeit in Sekunden nach Abschluss des Benchmarks, damit Anfragen während der Bearbeitung abgeschlossen werden können.

`extra_inputs`  
Zeichenfolge. Zusätzliche JSON-encoded Eingaben, die in jeder Payload der Anfrage enthalten sein müssen.

`random_seed`  
Ganzzahl. Startwert für die Generierung von Zufallszahlen. Standard: `42`.

`verbose`  
Boolesch. Aktivieren Sie die ausführliche Protokollierung. Standard: `false`.

`num_conversations`  
Ganzzahl. Anzahl der Multi-Turn-Konversationen, die simuliert werden sollen. Aliase:`conversation_num`,. `num_sessions`

`model_selection_strategy`  
Zeichenfolge. Strategie für die Auswahl von Modellen, wenn mehrere Modelle auf dem Endpunkt verfügbar sind.

**Aufwärmen**

Die Aufwärmparameter steuern eine optionale Aufwärmphase, die vor dem gemessenen Benchmark läuft. Dadurch werden die Caches und die JIT-Kompilierung des Modellservers vorbereitet.

`warmup_duration`  
Ganzzahl. Dauer der Aufwärmphase in Sekunden.

`warmup_request_count`  
Ganzzahl. Anzahl der Aufwärmanfragen. Alias:`num_warmup_requests`.

`warmup_concurrency`  
Ganzzahl. Grad der Parallelität während des Aufwärmens.

`warmup_prefill_concurrency`  
Ganzzahl. Parallelität beim Aufwärmen vorfüllen.

`warmup_request_rate`  
Schweben. Anforderungsrate beim Aufwärmen.

`warmup_arrival_pattern`  
Zeichenfolge. Ankunftsmuster während des Aufwärmens.

`warmup_grace_period`  
Schweben. Nachfrist in Sekunden nach Abschluss des Aufwärmens.

`num_warmup_sessions`  
Ganzzahl. Anzahl der Aufwärmsitzungen.

**Datensatz**

`public_dataset`  
Zeichenfolge. Name eines öffentlichen Datensatzes, der für Benchmark-Eingabeaufforderungen statt für die synthetische Generierung verwendet werden soll.

`custom_dataset_type`  
Zeichenfolge. Format eines benutzerdefinierten Datensatzes, der über Amazon S3 bereitgestellt wird.

`input_file`  
Zeichenfolge. Pfad zur Eingabedatensatzdatei im Benchmark-Container. Wenn Sie einen Datensatz über den `DatasetConfig` Parameter angeben, werden die Daten unter gemountet`/opt/ml/input/data/{ChannelName}/`. Verwenden Sie diesen Parameter, um auf eine bestimmte Datei innerhalb dieses Mount-Pfads zu verweisen.

**Bildeingaben**

Parameter für das Benchmarking multimodaler Modelle, die Bildeingaben akzeptieren.

`image_width_mean`  
Schweben. Mittlere Breite synthetischer Bilder in Pixeln.

`image_width_stddev`  
Schweben. Standardabweichung der Bildbreite.

`image_height_mean`  
Schweben. Durchschnittliche Höhe synthetischer Bilder in Pixeln.

`image_height_stddev`  
Schweben. Standardabweichung der Bildhöhe.

`image_batch_size`  
Ganzzahl. Anzahl der Bilder pro Anfrage. Alias:`batch_size_image`.

`image_format`  
Zeichenfolge. Bildformat (zum Beispiel`png`,`jpeg`).

**Videoeingänge**

Parameter für das Benchmarking multimodaler Modelle, die Videoeingänge akzeptieren.

`video_batch_size`  
Ganzzahl. Anzahl der Videos pro Anfrage. Alias:`batch_size_video`.

`video_duration`  
Schweben. Dauer synthetischer Videos in Sekunden.

`video_fps`  
Ganzzahl. Bilder pro Sekunde für synthetische Videos.

`video_width`  
Ganzzahl. Breite synthetischer Videos in Pixeln.

`video_height`  
Ganzzahl. Höhe synthetischer Videos in Pixeln.

`video_synth_type`  
Zeichenfolge. Art der synthetischen Videogenerierung.

`video_format`  
Zeichenfolge. Videocontainerformat.

`video_codec`  
Zeichenfolge. Videocodec.

`video_audio_sample_rate`  
Ganzzahl. Audio-Abtastrate in Hz.

`video_audio_num_channels`  
Ganzzahl. Die Anzahl der Audiokanäle.

`video_audio_codec`  
Zeichenfolge. Audiocodec.

`video_audio_depth`  
Zeichenfolge. Audio-Bittiefe.

#### Secrets
<a name="workload-config-ref-secrets"></a>

Optionale Zuweisung. Verwenden Sie diesen Abschnitt, um sensible Werte (wie Hugging Face Face-Zugriffstoken) zu übergeben, indem Sie auf AWS Secrets Manager Manager-Geheimnisse verweisen, anstatt sie als Klartext einzufügen. `parameters`

Jeder Schlüssel ist ein Parametername, und der Wert ist der ARN des AWS Secrets in Secrets Manager. Beim Start des Jobs löst der Service das Geheimnis auf und fügt den Wert in die Benchmark-Umgebung ein.

```
"secrets": {
    "hf_token": "arn:aws:secretsmanager:us-west-2:111122223333:secret:my-hf-token-AbCdEf"
}
```

#### Werkzeugbau
<a name="workload-config-ref-tooling"></a>

Optionale Zuweisung. Spezifiziert den API-Standard und die Toolversion.

`tooling/api_standard`  
Optional. Der vom Endpunkt verwendete API-Standard. Beispiel, `openai`.

`tooling/version`  
Optional. Die Version des Benchmarking-Tools. Standardmäßig wird die neueste verfügbare Version verwendet.