View a markdown version of this page

Verwendung 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.

Verwendung verteilter Schulungen in AWS Clean Rooms ML

Voraussetzungen:

  • Und AWS-Konto mit Zugriff auf AWS Clean Rooms

  • Eine Zusammenarbeit 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 Amazon EC2-Kontingent, um mehrere Instances für verteilte Schulungen auszuführen

Beim verteilten Training wird die Leistung vieler parallel arbeitender Rechenknoten genutzt, um große Datenmengen zu verarbeiten und Modellparameter effizient zu aktualisieren.

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

Console
Um einen verteilten Trainingsjob auszuführen (Konsole)
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Clean Rooms Konsole unter https://console.aws.amazon.com/cleanrooms.

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

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

  4. Nachdem die Kollaboration geöffnet wurde, wählen Sie die Registerkarte ML-Modelle.

  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 Assoziierter Modellalgorithmus 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 aus:

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

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

      • Wählen Sie, FastFile ob 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 zu tun haben, um die Startzeiten zu verkürzen.

  8. Gehen Sie für Details zum ML-Eingangskanal wie folgt vor:

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

      Um einen weiteren Kanal hinzuzufügen, wählen Sie Neuen ML-Eingabekanal hinzufügen aus. 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-Datenverteilungstyp eine der folgenden Optionen aus:

      • Wählen Sie Vollständig repliziert aus, um jeder Trainingsinstanz eine vollständige Kopie Ihres Datensatzes zuzuweisen. 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 den Schlüssel Sharded by S3 aus, um Ihren Datensatz anhand von S3-Schlüsseln auf Trainingsinstanzen aufzuteilen. Jede Instanz erhält etwa einen 1/n Teil der gesamten S3-Objekte, wobei 'n' die Anzahl der Instanzen ist. 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 Schulungsanforderungen. Vollständig repliziert bietet vollständigen Datenzugriff, erfordert jedoch mehr Speicherplatz, während der Sharded by S3-Schlüssel 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 zu trainierende 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 für Verschlüsselung eine benutzerdefinierte Verschlüsselung zu verwenden AWS KMS key, aktivieren Sie das Kontrollkästchen Geheim mit einem benutzerdefinierten KMS-Schlüssel verschlüsseln.

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

    1. Wählen Sie für Instance-Typ den Instance-Typ aus, den Sie ausführen möchten.

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

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. Geben Sie unter Anzahl der Instanzen die Anzahl der Instanzen ein.

    3. Geben Sie für die Volume-Größe in GB die Größe des ML-Speicher-Volumes 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.