Modelle für Inference einsetzen - 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.

Modelle für Inference einsetzen

Mit Amazon können Sie Ihre Machine Learning (ML)-Modelle bereitstellen SageMaker, um Vorhersagen zu treffen, auch bekannt als Inferenz. SageMaker bietet eine breite Auswahl an ML-Infrastruktur- und Modellbereitstellungsoptionen, um all Ihren ML-Inferenzanforderungen gerecht zu werden. Es handelt sich um einen vollständig verwalteten Service, in den die MLOps-Tools integriert werden können, so dass Sie den Einsatz Ihrer Modelle skalieren, die Inference-Kosten senken, Modelle in der Produktion effektiver einsetzen und den betrieblichen Aufwand reduzieren können.

Nachdem Sie ein Machine-Learning-Modell erstellt und trainiert haben, können Sie SageMaker Inference verwenden, um mit dem Abrufen von Vorhersagen oder Inferenzen aus Ihrem Modell zu beginnen. Mit SageMaker Inferenz können Sie entweder einen Endpunkt einrichten, der Inferenzen zurückgibt, oder Batch-Inferenzen aus Ihrem Modell ausführen.

Um mit SageMaker Inference zu beginnen, lesen Sie die folgenden Abschnitte und überprüfen Sie die , Inference-Optionen um festzustellen, welches Feature am besten zu Ihrem Anwendungsfall passt.

Im Ressourcen Abschnitt finden Sie weitere Informationen zur Fehlerbehebung und können Informationen, Blogs und Beispiele durchgehen, die Ihnen den Einstieg erleichtern, sowie häufig gestellte Fragen.

Bevor Sie beginnen

In diesen Themen wird davon ausgegangen, dass Sie ein oder mehrere Machine Learning-Modelle erstellt und trainiert haben und bereit sind, sie bereitzustellen. Sie müssen Ihr Modell nicht in trainieren, SageMaker um Ihr Modell in bereitzustellen SageMaker und Rückschlüsse zu ziehen. Wenn Sie kein eigenes Modell haben, können Sie auch SageMakerdie integrierten Algorithmen oder vortrainierten Modelle von verwenden.

Wenn Sie noch nicht mit einem Modell vertraut sind SageMaker und es noch nicht ausgewählt haben, führen Sie die Schritte im Tutorial Erste Schritte mit Amazon SageMaker aus, um sich mit einem Beispiel dafür vertraut zu machen, wie SageMaker den datenwissenschaftlichen Prozess verwaltet und wie es die Modellbereitstellung handhabt. Weitere Informationen zum Trainieren eines Modells finden Sie unter Modelle trainieren.

Weitere Informationen, Referenzen und Beispiele finden Sie in der Ressourcen.

Schritte beim Modelleinsatz

Der allgemeine Arbeitsablauf für Inference-Endpunkte besteht aus den folgenden Schritten:

  • Erstellen Sie ein Modell in SageMaker Inferenz, indem Sie auf Modellartefakte verweisen, die in Amazon S3 und einem Container-Image gespeichert sind.

  • Wählen Sie eine Inference-Option aus. Weitere Informationen finden Sie unter Inference-Optionen.

  • Erstellen Sie eine SageMaker Inferenzendpunktkonfiguration, indem Sie den Instance-Typ und die Anzahl der Instances auswählen, die Sie hinter dem Endpunkt benötigen. Sie können Amazon SageMaker Inference Recommender verwenden, um Empfehlungen für Instance-Typen zu erhalten. Für Serverless Inference brauchen Sie nur die Speicherkonfiguration anzugeben, die Sie bei Ihrer Modellgröße brauchen.

  • Erstellen Sie einen SageMaker Inferenzendpunkt.

  • Rufen Sie Ihren Endpunkt auf, um als Antwort eine Inference zu erhalten.

Das folgende Diagramm zeigt den vorangehenden Arbeitsablauf.


                Ein Diagramm des im vorherigen Absatz beschriebenen Workflows, das zeigt, wie man Schlussfolgerungen von erhält SageMaker.

Sie können diese Aktionen über die AWSKonsole, die -AWSSDKs, das SageMaker Python-SDK AWS CloudFormation oder die ausführenAWS CLI. SDKs

Für Batch-Inference mit Stapel-Transformation verweisen Sie auf Ihre Modellartefakte und Eingabedaten und erstellen Sie einen Batch-Inference-Auftrag. Anstatt einen Endpunkt für die Inferenz zu hosten, SageMaker gibt Ihre Inferenzen an einen Amazon S3-Speicherort Ihrer Wahl aus.

Inference-Optionen

SageMaker bietet mehrere Inferenzoptionen, sodass Sie die Option auswählen können, die am besten zu Ihrem Workload passt:

  • Echtzeit-Inferenz: Echtzeit-Inferenz eignet sich ideal für Online-Inferences, die eine geringe Latenz oder einen hohen Durchsatz erfordern. Verwenden Sie Echtzeit-Inferenz für einen persistenten und vollständig verwalteten Endpunkt (REST API), der anhaltenden Datenverkehr verarbeiten kann, unterstützt durch den Instance-Typ Ihrer Wahl. Echtzeit-Inferenz kann Nutzlasten von bis zu 6 MB und Verarbeitungszeiten von 60 Sekunden unterstützen.

  • Serverless Inference :Serverless Inference ist ideal, wenn Sie intermittierende oder unvorhersehbare Datenverkehrsmuster haben. SageMaker verwaltet die gesamte zugrunde liegende Infrastruktur, sodass Sie keine Instances oder Skalierungsrichtlinien verwalten müssen. Sie bezahlen nur für das, was Sie tatsächlich nutzen und nicht für Leerlaufzeit. Unterstützt werden Nutzlasten bis 4 MB und Verarbeitungszeiten von bis zu 60 Sekunden.

  • Batch-Transformation: Die Batch-Transformation eignet sich für die Offline-Verarbeitung, wenn große Datenmengen im Voraus verfügbar sind und Sie keinen persistenten Endpunkt brauchen. Sie können die Batch-Transformation auch zum Vorverarbeiten von Datensätzen verwenden. Sie kann große Datensätze mit mehreren GB und Verarbeitungszeiten von mehreren Tagen unterstützen.

  • Asynchrone Inference: Die Asynchrone Inference eignet sich ideal, wenn Sie Anfragen in eine Warteschlange stellen möchten und große Nutzlasten mit langen Verarbeitungszeiten haben. Die asynchrone Inference unterstützt Nutzlasten bis 1 GB und lange Verarbeitungszeiten von bis zu einer Stunde. Sie können Ihren Endpunkt auch auf 0 herunterskalieren, wenn keine Anfragen verarbeitet werden müssen.

Das folgende Diagramm zeigt die obigen Informationen in einem Flussdiagramm. Damit können Sie diejenige Option auswählen, die am besten zu Ihrem Anwendungsfall passt.


                Ein Diagramm, das die Vorteile jeder  SageMaker Inferenzoption auflistet. Die Vorteile werden in den obigen Abschnitten ausführlich beschrieben.

Erweiterte Endpunkt-Optionen

Mit Echtzeit-Inferenz können Sie mit Hilfe der folgenden erweiterten Inference-Optionen Leistung und Kosten weiter optimieren:

  • Wenn Sie mehrere Modelle haben, die dasselbe Framework verwenden und einen Container gemeinsam nutzen können, verwenden Sie Hosten Sie mehrere Modelle in einem Container hinter einem Endpunkt. Mit dieser Option können Sie die Kosten optimieren, indem sie die Auslastung der Endpunkte verbessert und den Bereitstellungsaufwand reduziert.

  • Wenn Sie mehrere Modelle haben, die unterschiedliche Frameworks verwenden und eigene Container brauchen, verwenden Sie Hosten Sie mehrere Modelle, die unterschiedliche Container hinter einem Endpunkt verwenden. Mit dieser Option profitieren Sie von vielen Vorteilen von Multi-Model-Endpunkten und können eine Vielzahl von Frameworks und Modellen einsetzen.

  • Wenn Sie Modelle mit Vor- und Nachverarbeitungslogik hinter einem Endpunkt hosten möchten, verwenden Sie serielle Inferenz-Pipelines. Inferenz-Pipelines werden vollständig von verwaltet SageMaker und bieten eine geringere Latenz, da alle Container auf denselben Amazon EC2 gehostet werden.

Bringen Sie Ihr eigenes Modell mit

Informationen zur Verwendung eines vorhandenen Docker- SageMakerContainers in finden Sie unter Anpassen Ihres eigenen Docker-Containers für die Arbeit mit SageMaker.

Unter den folgenden Links finden Sie Informationen dazu, wie Sie einen neuen Docker-Container erstellen können, sowie eine weiterführende Anleitung dazu, wie Sie Ihren eigenen Inference-Code ausführen können.

Nächste Schritte

Nachdem Sie über einen Endpunkt verfügen und den allgemeinen Inferenz-Workflow verstanden haben, können Sie die folgenden Funktionen in SageMaker Inference verwenden, um Ihren Inferenz-Workflow zu verbessern.

Überwachen

Mit dem Model Monitor können Sie Ihr Modell im Lauf der Zeit anhand von Kennzahlen wie Modellgenauigkeit und Modellabweichung verfolgen. Mit dem Model Monitor können Sie Warnmeldungen einrichten, die Sie benachrichtigen, wenn es in der Qualität Ihres Modells zu Abweichungen kommt. Weitere Informationen finden Sie in der Dokumentation zum Model Monitor. Weitere Informationen zu Tools, die zur Überwachung von Modellbereitstellungen und Ereignissen verwendet werden können, die Ihren Endpunkt ändern, finden Sie unter Überwachen von Amazon SageMaker. Sie können beispielsweise den Zustand Ihres Endpunkts mithilfe von Metriken wie Aufruffehlern und Modelllatenz mithilfe von Amazon- CloudWatch Metriken überwachen. Die SageMaker Metriken zum Endpunktaufruf können Ihnen wertvolle Informationen über die Leistung Ihres Endpunkts liefern.

CI/CD für den Modelleinsatz

Um Machine-Learning-Lösungen in zusammenzustellen SageMaker, können Sie SageMaker MLOps verwenden. Mit HIlfe dieser Funktion können Sie die Schritte in Ihrem Workflow für Machine Learning automatisieren und CI/CD üben. Sie können MLOps-Projektvorlagen verwenden, um die Einrichtung und Implementierung von SageMaker MLOps-Projekten zu unterstützen. unterstützt SageMaker auch die Verwendung Ihres eigenen Git-Repos von Drittanbietern zum Erstellen eines CI/CD-Systems.

Mit Model Registry für Ihre ML-Pipelines können Sie Ihre Modellversionen sowie die Bereitstellung und Automatisierung Ihrer Modelle verwalten.

Leitlinien für den Einsatz

Wenn Sie Ihr Modell bei laufender Produktion aktualisieren möchten, ohne die Produktion zu beeinträchtigen, können Sie Leitlinien für den Einsatz verwenden. Bereitstellungsleitplanken sind eine Reihe von Optionen zur Modellbereitstellung in SageMaker Inference, um Ihre Machine-Learning-Modelle in der Produktion zu aktualisieren. Mithilfe der vollständig verwalteten Bereitstellungsoptionen können Sie die Umstellung vom aktuellen Modell in der Produktion auf ein neues steuern. Die Betriebsarten zur Verlagerung des Datenverkehrs geben Ihnen die detaillierte Kontrolle über Verlagerung des Datenverkehrs, und integrierte Sicherheitsvorkehrungen wie automatisches Rollback helfen Ihnen dabei, Probleme frühzeitig zu erkennen. Weitere Informationen zu Leitlinien für den Einsatz finden Sie in der Dokumentation zu Leitlinien für den Einsatz.

Inferentia

Wenn Sie umfangreiche Anwendungen für Machine Learning und Deep Learning für Anwendungsfälle wie Bild- oder Spracherkennung, natürliche Sprachverarbeitung (NLP), Personalisierung, Prognose oder Betrugserkennung ausführen müssen, können Sie eine Inf1 Instance mit einem Echtzeitendpunkt verwenden.

Inf1 Instances sind so konzipiert, dass sie Inference-Anwendungen für Machine Learning unterstützen und verfügen über die AWS Inferentia-Chips. Inf1 Instances bieten einen höheren Durchsatz und niedrigere Kosten pro Inferenz als GPU-basierte Instances.

Um ein Modell auf Inf1 Instances bereitzustellen, kompilieren Sie Ihr Modell mit SageMaker Neo und wählen Sie eine Inf1 Instance für Ihre Bereitstellungsoption aus. Weitere Informationen finden Sie unter Optimieren der Modellleistung mit SageMaker Neo .

Optimierung der Modellleistung

SageMaker bietet Funktionen zur Verwaltung von Ressourcen und zur Optimierung der Inferenzleistung bei der Bereitstellung von Machine-Learning-Modellen. Sie können SageMakerdie integrierten Algorithmen und vorgefertigten Modelle von sowie vorgefertigte Docker-Images von verwenden, die für Machine Learning entwickelt wurden. Informationen dazu TensorFlow, wie Sie die Modelle , Apache MXNet PyTorch,ONNX und XGBoost einmal trainieren und für die Bereitstellung auf ARM-, Intel- und Nvidia-Prozessoren optimieren, finden Sie unter Optimieren der Modellleistung mit SageMaker Neo .

Auto Scaling

Wenn der Datenverkehr zu Ihren Endpunkten variiert, sollten Sie vielleicht Auto-Scaling ausprobieren. Zu Spitzenzeiten brauchen Sie z.B. ggf. mehr Instances, um Anfragen zu verarbeiten. In Zeiten mit geringem Datenverkehr möchten Sie jedoch vielleicht die die Auslastung Ihrer Datenverarbeitungsressourcen reduzieren. Für Informationen zum dynamischen Anpassen der Anzahl der bereitgestellten Instances als Reaktion auf Änderungen der Workload siehe Automatische Skalierung von Amazon- SageMaker Modellen.

Wenn Sie unvorhersehbare Datenverkehrsmuster haben oder keine Skalierungsrichtlinien einrichten möchten, können Sie Serverless Inference auch für einen Endpunkt verwenden, an dem die automatische Skalierung für Sie SageMaker verwaltet. In Zeiten mit geringem Datenverkehr SageMaker skaliert Ihren Endpunkt herunter, und wenn der Datenverkehr zunimmt, SageMaker skaliert Ihren Endpunkt hoch. Weitere Informationen finden Sie in der Dokumentation zu Serverless Inference.