

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.

# Holen Sie sich eine Inferenzempfehlung für einen vorhandenen Endpunkt
<a name="inference-recommender-existing-endpoint"></a>

Jobs mit Inferenzempfehlungen führen eine Reihe von Lasttests für empfohlene Instance-Typen und einen vorhandenen Endpunkt durch. Inferenzempfehlungsjobs verwenden Leistungsmetriken, die auf Lasttests mit den Beispieldaten basieren, die Sie bei der Registrierung der Modellversion angegeben haben.

Sie können einen vorhandenen SageMaker KI-Inferenz-Endpunkt vergleichen und Inferenzempfehlungen für ihn abrufen, um die Leistung Ihres Endpunkts zu verbessern. Das Verfahren zum Abrufen von Empfehlungen für einen vorhandenen SageMaker KI-Inferenzendpunkt ähnelt dem Verfahren zum [Abrufen von Inferenzempfehlungen](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender-instance-recommendation.html) ohne Endpunkt. Beim Benchmarking eines vorhandenen Endpunkts sind mehrere Funktionsausschlüsse zu beachten:
+ Sie können nur einen vorhandenen Endpunkt pro Inference Recommender-Job verwenden.
+ Sie können nur eine Variante auf Ihrem Endpunkt haben.
+ Sie können keinen Endpunkt verwenden, der Autoscaling aktiviert.
+ Diese Funktionalität wird nur für [Real-Time-Inference](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) unterstützt.
+ Diese Funktion unterstützt keine [Echtzeit-Endpunkte mit mehreren Modellen](https://docs.aws.amazon.com/sagemaker/latest/dg/multi-model-endpoints.html).

**Warnung**  
Es wird dringend davon abgeraten, Inference Recommender-Jobs auf einem Produktionsendpunkt auszuführen, der Live-Traffic verarbeitet. Die synthetische Belastung beim Benchmarking kann sich auf Ihren Produktionsendpunkt auswirken und zu Drosselungen führen oder zu ungenauen Benchmark-Ergebnissen führen. Wir empfehlen Ihnen, zu Vergleichszwecken einen Endpunkt zu verwenden, der nicht für die Produktion oder für Entwickler bestimmt ist. 

In den folgenden Abschnitten wird gezeigt, wie Sie Amazon SageMaker Inference Recommender verwenden, um mithilfe des AWS SDK for Python (Boto3) und des eine Inferenzempfehlung für einen vorhandenen Endpunkt zu erstellen, die auf Ihrem Modelltyp basiert. AWS CLI

**Anmerkung**  
Bevor Sie einen Inference Recommender-Empfehlungsauftrag erstellen, stellen Sie sicher, dass Sie die [Voraussetzungen für die Verwendung von Amazon SageMaker Inference Recommender](inference-recommender-prerequisites.md) Anforderungen erfüllt haben.

## Voraussetzungen
<a name="inference-recommender-existing-endpoint-prerequisites"></a>

[Wenn Sie noch keinen SageMaker KI-Inferenz-Endpunkt haben, können Sie entweder eine [Inferenzempfehlung ohne Endpunkt erhalten oder Sie können einen Echtzeit-Inferenz-Endpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender-instance-recommendation.html) erstellen, indem Sie den Anweisungen unter Erstellen Sie Ihren Endpunkt und Bereitstellen Ihres Modells folgen.](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-deployment.html)

## Erstellen Sie einen Job mit Inferenzempfehlungen für einen vorhandenen Endpunkt
<a name="inference-recommender-existing-endpoint-create"></a>

Erstellen Sie programmgesteuert eine Inferenzempfehlung mit, oder. AWS SDK für Python (Boto3) AWS CLI Geben Sie einen Jobnamen für Ihre Inferenzempfehlung, den Namen eines vorhandenen SageMaker KI-Inferenz-Endpunkts, einen AWS IAM-Rollen-ARN, eine Eingabekonfiguration und Ihren Modellpaket-ARN an, seit Sie Ihr Modell bei der Modellregistrierung registriert haben.

------
#### [ AWS SDK für Python (Boto3) ]

Verwenden Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html)API, um eine Inferenzempfehlung zu erhalten. Stellen Sie das `JobType` Feld auf `'Default'` ehlungen ein. Darüber hinaus sind folgende Angaben zu machen:
+ Geben Sie einen Namen für Ihren Inference Recommender-Empfehlungsjob für das `JobName` Feld ein. Der Inference Recommender-Jobname muss innerhalb der AWS Region und in Ihrem Konto eindeutig sein. AWS 
+ Der Amazon-Ressourcenname (ARN) einer IAM-Rolle, die es Inference Recommender ermöglicht, Aufgaben in Ihrem Namen durchzuführen. Definieren Sie dies für das `RoleArn` Feld.
+ Der ARN des versionierten Modellpakets, das Sie erstellt haben, als Sie Ihr Modell in der Modellregistrierung registriert haben. Definieren Sie dies für `ModelPackageVersionArn` in dem `InputConfig` Feld.
+ Geben Sie vor Ort den Namen eines vorhandenen SageMaker KI-Inferenz-Endpunkts ein, für den Sie in Inference Recommender einen Benchmark durchführen möchten. `Endpoints` `InputConfig`

Importieren Sie das AWS SDK für Python (Boto3) Paket und erstellen Sie mithilfe der SageMaker Client-Klasse ein AI-Client-Objekt. Wenn Sie die Schritte im Abschnitt **Voraussetzungen** befolgt haben, wurde die Modellpaketgruppe ARN in einer Variablen mit dem Namen `model_package_arn` gespeichert.

```
# Create a low-level SageMaker service client.
import boto3
aws_region = {{'<region>'}}
sagemaker_client = boto3.client('sagemaker', region_name=aws_region) 

# Provide your model package ARN that was created when you registered your 
# model with Model Registry 
model_package_arn = {{'<model-package-arn>'}}

# Provide a unique job name for SageMaker Inference Recommender job
job_name = {{'<job-name>'}}

# Inference Recommender job type. Set to Default to get an initial recommendation
job_type = 'Default'

# Provide an IAM Role that gives SageMaker Inference Recommender permission to 
# access AWS services
role_arn = {{'<arn:aws:iam::<account>:role/*>'}}
                                    
# Provide endpoint name for your endpoint that want to benchmark in Inference Recommender
endpoint_name = {{'<existing-endpoint-name>'}}

sagemaker_client.create_inference_recommendations_job(
    JobName = job_name,
    JobType = job_type,
    RoleArn = role_arn,
    InputConfig = {
        'ModelPackageVersionArn': model_package_arn,
        'Endpoints': [{'EndpointName': endpoint_name}]
    }
)
```

Eine vollständige Liste der optionalen und erforderlichen Argumente, an die Sie übergeben können, finden Sie im [Amazon SageMaker API-Referenzhandbuch [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html)](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html).

------
#### [ AWS CLI ]

Verwenden Sie die `create-inference-recommendations-job` API, um eine Empfehlung für einen Instance-Endpunkt zu erhalten. Setzen Sie das Feld `job-type` für Instance-Endpunkt-Empfehlungsaufträge auf `'Default'`. Darüber hinaus sind folgende Angaben zu machen:
+ Geben Sie einen Namen für Ihren Inference Recommender-Empfehlungsjob für das `job-name` Feld ein. Der Jobname von Inference Recommender muss innerhalb der AWS Region und innerhalb Ihres AWS Kontos eindeutig sein.
+ Der Amazon-Ressourcenname (ARN) einer IAM-Rolle, die es Amazon SageMaker Inference Recommender ermöglicht, Aufgaben in Ihrem Namen auszuführen. Definieren Sie dies für das `role-arn` Feld.
+ Der ARN des versionierten Modellpakets, das Sie bei der Registrierung Ihres Modells bei Model Registry erstellt haben. Definieren Sie dies für `ModelPackageVersionArn` in dem `input-config` Feld.
+ Geben Sie den Namen eines vorhandenen SageMaker KI-Inferenz-Endpunkts an, für den Sie im Inference Recommender einen Benchmark vor Ort durchführen möchten. `Endpoints` `input-config`

```
aws sagemaker create-inference-recommendations-job 
    --region {{<region>}}\
    --job-name {{<job_name>}}\
    --job-type Default\
    --role-arn arn:aws:iam::{{<account:role/*>}}\
    --input-config "{
        \"ModelPackageVersionArn\": \"arn:aws:sagemaker:{{<region:account:role/*>}}\",
        \"Endpoints\": [{\"EndpointName\": <endpoint_name>}]
        }"
```

------

## Holen Sie sich die Job-Ergebnisse Ihrer Inferenzempfehlung
<a name="inference-recommender-existing-endpoint-results"></a>

Sie können die Ergebnisse Ihres Jobs mit Inferenzempfehlungen programmgesteuert sammeln. Gehen Sie dabei genauso vor wie bei Standardjobs mit Inferenzempfehlungen. Weitere Informationen finden Sie unter [Rufen Sie die Ergebnisse Ihrer Inferenzempfehlung ab.](instance-recommendation-results.md).

Wenn Sie Ergebnisse des Jobs mit Inferenzempfehlungen für einen vorhandenen Endpunkt erhalten, sollten Sie eine JSON-Antwort erhalten, die der folgenden ähnelt:

```
{
    "JobName": {{"job-name"}},
    "JobType": "Default",
    "JobArn": "arn:aws:sagemaker:{{region}}:{{account-id}}:inference-recommendations-job/{{resource-id}}",
    "RoleArn": {{"iam-role-arn"}},
    "Status": "COMPLETED",
    "CreationTime": 1664922919.2,
    "LastModifiedTime": 1664924208.291,
    "InputConfig": {
        "ModelPackageVersionArn": "arn:aws:sagemaker:{{region}}:{{account-id}}:model-package/{{resource-id}}",
        "Endpoints": [
            {
                "EndpointName": {{"endpoint-name"}}
            }
        ]
    },
    "InferenceRecommendations": [
        {
            "Metrics": {
                "CostPerHour": 0.7360000014305115,
                "CostPerInference": 7.456940238625975e-06,
                "MaxInvocations": 1645,
                "ModelLatency": 171
            },
            "EndpointConfiguration": {
                "EndpointName": {{"sm-endpoint-name"}},
                "VariantName": {{"variant-name"}},
                "InstanceType": "ml.g4dn.xlarge",
                "InitialInstanceCount": 1
            },
            "ModelConfiguration": {
                "EnvironmentParameters": [
                    {
                        "Key": "TS_DEFAULT_WORKERS_PER_MODEL",
                        "ValueType": "string",
                        "Value": "4"
                    }
                ]
            }
        }
    ],
    "EndpointPerformances": [
        {
            "Metrics": {
                "MaxInvocations": 184,
                "ModelLatency": 1312
            },
            "EndpointConfiguration": {
                "EndpointName": {{"endpoint-name"}}
            }
        }
    ]
}
```

Die ersten Zeilen enthalten Informationen über den Job mit Inferenzempfehlungen selbst. Dazu gehören der Jobname, der Rollen-ARN sowie die Erstellungs- und letzten Änderungszeiten.

Das `InferenceRecommendations` Wörterbuch enthält eine Liste von Inference Recommender-Inferenzempfehlungen.

Das `EndpointConfiguration` verschachtelte Wörterbuch enthält die Empfehlung für den Instanztyp (`InstanceType`) sowie den Endpunkt- und Variantennamen (ein bereitgestelltes Modell für AWS maschinelles Lernen), die während des Empfehlungsjobs verwendet wurden.

Das `Metrics` verschachtelte Wörterbuch enthält Informationen zu den geschätzten Kosten pro Stunde (`CostPerHour`) für Ihren Echtzeit-Endpunkt in US-Dollar, zu den geschätzten Kosten pro Inferenz (`CostPerInference`) in US-Dollar für Ihren Echtzeit-Endpunkt, zur erwarteten maximalen Anzahl von `InvokeEndpoint` Anfragen pro Minute, die an den Endpunkt gesendet werden (`MaxInvocations`), und zur Modelllatenz (`ModelLatency`), d. h. das Zeitintervall (in Millisekunden), das Ihr Modell benötigt hat, um auf SageMaker KI zu reagieren. Die Modelllatenz umfasst die lokalen Kommunikationszeiten für das Senden der Anfrage und das Abrufen der Antwort aus dem Container eines Modells sowie die Zeit, die für den Abschluss der Inferenz im Container benötigt wird.

Das `EndpointPerformances` verschachtelte Wörterbuch enthält den Namen Ihres vorhandenen Endpunkts, auf dem der Empfehlungsjob ausgeführt wurde (`EndpointName`), und die Leistungskennzahlen für Ihren Endpunkt (`MaxInvocations`und`ModelLatency`).