Verwenden von Amazon SageMaker Elastic Inference (EI) - 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.

Verwenden von Amazon SageMaker Elastic Inference (EI)

Durch die Verwendung von Amazon Elastic Inference (EI) können Sie den Durchsatz beschleunigen und die Latenz von Echtzeit-Inferenzen aus Ihren Deep Learning-Modellen, die als bereitgestellt wurden,Amazon SageMaker gehostete Modelle, aber zu einem Bruchteil der Kosten einer GPU-Instance für Ihren Endpunkt. EI ermöglicht das Hinzufügen von Inferenzbeschleunigung zu einem gehosteten Endpunkt zu einem Bruchteil der Kosten einer vollständigen GPU-Instance. Fügen Sie zusätzlich zu einem CPU-Instance-Typ einen EI-Accelerator in einer der verfügbaren Größen zu einem bereitstellbaren Modell hinzu und fügen Sie dann dieses Modell als Produktionsvariante zu einer Endpunktkonfiguration hinzu, die Sie zur Bereitstellung eines gehosteten Endpunkts verwenden. Sie können einem SageMaker auch einen EI-Beschleuniger hinzufügenNotebook-Instancedamit Sie die Inferenzleistung testen und auswerten können, wenn Sie Ihre Modelle erstellen.

Elastic Inference wird in EI-fähigen Versionen von TensorFlow, Apache MXNet und PyTorch unterstützt. Um ein beliebiges anderes Deep Learning-Framework zu verwenden, exportieren Sie Ihr Modell mithilfe von ONNX und importieren Sie es dann in MXNet. Anschließend können Sie Ihr Modell mit EI als MXNet-Modell verwenden. Weitere Informationen zum Importieren eines ONNX-Modells in MXNet finden Sie unter Importieren eines ONNX-Modells in MXNet.

Funktionsweise von EI

Amazon Elastic Inference Inference-Accelerator sind netzgebundene Geräte, die zusammen mit SageMaker-Instances in Ihrem Endpunkt zur Beschleunigung Ihrer Inferenzaufrufe beitragen. Elastic Inference beschleunigt die Inferenz, indem Sie die Möglichkeit erhalten, GPU-Bruchteile an SageMaker-Instance anzuhängen. Sie können die Client-Instance auswählen, mit der Ihre Anwendung ausgeführt werden soll, und einen Elastic Inference Accelerator anhängen, um die richtige Menge an GPU-Beschleunigung für Ihre Inferenzanforderungen zu verwenden. Elastic Inference hilft Ihnen, Ihre Kosten zu reduzieren, wenn Sie Ihre GPU-Instance nicht vollständig für die Inferenz nutzen. Wir empfehlen, Elastic Inference mit Ihrem Modell unter Verwendung unterschiedlicher CPU-Instances und Accelerator-Größen auszuprobieren.

Folgende EI-Accelerator-Typen sind verfügbar. Sie können Ihre Endpunkte oder Notebook-Instances mit jedem EI-Accelerator-Typ konfigurieren.

In der Tabelle ist der Durchsatz in Teraflops (TFLOPS) für Gleitkommaoperationen mit einfacher Genauigkeit (F32) und halber Genauigkeit (F16) angegeben. Der Arbeitsspeicher in GB wird ebenfalls aufgeführt.

Accelerator-Typ F32-Durchsatz in TFLOPS F16-Durchsatz in TFLOPS Arbeitsspeicher in GB
ml.eia2.medium 1 8 2
ml.eia2.large 2 16 4
ml.eia2.xlarge 4 32 8
ml.eia1.medium 1 8 1
ml.eia1.large 2 16 2
ml.eia1.xlarge 4 32 4

Auswählen eines EI-Accelerator-Typs

Beachten Sie die folgenden Faktoren bei der Auswahl eines Accelerator-Typs für ein gehostetes Modell:

  • Modelle, Eingabe-Tensoren und Stapelgrößen beeinflussen die benötigte Größe des Accelerator-Arbeitsspeichers. Beginnen Sie mit einem Accelerator-Typ, dessen Arbeitsspeicher mindestens der Dateigröße Ihres geschulten Modells entspricht. Berücksichtigen Sie, dass ein Modell zur Laufzeit deutlich mehr Arbeitsspeicher als die Dateigröße verbrauchen kann.

  • Die Anforderungen an CPU-Datenverarbeitungsressourcen, Hauptsystemspeicher, GPU-basierte Beschleunigung und Accelerator-Speicher können bei unterschiedlichen Deep Learning-Modellen stark variieren. Die Anforderungen der Anwendung an Latenz und Durchsatz bestimmen auch, welche Datenverarbeitungskapazität und Beschleunigung Sie benötigen. Testen Sie verschiedene Konfigurationen von Instance-Typen und EI-Accelerator-Größen ausgiebig, um sicherzustellen, dass Sie die Konfiguration wählen, die den Leistungsanforderungen Ihrer Anwendung entspricht.

Weitere Informationen zur Auswahl eines EI-Accelerators finden Sie unter:

Verwenden von EI in einer SageMaker-Notebook-

In der Regel erstellen und testen Sie Machine Learning-Modelle in einem SageMaker-Notebook, bevor Sie sie für die Produktion bereitstellen. Sie können EI bei der Erstellung der Notebook-Instance an Ihre Notebook-Instance anfügen. Sie können einen Endpunkt einrichten, der lokal auf der Notebook-Instance gehostet wird, indem Sie den lokalen Modus verwenden, der von TensorFlow-, MXNet- und PyTorch-Schätzfunktionen und -Modellen imAmazon SageMaker Python SDKum die Inferenzleistung zu testen. Elastic Inference-fähiges PyTorch wird derzeit auf Notebook-Instances nicht unterstützt. Anleitungen zum Anfügen von EI an eine Notebook-Instance und zum Einrichten eines lokalen Endpunkts für die Inferenz finden Sie unter Anfügen von EI an eine Notebook-Instance. Es gibt auch Elastic Inference-fähige SageMaker-Notebook-Jupyter-Kernels für Elastic Inference-fähige Versionen von TensorFlow und Apache MXNet. Weitere Informationen zur Verwendung von SageMaker-Notebook-Instances finden Sie unterVerwenden von Amazon SageMaker Notebook-

Verwenden von EI auf einem gehosteten Endpunkt

Wenn Sie bereit sind, Ihr Modell für die Produktion bereitzustellen und Inferenz zu bieten, erstellen Sie einen SageMaker-gehosteten Endpunkt. Sie können EI an die Instance anfügen, auf der Ihr Endpunkt gehostet wird, um die Leistung bei der Bereitstellung von Inferenzen zu erhöhen. Anleitungen zum Anfügen von EI an eine gehostete Endpunkt-Instance finden Sie unter Verwenden von EI auf Amazon SageMaker Hosted Endpunkten.

Frameworks, die EI unterstützen

Amazon Elastic Inference ist für die Verwendung mitAWSverbesserte Versionen von TensorFlow, Apache MXNet oder PyTorch Machine Learning-Frameworks. Diese erweiterten Versionen der Frameworks werden automatisch in Container integriert, wenn Sie das Amazon SageMaker-Python-SDK verwenden. Alternativ können Sie sie als binäre Dateien herunterladen und in Ihre eigenen Docker-Container importieren.

Sie können die EI-fähigen TensorFlow-Binärdateien von der Öffentlichkeit herunterladenAmazonei-TensorflowAmazon S3 S3-Bucket zu den TensorFlow Servierbehältern. Weitere Informationen zum Erstellen eines Containers, der die EI-fähige Version von TensorFlow verwendet, finden Sie unter Amazon Elastic Inference with TensorFlow in SageMaker.

Sie können die EI-fähigen MXNet-Binärdateien von der Öffentlichkeit herunterladenamazonei-apachemxnetAmazon S3 S3-Bucket zu den MXNet Servierbehältern. Weitere Informationen zum Erstellen eines Containers, der die EI-fähige Version von MxNet verwendet, finden Sie unter Amazon Elastic Inference with MxNet in SageMaker.

Sie können die EI-fähigen PyTorch-Binärdateien von der Öffentlichkeit herunterladenAmazonei-PytorchAmazon S3 S3-Bucket zu den PyTorch Servierbehältern. Weitere Informationen zum Erstellen eines Containers, der die EI-fähige Version von PyTorch verwendet, finden Sie unter Amazon Elastic Inference with PyTorch in SageMaker.

Um Elastic Inference in einem gehosteten Endpunkt zu verwenden, können Sie je nach Bedarf eines der folgenden Frameworks auswählen.

Wenn Sie einen benutzerdefinierten Container für die Bereitstellung Ihres Modells erstellen müssen, der komplex ist und Erweiterungen für ein Framework erfordert, das von den SageMaker-vorgefertigten -Containern nicht unterstützt wird, verwenden Siedas -Low-LevelAWSSDK für Python (Boto 3)aus.

Verwenden von EI mit in SageMaker integrierten Algorithmen

Derzeit unterstützen die integrierten Algorithmen Bildklassifikationsalgorithmus und Objekterkennungsalgorithmus EI. Ein Beispiel, das den Bildklassifizierungsalgorithmus mit EI verwendet, finden Sie unter End-to-End Multiclass Image Classification Example.

Beispiel-Notebooks für EI

Die folgenden Beispiel-Notebooks enthalten Beispiele für die Verwendung von EI in SageMaker: