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.
Implementieren Sie Modelle für Inferenz in Echtzeit
Wichtig
Benutzerdefinierte IAM Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen auch Berechtigungen zum Hinzufügen von Tags zu diesen Ressourcen gewähren. Die Genehmigung zum Hinzufügen von Tags zu Ressourcen ist erforderlich, da Studio und Studio Classic automatisch alle von ihnen erstellten Ressourcen taggen. Wenn eine IAM Richtlinie Studio und Studio Classic das Erstellen von Ressourcen, aber kein Taggen erlaubt, können "AccessDenied" Fehler auftreten, wenn versucht wird, Ressourcen zu erstellen. Weitere Informationen finden Sie unter Stellen Sie Berechtigungen für das Taggen von Ressourcen SageMaker bereit.
AWS Verwaltete Richtlinien für Amazon SageMakerdie Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, beinhalten bereits Berechtigungen zum Hinzufügen von Tags beim Erstellen dieser Ressourcen.
Es gibt mehrere Möglichkeiten, ein Modell mithilfe von SageMaker Hosting-Diensten bereitzustellen. Sie können ein Modell interaktiv mit SageMaker Studio bereitstellen. Oder Sie können ein Modell programmgesteuert mit einem bereitstellen AWS SDK, z. B. SageMaker Python SDK oder SDK for Python (Boto3). Sie können die Bereitstellung auch mit dem durchführen. AWS CLI
Bevor Sie beginnen
Bevor Sie ein SageMaker Modell bereitstellen, suchen und notieren Sie sich Folgendes:
-
AWS-Region Wo sich Ihr Amazon S3 S3-Bucket befindet
-
Der Amazon S3 URI S3-Pfad, in dem die Modellartefakte gespeichert sind
-
Die IAM Rolle für SageMaker
-
Der Docker ECR URI Amazon-Registrierungspfad für das benutzerdefinierte Image, das den Inferenzcode enthält, oder das Framework und die Version eines integrierten Docker-Images, das unterstützt wird und von AWS
Eine Liste der jeweils AWS-Services AWS-Region verfügbaren Netzwerke finden Sie unter Regionskarten und
Wichtig
Der Amazon S3 S3-Bucket, in dem die Modellartefakte gespeichert sind, muss sich in demselben Modell befinden AWS-Region wie das Modell, das Sie erstellen.
Gemeinsame Ressourcennutzung mit mehreren Modellen
Sie können mit Amazon ein oder mehrere Modelle auf einem Endpunkt bereitstellen SageMaker. Wenn sich mehrere Modelle einen Endpunkt teilen, nutzen sie gemeinsam die Ressourcen, die dort gehostet werden, wie z. B. die ML-Recheninstanzen und Beschleuniger. CPUs Die flexibelste Methode, mehrere Modelle auf einem Endpunkt bereitzustellen, besteht darin, jedes Modell als Inferenzkomponente zu definieren.
Inferenzkomponenten
Eine Inferenzkomponente ist ein SageMaker Hosting-Objekt, mit dem Sie ein Modell auf einem Endpunkt bereitstellen können. In den Einstellungen für die Inferenzkomponente geben Sie das Modell, den Endpunkt und die Art und Weise an, wie das Modell die Ressourcen nutzt, die der Endpunkt hostet. Um das Modell zu spezifizieren, können Sie ein SageMaker Model-Objekt angeben, oder Sie können die Modellartefakte und das Bild direkt angeben.
In den Einstellungen können Sie die Ressourcennutzung optimieren, indem Sie anpassen, wie die erforderlichen CPU Kerne, Beschleuniger und Speicher dem Modell zugewiesen werden. Sie können mehrere Inferenzkomponenten für einen Endpunkt bereitstellen, wobei jede Inferenzkomponente ein Modell und die für dieses Modell erforderliche Ressourcennutzung enthält.
Nachdem Sie eine Inferenzkomponente bereitgestellt haben, können Sie das zugehörige Modell direkt aufrufen, wenn Sie die Aktion in der InvokeEndpoint verwenden. SageMaker API
Inferenzkomponenten bieten die folgenden Vorteile:
- Flexibilität
-
Die Inferenzkomponente entkoppelt die Details des Hostings des Modells vom Endpunkt selbst. Dies bietet mehr Flexibilität und Kontrolle darüber, wie Modelle über einen Endpunkt gehostet und bereitgestellt werden. Sie können mehrere Modelle auf derselben Infrastruktur hosten und je nach Bedarf Modelle zu einem Endpunkt hinzufügen oder daraus entfernen. Sie können jedes Modell unabhängig aktualisieren.
- Skalierbarkeit
-
Sie können angeben, wie viele Kopien jedes Modells bereitgestellt werden sollen, und Sie können eine Mindestanzahl von Kopien festlegen, um sicherzustellen, dass das Modell in der Menge geladen wird, die Sie für die Bearbeitung von Anfragen benötigen. Sie können jede Kopie einer Inferenzkomponente auf Null herunterskalieren, sodass Platz für eine weitere Kopie zur Vergrößerung geschaffen wird.
SageMaker verpackt Ihre Modelle als Inferenzkomponenten, wenn Sie sie bereitstellen, indem Sie Folgendes verwenden:
-
SageMaker Studio Classic.
-
Das SageMaker Python SDK zum Bereitstellen eines Model-Objekts (wo Sie den Endpunkttyp auf setzen
EndpointType.INFERENCE_COMPONENT_BASED
). -
Das AWS SDK for Python (Boto3) , um
InferenceComponent
Objekte zu definieren, die Sie auf einem Endpunkt bereitstellen.
Stellen Sie Modelle mit SageMaker Studio bereit
Führen Sie die folgenden Schritte aus, um Ihr Modell interaktiv über SageMaker Studio zu erstellen und bereitzustellen. Weitere Informationen zu Studio finden Sie in der Studio-Dokumentation. Weitere Anleitungen zu verschiedenen Bereitstellungsszenarien finden Sie im Blog Verpacken und Bereitstellen klassischer ML-Modelle und das LLMs ganz einfach mit Amazon SageMaker — Teil 2.
Bereiten Sie Ihre Artefakte und Berechtigungen vor
Füllen Sie diesen Abschnitt aus, bevor Sie ein Modell in SageMaker Studio erstellen.
Sie haben zwei Möglichkeiten, Ihre Artefakte mitzunehmen und ein Modell in Studio zu erstellen:
-
Sie können ein vorgefertigtes
tar.gz
Archiv mitbringen, das Ihre Modellartefakte, beliebigen benutzerdefinierten Inferenzcode und alle in einerrequirements.txt
Datei aufgelisteten Abhängigkeiten enthalten sollte. -
SageMaker kann Ihre Artefakte für Sie verpacken. Sie müssen nur Ihre Rohmodellartefakte und alle Abhängigkeiten in einer
requirements.txt
Datei zusammenfügen und SageMaker können den Standard-Inferenzcode für Sie bereitstellen (oder Sie können den Standardcode mit Ihrem eigenen benutzerdefinierten Inferenzcode überschreiben). SageMakerunterstützt diese Option für die folgenden Frameworks: PyTorch,. XGBoost
Sie müssen nicht nur Ihr Modell, Ihre Rolle AWS Identity and Access Management (IAM) und einen Docker-Container (oder das gewünschte Framework und die Version, für die es SageMaker einen vorgefertigten Container gibt) mitbringen, sondern auch Berechtigungen zum Erstellen und Bereitstellen von Modellen über SageMaker Studio erteilen.
Sie sollten die AmazonSageMakerFullAccessRichtlinie an Ihre IAM Rolle angehängt haben, damit Sie auf andere relevante Dienste zugreifen SageMaker können. Um die Preise der Instanztypen in Studio zu sehen, müssen Sie auch die AWS PriceListServiceFullAccessRichtlinie anhängen (oder, wenn Sie nicht die gesamte Richtlinie anhängen möchten, genauer gesagt die pricing:GetProducts
Aktion).
Wenn Sie beim Erstellen eines Modells Ihre Modellartefakte hochladen möchten (oder eine Beispiel-Payload-Datei für Inferenzempfehlungen hochladen), müssen Sie einen Amazon S3 S3-Bucket erstellen. Dem Bucket-Namen muss das Wort vorangestellt werden. SageMaker
Alternative Groß-/Kleinschreibung von ist SageMaker ebenfalls zulässig: Sagemaker
oder. sagemaker
Wir empfehlen, dass Sie die Benennungskonvention sagemaker-{
für Buckets verwenden. Dieser Bucket wird verwendet, um die Artefakte zu speichern, die Sie hochladen.Region
}-{accountID
}
Nachdem Sie den Bucket erstellt haben, fügen Sie dem Bucket die folgende Richtlinie CORS (ursprungsübergreifende gemeinsame Nutzung von Ressourcen) hinzu:
[ { "AllowedHeaders": ["*"], "ExposeHeaders": ["Etag"], "AllowedMethods": ["PUT", "POST"], "AllowedOrigins": ['https://*.sagemaker.aws'], } ]
Sie können eine CORS Richtlinie mit einer der folgenden Methoden an einen Amazon S3 S3-Bucket anhängen:
-
Über die Seite Cross-Origin Resource Sharing bearbeiten (CORS)
in der Amazon S3 S3-Konsole -
Amazon S3 verwenden API PutBucketCors
-
Mit dem put-bucket-cors AWS CLI Befehl:
aws s3api put-bucket-cors --bucket="..." --cors-configuration="..."
Erstellen Sie ein einsatzfähiges Modell
In diesem Schritt erstellen Sie eine bereitstellbare Version Ihres Modells, SageMaker indem Sie Ihre Artefakte zusammen mit zusätzlichen Spezifikationen angeben, z. B. den gewünschten Container und das Framework, beliebigen benutzerdefinierten Inferenzcode und Netzwerkeinstellungen.
Erstellen Sie ein bereitstellbares Modell in SageMaker Studio, indem Sie wie folgt vorgehen:
-
Öffnen Sie die SageMaker Studio-Anwendung.
-
Wählen Sie im linken Navigationsbereich Models (Modelle) aus.
-
Wählen Sie die Registerkarte Bereitstellbare Modelle.
-
Wählen Sie auf der Seite Bereitstellbare Modelle die Option Erstellen aus.
-
Geben Sie auf der Seite Bereitstellbares Modell erstellen in das Feld Modellname einen Namen für das Modell ein.
Auf der Seite Bereitstellbares Modell erstellen gibt es mehrere weitere Abschnitte, die Sie ausfüllen müssen.
Der Abschnitt mit der Container-Definition sieht wie der folgende Screenshot aus:
Gehen Sie für den Abschnitt Container-Definition wie folgt vor:
-
Wählen Sie als Containertyp die Option Vorgefertigter Container aus, wenn Sie einen SageMaker verwalteten Container verwenden möchten, oder wählen Sie Bring your own container aus, wenn Sie Ihren eigenen Container haben.
-
Wenn Sie Vorgefertigte Container ausgewählt haben, wählen Sie das Container-Framework, die Framework-Version und den Hardwaretyp aus, den Sie verwenden möchten.
-
Wenn Sie Bring your own container ausgewählt haben, geben Sie einen ECR Amazon-Pfad als ECRPfad zum Container-Image ein.
Füllen Sie dann den Abschnitt Artefakte aus, der wie der folgende Screenshot aussieht:
Gehen Sie für den Abschnitt Artefakte wie folgt vor:
-
Wenn Sie eines der Frameworks verwenden, das Modellartefakte (PyTorch oderXGBoost) für das Verpacken SageMaker unterstützt, können Sie für Artefakte die Option Artefakte hochladen wählen. Mit dieser Option können Sie einfach Ihre Rohmodellartefakte, beliebigen benutzerdefinierten Inferenzcode und Ihre Datei requirements.txt angeben und das Paketieren SageMaker des Archivs für Sie übernehmen. Gehen Sie wie folgt vor:
-
Wählen Sie unter Artefakte die Option Artefakte hochladen aus, um Ihre Dateien weiterhin bereitzustellen. Andernfalls, wenn Sie bereits über ein
tar.gz
Archiv verfügen, das Ihre Modelldateien, Ihren Inferenzcode und Ihrerequirements.txt
Datei enthält, wählen Sie Input S3 für vorverpackte URI Artefakte. -
Wenn Sie Ihre Artefakte hochladen möchten, geben Sie für S3-Bucket den Amazon S3 S3-Pfad zu einem Bucket ein, in dem Sie Ihre Artefakte speichern SageMaker möchten, nachdem Sie sie für Sie verpackt haben. Führen Sie dann die folgenden Schritte aus.
-
Laden Sie unter Modellartefakte hochladen Ihre Modelldateien hoch.
-
Wählen Sie unter Inferenzcode die Option Standard-Inferenzcode verwenden aus, wenn Sie Standardcode verwenden möchten, der die Bereitstellung von Inferenzen SageMaker ermöglicht. Wählen Sie andernfalls Benutzerdefinierten Inferenzcode hochladen aus, um Ihren eigenen Inferenzcode zu verwenden.
-
Laden Sie für Upload requirements.txt eine Textdatei hoch, in der alle Abhängigkeiten aufgeführt sind, die Sie zur Laufzeit installieren möchten.
-
-
Wenn Sie kein Framework verwenden, das das Verpacken von Modellartefakten SageMaker unterstützt, zeigt Ihnen Studio die Option Vorgepackte Artefakte an, und Sie müssen alle Ihre Artefakte, die bereits verpackt sind, als
tar.gz
Archiv bereitstellen. Gehen Sie wie folgt vor:-
Wählen Sie für vorverpackte Artefakte Input S3 URI für vorverpackte Modellartefakte aus, wenn Sie Ihr
tar.gz
Archiv bereits auf Amazon S3 hochgeladen haben. Wählen Sie Vorverpackte Modellartefakte hochladen aus, wenn Sie Ihr Archiv direkt hochladen möchten. SageMaker -
Wenn Sie Input S3 URI für vorverpackte Modellartefakte ausgewählt haben, geben Sie den Amazon S3 S3-Pfad zu Ihrem Archiv für S3 URI ein. Andernfalls wählen Sie das Archiv aus und laden Sie es von Ihrem lokalen Computer hoch.
-
Der nächste Abschnitt ist Sicherheit, der wie der folgende Screenshot aussieht:
Gehen Sie für den Abschnitt Sicherheit wie folgt vor:
-
Geben Sie für IAMRolle den ARN für eine IAM Rolle ein.
-
(Optional) Für Virtual Private Cloud (VPC) können Sie ein Amazon VPC zum Speichern Ihrer Modellkonfiguration und Ihrer Artefakte auswählen.
-
(Optional) Aktivieren Sie den Schalter Netzwerkisolierung, wenn Sie den Internetzugang Ihres Containers einschränken möchten.
Schließlich können Sie optional den Abschnitt Erweiterte Optionen ausfüllen, der wie der folgende Screenshot aussieht:
(Optional) Gehen Sie im Abschnitt Erweiterte Optionen wie folgt vor:
-
Aktivieren Sie die Option Benutzerdefinierte Instanzempfehlungen, wenn Sie nach der Erstellung einen Amazon SageMaker Inference Recommender-Job für Ihr Modell ausführen möchten. Inference Recommender ist eine Funktion, die Ihnen empfohlene Instance-Typen zur Optimierung der Leistung und der Kosten von Inferenzen bietet. Sie können sich diese Instanzempfehlungen ansehen, wenn Sie sich auf die Bereitstellung Ihres Modells vorbereiten.
-
Geben Sie unter Umgebungsvariablen hinzufügen eine Umgebungsvariable für Ihren Container als Schlüssel-Wert-Paare ein.
-
Geben Sie für Tags beliebige Tags als Schlüssel-Wert-Paare ein.
-
Nachdem Sie Ihre Modell- und Container-Konfiguration abgeschlossen haben, wählen Sie Create Deployable Model aus.
Sie sollten jetzt über ein Modell in SageMaker Studio verfügen, das für die Bereitstellung bereit ist.
Bereitstellen Ihres Modells
Schließlich stellen Sie das Modell, das Sie im vorherigen Schritt konfiguriert haben, auf einem HTTPS Endpunkt bereit. Sie können entweder ein einzelnes Modell oder mehrere Modelle auf dem Endpunkt bereitstellen.
Modell- und Endpunktkompatibilität
Bevor Sie ein Modell auf einem Endpunkt bereitstellen können, müssen Modell und Endpunkt kompatibel sein und dieselben Werte für die folgenden Einstellungen aufweisen:
-
Die IAM Rolle
-
Der AmazonVPC, einschließlich seiner Subnetze und Sicherheitsgruppen
-
Die Netzwerkisolierung (aktiviert oder deaktiviert)
Studio verhindert auf folgende Weise, dass Sie Modelle auf inkompatiblen Endpunkten bereitstellen:
-
Wenn Sie versuchen, ein Modell auf einem neuen Endpunkt bereitzustellen, SageMaker konfiguriert Sie den Endpunkt mit kompatiblen Anfangseinstellungen. Wenn Sie die Kompatibilität durch Ändern dieser Einstellungen beeinträchtigen, zeigt Studio eine Warnung an und verhindert Ihre Bereitstellung.
-
Wenn Sie versuchen, eine Bereitstellung auf einem vorhandenen Endpunkt durchzuführen und dieser Endpunkt nicht kompatibel ist, zeigt Studio eine Warnung an und verhindert Ihre Bereitstellung.
-
Wenn Sie versuchen, einer Bereitstellung mehrere Modelle hinzuzufügen, verhindert Studio, dass Sie Modelle bereitstellen, die nicht miteinander kompatibel sind.
Wenn Studio die Warnung zur Modell- und Endpunktinkompatibilität anzeigt, können Sie in der Warnung Details anzeigen wählen, um zu sehen, welche Einstellungen nicht kompatibel sind.
Eine Möglichkeit, ein Modell bereitzustellen, besteht darin, in Studio wie folgt vorzugehen:
-
Öffnen Sie die SageMaker Studio-Anwendung.
-
Wählen Sie im linken Navigationsbereich Models (Modelle) aus.
-
Wählen Sie auf der Seite Modelle ein oder mehrere Modelle aus der SageMaker Modellliste aus.
-
Wählen Sie Bereitstellen.
-
Öffnen Sie für den Endpunktnamen das Dropdownmenü. Sie können entweder einen vorhandenen Endpunkt auswählen oder einen neuen Endpunkt erstellen, auf dem Sie das Modell bereitstellen.
-
Wählen Sie unter Instanztyp den Instanztyp aus, den Sie für den Endpunkt verwenden möchten. Wenn Sie zuvor einen Inference Recommender-Job für das Modell ausgeführt haben, werden Ihre empfohlenen Instance-Typen in der Liste unter dem Titel Recommended angezeigt. Andernfalls werden Ihnen einige potenzielle Instanzen angezeigt, die möglicherweise für Ihr Modell geeignet sind.
Kompatibilität mit dem Instanztyp für JumpStart
Wenn Sie ein JumpStart Modell bereitstellen, zeigt Studio nur Instanztypen an, die das Modell unterstützt.
-
Geben Sie unter Anzahl der ersten Instanzen die anfängliche Anzahl der Instanzen ein, die Sie für Ihren Endpunkt bereitstellen möchten.
-
Geben Sie unter Maximale Anzahl von Instanzen die maximale Anzahl von Instanzen an, die der Endpunkt bereitstellen kann, wenn er entsprechend einem Anstieg des Datenverkehrs skaliert wird.
-
Wenn das Modell, das Sie bereitstellen, eines der am häufigsten JumpStart LLMs vom Model Hub verwendeten ist, wird die Option Alternative Konfigurationen hinter den Feldern Instanztyp und Instanzanzahl angezeigt.
Für die beliebtesten Instance-Typen AWS wurden vorab Benchmarks durchgeführt JumpStart LLMs, um entweder Kosten oder Leistung zu optimieren. Diese Daten können Ihnen bei der Entscheidung helfen, welchen Instance-Typ Sie für die Bereitstellung Ihres verwenden möchten. LLM Wählen Sie Alternative Konfigurationen, um ein Dialogfeld zu öffnen, das die vorab Benchmarking-Daten enthält. Das Panel sieht wie der folgende Screenshot aus:
Gehen Sie im Feld Alternative Konfigurationen wie folgt vor:
-
Auswahl von Instance-Typen Sie können „Kosten pro Stunde“ oder „Beste Leistung“ wählen, um Instance-Typen anzuzeigen, die entweder die Kosten oder die Leistung für das angegebene Modell optimieren. Sie können auch Andere unterstützte Instances wählen, um eine Liste anderer Instance-Typen anzuzeigen, die mit dem JumpStart Modell kompatibel sind. Beachten Sie, dass die Auswahl eines Instanztyps hier alle vorherigen Instanzauswahlen, die in Schritt 6 angegeben wurden, überschreibt.
-
(Optional) Aktivieren Sie den Schalter Ausgewählte Konfiguration anpassen, um Max. Token-Gesamtzahl (die maximale Anzahl von Tokens, die Sie zulassen möchten, d. h. die Summe Ihrer Eingabe-Token und der generierten Ausgabe des Modells), Max. Länge des Eingabe-Tokens (die maximale Anzahl von Tokens, die Sie für die Eingabe jeder Anforderung zulassen möchten) und Max Concurrent Requests (die maximale Anzahl von Anfragen, die das Modell gleichzeitig verarbeiten kann) anzugeben.
-
Wählen Sie Select, um Ihren Instance-Typ und Ihre Konfigurationseinstellungen zu bestätigen.
-
-
Das Feld Modell sollte bereits mit dem Namen des Modells oder der Modelle gefüllt sein, die Sie bereitstellen. Sie können Modell hinzufügen wählen, um der Bereitstellung weitere Modelle hinzuzufügen. Füllen Sie für jedes Modell, das Sie hinzufügen, die folgenden Felder aus:
-
Geben Sie unter Anzahl der CPU CPU Kerne die Kerne ein, die Sie für die Nutzung des Modells reservieren möchten.
-
Geben Sie unter Mindestanzahl an Kopien die Mindestanzahl von Modellkopien ein, die Sie zu einem bestimmten Zeitpunkt auf dem Endpunkt hosten möchten.
-
Geben Sie für Min. CPU Arbeitsspeicher (MB) die Mindestspeichermenge (in MB) ein, die das Modell benötigt.
-
Geben Sie unter Maximaler CPU Arbeitsspeicher (MB) die maximale Speichermenge (in MB) ein, die das Modell verwenden darf.
-
-
(Optional) Gehen Sie für die erweiterten Optionen wie folgt vor:
-
Verwenden Sie für IAMRolle entweder die SageMaker IAM Standard-Ausführungsrolle, oder geben Sie Ihre eigene Rolle an, die über die erforderlichen Berechtigungen verfügt. Beachten Sie, dass diese IAM Rolle mit der Rolle identisch sein muss, die Sie bei der Erstellung des bereitstellbaren Modells angegeben haben.
-
Für Virtual Private Cloud (VPC) können Sie eine angeben, VPC in der Sie Ihren Endpunkt hosten möchten.
-
Wählen Sie unter KMSVerschlüsselungsschlüssel einen AWS KMS Schlüssel zum Verschlüsseln von Daten auf dem Speichervolume aus, das an die ML-Compute-Instanz angehängt ist, die den Endpunkt hostet.
-
Aktivieren Sie den Schalter Netzwerkisolierung aktivieren, um den Internetzugang Ihres Containers einzuschränken.
-
Geben Sie für die Timeout-Konfiguration Werte für die Felder Timeout für den Download von Modelldaten (Sekunden) und Timeout für die Integritätsprüfung beim Container-Start (Sekunden) ein. Diese Werte bestimmen die maximale Zeitspanne, die für das SageMaker Herunterladen des Modells in den Container bzw. das Starten des Containers zur Verfügung steht.
-
Geben Sie für Tags beliebige Tags als Schlüssel-Wert-Paare ein.
Anmerkung
SageMaker konfiguriert die Einstellungen für IAM Rolle und Netzwerkisolierung mit AnfangswertenVPC, die mit dem Modell kompatibel sind, das Sie bereitstellen. Wenn Sie die Kompatibilität durch Ändern dieser Einstellungen beeinträchtigen, zeigt Studio eine Warnung an und verhindert Ihre Bereitstellung.
-
Nach der Konfiguration Ihrer Optionen sollte die Seite wie im folgenden Screenshot aussehen.
Nachdem Sie Ihre Bereitstellung konfiguriert haben, wählen Sie Deploy, um den Endpunkt zu erstellen und Ihr Modell bereitzustellen.
Modelle mit Python bereitstellen SDKs
Mit SageMaker Python SDK können Sie Ihr Modell auf zwei Arten erstellen. Die erste besteht darin, ein Modellobjekt aus der ModelBuilder
Klasse Model
or zu erstellen. Wenn Sie die Model
Klasse verwenden, um Ihr Model
Objekt zu erstellen, müssen Sie das Modellpaket oder den Inferenzcode (abhängig von Ihrem Modellserver), Skripten für die Serialisierung und Deserialisierung von Daten zwischen dem Client und dem Server sowie alle Abhängigkeiten angeben, die zur Nutzung auf Amazon S3 hochgeladen werden sollen. Die zweite Möglichkeit, Ihr Modell zu erstellen, besteht darin, die von Ihnen bereitgestellten Modellartefakte oder Inferenzcode zu verwendenModelBuilder
. ModelBuilder
erfasst automatisch Ihre Abhängigkeiten, leitet die benötigten Serialisierungs- und Deserialisierungsfunktionen ab und packt Ihre Abhängigkeiten, um Ihr Objekt zu erstellen. Model
Mehr über ModelBuilder
erfahren Sie unter Erstellen Sie ein Modell in Amazon SageMaker mit ModelBuilder.
Im folgenden Abschnitt werden beide Methoden beschrieben, mit denen Sie Ihr Modell erstellen und Ihr Modellobjekt bereitstellen können.
Einrichten
Die folgenden Beispiele bereiten den Prozess der Modellbereitstellung vor. Sie importieren die erforderlichen Bibliotheken und definieren das S3URL, das die Modellartefakte lokalisiert.
Beispiel Modellartefakt URL
Der folgende Code erstellt ein Beispiel für Amazon S3URL. Der sucht URL die Modellartefakte für ein vortrainiertes Modell in einem Amazon S3 S3-Bucket.
# Create a variable w/ the model S3 URL # The name of your S3 bucket: s3_bucket = "amzn-s3-demo-bucket" # The directory within your S3 bucket your model is stored in: bucket_prefix = "
sagemaker/model/path
" # The file name of your model artifact: model_filename = "my-model-artifact.tar.gz
" # Relative S3 path: model_s3_key = f"{bucket_prefix}/"+model_filename # Combine bucket name, model file name, and relate S3 path to create S3 model URL: model_url = f"s3://{s3_bucket}/{model_s3_key}"
Das vollständige Amazon S3 URL wird in der Variablen gespeichertmodel_url
, die in den folgenden Beispielen verwendet wird.
Übersicht
Es gibt mehrere Möglichkeiten, Modelle mit SageMaker Python SDK oder SDK for Python (Boto3) bereitzustellen. In den folgenden Abschnitten werden die Schritte zusammengefasst, die Sie für verschiedene mögliche Ansätze ausführen. Diese Schritte werden anhand der folgenden Beispiele veranschaulicht.
Konfiguration
In den folgenden Beispielen werden die Ressourcen konfiguriert, die Sie für die Bereitstellung eines Modells auf einem Endpunkt benötigen.
Bereitstellen
In den folgenden Beispielen wird ein Modell auf einem Endpunkt bereitgestellt.
Stellen Sie Modelle bereit mit dem AWS CLI
Sie können ein Modell auf einem Endpunkt bereitstellen, indem Sie den verwenden AWS CLI.
Übersicht
Wenn Sie ein Modell mit dem bereitstellen AWS CLI, können Sie es mit oder ohne Verwendung einer Inferenzkomponente bereitstellen. In den folgenden Abschnitten werden die Befehle zusammengefasst, die Sie für beide Ansätze ausführen. Diese Befehle werden anhand der folgenden Beispiele veranschaulicht.
Konfiguration
In den folgenden Beispielen werden die Ressourcen konfiguriert, die Sie für die Bereitstellung eines Modells auf einem Endpunkt benötigen.
Bereitstellen
In den folgenden Beispielen wird ein Modell auf einem Endpunkt bereitgestellt.