Mit Neo zusammengestellte Empfehlungen - Amazon SageMaker

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.

Mit Neo zusammengestellte Empfehlungen

In Inference Recommender können Sie Ihr Modell mit Neo kompilieren und Endpunktempfehlungen für Ihr kompiliertes Modell abrufen. SageMaker Neo ist ein Service, der Ihr Modell für eine Zielhardwareplattform (d. h. einen bestimmten Instanztyp oder eine bestimmte Umgebung) optimieren kann. Die Optimierung eines Modells mit Neo kann die Leistung Ihres gehosteten Modells verbessern.

Für von NEO unterstützte Frameworks und Container schlägt Inference Recommender automatisch NEO-optimierte Empfehlungen vor. Um für die Neo-Kompilierung in Frage zu kommen, muss Ihr Input die folgenden Voraussetzungen erfüllen:

  • Sie verwenden einen SageMaker eigenen Dienst DLCoder einen XGBoost Container.

  • Sie verwenden eine Framework-Version, die von Neo unterstützt wird. Die von Neo unterstützten Framework-Versionen finden Sie Cloud-Instances in der SageMaker Neo-Dokumentation.

  • Neo erfordert, dass Sie eine korrekte Eingabedatenform für Ihr Modell angeben. Sie können diese Datenform als DataInputConfig im InferenceSpecification angeben, wenn Sie ein Modellpaket erstellen. Informationen zu den richtigen Datenformen für jedes Framework finden Sie in der SageMaker Neo-Dokumentation unter Modell für die Kompilierung vorbereiten.

    Das folgende Beispiel zeigt, wie das DataInputConfig Feld in der InferenceSpecification angegeben wird. Dabei handelt es sich um eine Variable data_input_configuration, die die Datenform im Wörterbuchformat enthält (z. B. {'input':[1,1024,1024,3]}).

    "InferenceSpecification": { "Containers": [ { "Image": dlc_uri, "Framework": framework.upper(), "FrameworkVersion": framework_version, "NearestModelName": model_name, "ModelInput": {"DataInputConfig": data_input_configuration}, } ], "SupportedContentTypes": input_mime_types, # required, must be non-null "SupportedResponseMIMETypes": [], "SupportedRealtimeInferenceInstanceTypes": supported_realtime_inference_types, # optional }

Wenn diese Bedingungen in Ihrer Anfrage erfüllt sind, führt Inference Recommender Szenarien sowohl für kompilierte als auch für unkompilierte Versionen Ihres Modells aus, sodass Sie aus mehreren Empfehlungskombinationen wählen können. Sie können die Konfigurationen für kompilierte und unkompilierte Versionen derselben Inferenzempfehlung vergleichen und herausfinden, welche am besten zu Ihrem Anwendungsfall passt. Die Empfehlungen sind nach den Kosten pro Inferenz geordnet.

Um die Empfehlungen zur Neo-Kompilierung zu erhalten, müssen Sie keine zusätzliche Konfiguration vornehmen, außer sicherzustellen, dass Ihre Eingabe die oben genannten Anforderungen erfüllt. Inference Recommender führt automatisch die Neo-Kompilierung auf Ihrem Modell durch, wenn Ihre Eingabe die Anforderungen erfüllt, und Sie erhalten eine Antwort, die Neo-Empfehlungen enthält.

Falls bei der Neo-Kompilierung Fehler auftreten, finden Sie weitere Informationen unter Beheben von NEO-Kompilierungsfehlern.

Die folgende Tabelle ist ein Beispiel für eine Antwort, die Sie möglicherweise von einem Inference Recommender-Job erhalten, der Empfehlungen für kompilierte Modelle enthält. Wenn das InferenceSpecificationName Feld den Wert hat None, handelt es sich bei der Empfehlung um ein unkompiliertes Modell. Die letzte Zeile, in der sich der Wert für das InferenceSpecificationNameFeld befindetneo-00011122-2333-4445-5566-677788899900, bezieht sich auf ein mit Neo kompiliertes Modell. Der Wert im Feld ist der Name des Neo-Jobs, der zur Kompilierung und Optimierung Ihres Modells verwendet wird.

EndpointName InstanceType InitialInstanceCount EnvironmentParameters CostPerHour CostPerInference MaxInvocations ModelLatency InferenceSpecificationName

sm-epc-example-000111222

ml.c5.9xlarge

1

[]

1,836

9,15E-07

33456

7

None

sm-epc-example-111222333

ml.c5.2xlarge

1

[]

0,408

2,11E-07

32211

21

None

sm-epc-example-222333444

ml.c5.xlarge

1

[]

0,204

1,86E-07

18276

92

None

sm-epc-example-333444555

ml.c5.xlarge

1

[]

0,204

1,60E-07

21286

42

neo-00011122-2333-4445-5566-677788899900

Erste Schritte

Die allgemeinen Schritte zur Erstellung eines Inference Recommender-Jobs, der NEO-optimierte Empfehlungen enthält, lauten wie folgt:

  • Bereiten Sie Ihr ML-Modell für die Kompilierung vor. Weitere Informationen finden Sie unter Modell für die Kompilierung vorbereiten in der Neo-Dokumentation.

  • Package Sie Ihr Modell in einem Modellarchiv (.tar.gz Datei).

  • Erstellen Sie ein Beispiel-Payload-Archiv.

  • Registrieren Sie Ihr Modell in der SageMaker Modellregistrierung.

  • Erstellen Sie einen Inference Recommender-Job.

  • Sehen Sie sich die Ergebnisse des Inference Recommender-Jobs an und wählen Sie eine Konfiguration aus.

  • Debuggen Sie Kompilierungsfehler, falls vorhanden. Weitere Informationen finden Sie unter Fehlerbehebung bei Neo-Kompilierungsfehlern.

Ein Beispiel, das den vorherigen Arbeitsablauf und die Verwendung von NEO-optimierten Empfehlungen demonstriertXGBoost, finden Sie im folgenden Beispiel-Notizbuch. Ein Beispiel, das zeigt, wie Sie mithilfe von NEO-optimierte Empfehlungen abrufen können TensorFlow, finden Sie im folgenden Beispielnotizbuch.