Verwenden der Stapeltransformation - 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 der Stapeltransformation

Verwenden Sie die Stapeltransformation, wenn Sie folgende Aufgaben ausführen möchten:

  • Vorverarbeitung von Datasets, um Rauschen oder Bias, das die Schulung oder Inferenz beeinträchtigt, aus Ihrem Dataset zu entfernen.

  • Abrufen von Inferenzen aus großen Datensätzen.

  • Ausführen der Inferenz, wenn Sie keinen persistenten Endpunkt benötigen.

  • Verknüpfen von Eingabedatensätzen mit Inferenzen, um die Interpretation der Ergebnisse zu unterstützen.

Informationen zum Filtern von Eingabedaten vor dem Ausführen von Inferenzen oder zum Zuweisen von Eingabedatensätzen zu Inferenzen über diese Datensätze finden Sie unter Zuordnen von Voraussageergebnissen zu Eingabedatensätzen. Sie können beispielsweise Eingabedaten filtern, um Kontext für das Erstellen und Interpretieren von Berichten zu den Ausgabedaten bereitzustellen.

Verwenden der Stapeltransformation zum Abrufen von Inferenzen aus großen Datensätzen

Die Stapeltransformation verwaltet automatisch die Verarbeitung von großen Datasets innerhalb der angegebenen Parameter. Nehmen wir beispielsweise an, Sie haben eine Dataset-Datei input1.csv, die in einem S3-Bucket gespeichert ist. Der Inhalt der Eingabedatei könnte wie das nachfolgende Beispiel aussehen:

Record1-Attribute1, Record1-Attribute2, Record1-Attribute3, ..., Record1-AttributeM Record2-Attribute1, Record2-Attribute2, Record2-Attribute3, ..., Record2-AttributeM Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM ... RecordN-Attribute1, RecordN-Attribute2, RecordN-Attribute3, ..., RecordN-AttributeM

Wenn ein Stapeltransformationsauftrag gestartet wird, initialisiert SageMaker Datenverarbeitungs-Instanzen und verteilt die Inferenz- oder Vorverarbeitungsarbeitslast auf diese Instanzen. Die Stapeltransformation partitioniert Amazon S3-Objekte in der Eingabe nach Schlüssel und ordnet Amazon S3-Objekte den Instanzen zu. Wenn Sie mehrere Dateien haben, verarbeitet eine Instance z. B. input1.csv und eine andere Instance möglicherweise die Datei mit dem Namen input2.csv. Wenn Sie über eine Eingabedatei verfügen, aber mehrere Recheninstanzen initialisieren, verarbeitet nur eine Instanz die Eingabedatei und die restlichen Instanzen sind inaktiv.

Sie können Eingabedateien auch in Mini-Batches aufteilen. Sie können z. B. einen Ministapel aus input1.csv erstellen, indem Sie nur zwei der Dateien einschließen.

Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM Record4-Attribute1, Record4-Attribute2, Record4-Attribute3, ..., Record4-AttributeM
Anmerkung

SageMaker verarbeitet jede Eingabedatei getrennt. Ministapel aus verschiedenen Eingabedateien werden nicht kombiniert, um das MaxPayloadInMB -Limit einzuhalten.

Zum Aufteilen von Eingabedateien in Ministapel legen Sie den SplitType-Parameterwert beim Erstellen eines Stapeltransformationsauftrags auf Line fest. Wenn SplitType auf None gesetzt ist oder wenn eine Eingabedatei nicht in Ministapel aufgeteilt werden kann, verwendet SageMaker die gesamte Eingabedatei in einer einzigen Anforderung. Beachten Sie, dass Stapeltransformation keine CSV-formatierte Eingabe unterstützt, die eingebettete Zeilenumbruchzeichen enthält. Sie können die Größe der Mini-Batches mithilfe der Parameter BatchStrategy und MaxPayloadInMB steuern. MaxPayloadInMB darf nicht größer als 100 MB sein. Wenn Sie den optionalen MaxConcurrentTransforms Parameter angeben, darf der Wert von (MaxConcurrentTransforms * MaxPayloadInMB) ebenfalls 100 MB nicht überschreiten.

Wenn der Stapeltransformationsauftrag alle Datensätze in einer Eingabedatei erfolgreich verarbeitet, wird eine Ausgabedatei mit demselben Namen und der Datenerweiterung .out erstellt. Bei mehreren Eingabedateien, wie z. B. input1.csv und input2.csv, erhalten die Ausgabedateien die Namen input1.csv.out und input2.csv.out. Der Stapeltransformationsauftrag speichert die Ausgabedateien am angegebenen Speicherort in Amazon S3, z. B. unter s3://awsexamplebucket/output/.

Die Prognosen in einer Ausgabedatei werden in der gleichen Reihenfolge aufgelistet wie die entsprechenden Datensätze in der Eingabedatei. Die Ausgabedatei input1.csv.out würde basierend auf der zuvor gezeigten Eingabedatei wie folgt aussehen.

Inference1-Attribute1, Inference1-Attribute2, Inference1-Attribute3, ..., Inference1-AttributeM Inference2-Attribute1, Inference2-Attribute2, Inference2-Attribute3, ..., Inference2-AttributeM Inference3-Attribute1, Inference3-Attribute2, Inference3-Attribute3, ..., Inference3-AttributeM ... InferenceN-Attribute1, InferenceN-Attribute2, InferenceN-Attribute3, ..., InferenceN-AttributeM

Wenn Sie SplitType auf Line festlegen, können Sie den Parameter AssembleWith auf Line setzen, um die Ausgabedatensätze mit einem Zeilentrennzeichen zu verketten. Dies ändert nichts an der Anzahl der Ausgabedateien. Die Anzahl der Ausgabedateien entspricht der Anzahl der Eingabedateien, und bei der Verwendung von AssembleWith werden keine Dateien zusammengeführt. Wenn Sie den Parameter AssembleWith nicht angeben, werden die Ausgabedatensätze standardmäßig in einem Binärformat verkettet.

Wenn die Eingabedaten sehr groß sind und mit HTTP-Abschnittscodierung übertragen werden, um die Daten an den Algorithmus zu streamen, legen Sie MaxPayloadInMB auf 0 fest. Diese Funktion wird von den integrierten Amazon SageMaker-Algorithmen nicht unterstützt.

Weitere Informationen über das Erstellen eines Stapeltransformationsauftrags mithilfe der API finden Sie unter CreateTransformJob-API. Weitere Informationen zur Korrelation zwischen Eingabe- und Ausgabeobjekten bei der Stapeltransformation erhalten Sie unter OutputDataConfig. Ein Beispiel zur Verwendung der Stapeltransformation finden Sie unter (Optional) Vorhersagen mit Batch-Transformation treffen.

Beschleunigen eines Stapeltransformationsauftrags

Wenn Sie die CreateTransformJob-API verwenden, können Sie die Stapeltransformationsaufträge schneller abschließen, indem Sie optimale Werte für Parameter wie MaxPayloadInMB, MaxConcurrentTransforms oder BatchStrategy verwenden. Der ideale Wert für MaxConcurrentTransforms entspricht der Anzahl der Compute Worker im Stapeltransformationsauftrag. Wenn Sie die SageMaker-Konsole verwenden, können Sie diese optimalen Parameterwerte im Abschnitt Zusätzliche Konfiguration der Seite Stapeltransformationsauftrags-Konfiguration angeben. SageMaker findet automatisch die optimalen Parametereinstellungen für integrierte Algorithmen. Für benutzerdefinierte Algorithmen müssen Sie diese Werte über einen execution-parameters-Endpunkt angeben.

Verwenden der Stapeltransformation zum Testen von Produktionsvarianten

Zum Testen verschiedener Modelle oder verschiedener Hyperparametereinstellungen erstellen Sie eine separate Transformationsaufgabe für jede neue Modellvariante und verwenden ein Validierungsdataset. Geben Sie für jeden Transformationsauftrag einen eindeutigen Namen und einen Speicherort in Amazon S3 für die Ausgabedatei an. Beachten Sie bei der Analyse der Ergebnisse das Thema Inferenz-Pipeline-Protokolle und -Metriken.

Beispiel-Notebooks für Stapeltransformationen

Ein Beispiel-Notebook, das Stapeltransformation mit einem PCA-Modell (Prinzipal Component Analysis) verwendet, um Daten in einer Benutzer-Element-Überprüfungsmatrix zu reduzieren, gefolgt von der Anwendung eines DBSCAN-Algorithmus (Dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen) auf Cluster-Filme finden Sie unter Batch Transform with PCA and DBSCAN Movie Clusters. Anweisungen dazu, wie Jupyter-Notebook-Instanzen erstellt werden, die Sie verwenden können, um das Beispiel in SageMaker auszuführen, und wie der Zugriff drauf erfolgt, finden Sie unter Amazon- SageMaker Notebook-Instances. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker-Beispiele aus. Dort finden Sie eine Liste aller SageMaker-Beispiele. Die Beispiel-Notebooks zum Thema Modellierung, die die NTM-Algorithmen verwenden, befinden sich im Abschnitt Erweiterte Funktionen. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Use (Verwenden) und dann Create copy (Kopie erstellen).