Nutzung verteilter Schulungen in AWS Clean Rooms ML - AWS Clean Rooms

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.

Nutzung verteilter Schulungen in AWS Clean Rooms ML

Voraussetzungen:

  • Und AWS-Konto mit Zugriff auf AWS Clean Rooms

  • Eine Zusammenarbeit wurde eingerichtet in AWS Clean Rooms

  • Ein konfigurierter Modellalgorithmus, der verteiltes Training unterstützt

  • Ein großer Datensatz, der für die verteilte Verarbeitung geeignet ist

  • Entsprechende Berechtigungen zum Erstellen und Verwalten von ML-Modellen in der Zusammenarbeit

  • Ausreichendes EC2 Amazon-Kontingent, um mehrere Instances für verteilte Schulungen auszuführen

Verteiltes Training nutzt die Leistung vieler parallel arbeitender Rechenknoten, um große Datenmengen zu verarbeiten und Modellparameter effizient zu aktualisieren.

Weitere Informationen zu verteilten Schulungen finden Sie unter Konzepte für verteilte Schulungen im Amazon SageMaker AI Developer Guide.

Console
So führen Sie einen verteilten Trainingsjob aus (Konsole)
  1. Melden Sie sich bei https://console.aws.amazon.com/cleanrooms an AWS Management Console und öffnen Sie die AWS Clean Rooms Konsole.

  2. Wählen Sie im linken Navigationsbereich Collaborations aus.

  3. Wählen Sie auf der Seite Kollaborationen die Kollaboration aus, für die Sie ein trainiertes Modell erstellen möchten.

  4. Wählen Sie nach dem Öffnen der Kollaboration die Registerkarte ML-Modelle aus.

  5. Wählen Sie unter Benutzerdefinierte ML-Modelle im Abschnitt Trainierte Modelle die Option Trainiertes Modell erstellen aus.

  6. Geben Sie auf der Seite Trainiertes Modell erstellen für Algorithmus für Zugeordnetes Modell den Algorithmus an

  7. Geben Sie für Details zum trainierten Modell Folgendes ein:

    1. Geben Sie unter Name einen eindeutigen Namen für das Modell in der Kollaboration ein.

    2. (Optional) Geben Sie unter Beschreibung eine Beschreibung des trainierten Modells ein.

    3. Wählen Sie für den Eingabemodus Trainingsdaten eine der folgenden Optionen:

      • Wählen Sie Datei aus, wenn Sie über einen kleineren Datensatz verfügen, der auf das ML-Speichervolumen passt, und Sie für Ihr Trainingsskript den herkömmlichen Dateisystemzugriff bevorzugen.

      • Wählen Sie Pipe für große Datensätze, um Daten direkt aus S3 zu streamen, sodass Sie nicht alles auf die Festplatte herunterladen müssen, was die Trainingsgeschwindigkeit verbessern und den Speicherbedarf reduzieren kann.

      • Wählen Sie aus, FastFileob Sie die Vorteile des Streamings von S3 mit dem Dateisystemzugriff kombinieren möchten, insbesondere für sequentiell gelesene Daten oder wenn Sie mit weniger Dateien arbeiten müssen, um die Startzeiten zu verkürzen.

  8. Gehen Sie wie folgt vor, um Einzelheiten zum ML-Eingangskanal zu erhalten:

    1. Geben Sie für den ML-Eingangskanal den ML-Eingangskanal an, der Daten für den Modellalgorithmus bereitstellt.

      Um einen weiteren Kanal hinzuzufügen, wählen Sie „Weiteren ML-Eingangskanal hinzufügen“. Sie können bis zu 19 zusätzliche ML-Eingangskanäle hinzufügen.

    2. Geben Sie als Kanalname den Namen des ML-Eingangskanals ein.

    3. Wählen Sie für den Amazon S3 S3-Datenverteilungstyp eine der folgenden Optionen:

      • Wählen Sie Vollständig repliziert aus, um jeder Trainingsinstanz eine vollständige Kopie Ihres Datensatzes zu geben. Dies funktioniert am besten, wenn Ihr Datensatz klein genug ist, um in den Arbeitsspeicher zu passen, oder wenn jede Instanz Zugriff auf alle Daten benötigt.

      • Wählen Sie Sharded by S3 Key aus, um Ihren Datensatz anhand von S3-Schlüsseln auf Trainingsinstanzen aufzuteilen. Jede Instanz empfängt etwa 1/n der gesamten S3-Objekte, wobei 'n' für die Anzahl der Instanzen steht. Dies funktioniert am besten für große Datensätze, die Sie parallel verarbeiten möchten.

      Anmerkung

      Berücksichtigen Sie bei der Auswahl eines Verteilungstyps Ihre Datensatzgröße und Ihre Trainingsanforderungen. Vollständig repliziert bietet vollständigen Datenzugriff, benötigt jedoch mehr Speicherplatz, während Sharded by S3 Key die verteilte Verarbeitung großer Datensätze ermöglicht.

  9. Wählen Sie für Maximale Trainingsdauer die maximale Dauer aus, für die Sie Ihr Modell trainieren möchten.

  10. Geben Sie für Hyperparameter alle algorithmusspezifischen Parameter und ihre beabsichtigten Werte an. Hyperparameter sind spezifisch für das trainierte Modell und werden zur Feinabstimmung des Modelltrainings verwendet.

  11. Geben Sie für Umgebungsvariablen alle algorithmusspezifischen Variablen und ihre beabsichtigten Werte an. Umgebungsvariablen werden im Docker-Container festgelegt.

  12. Um eine benutzerdefinierte Verschlüsselung zu verwenden AWS KMS key, aktivieren Sie das Kontrollkästchen Geheimnis mit einem benutzerdefinierten KMS-Schlüssel verschlüsseln.

  13. Geben Sie unter EC2 Ressourcenkonfiguration Informationen zu den Rechenressourcen an, die für das Modelltraining verwendet werden.

    1. Wählen Sie unter Instanztyp den Instanztyp aus, den Sie ausführen möchten.

      Folgende Instanztypen für verteiltes Training werden unterstützt:

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. Geben Sie im Feld Anzahl der Instanzen die Anzahl der Instanzen ein.

    3. Geben Sie für Volumengröße in GB die Größe des ML-Speichervolumens ein.

  14. Wählen Sie Trainiertes Modell erstellen aus.

API

Um einen verteilten Trainingsjob (API) auszuführen

Führen Sie den folgenden Code mit Ihren spezifischen Parametern aus:

import boto3 acr_ml_client= boto3.client('cleanroomsml') acr_ml_client.create_trained_model( membershipIdentifier= 'membership_id', configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier', name='trained_model_name', trainingInputMode: "File", resourceConfig={ 'instanceCount': "3" 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 3 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name", "S3DataDistributionType:" "FullyReplicated" } ] )
Anmerkung

Nachdem das trainierte Modell erstellt wurde, können Sie es nicht mehr bearbeiten. Um Änderungen vorzunehmen, löschen Sie das trainierte Modell und erstellen Sie ein neues.