Feinabstimmung eines Modells - 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.

Feinabstimmung eines Modells

Durch die Feinabstimmung wird ein vortrainiertes Modell anhand eines neuen Datensatzes trainiert, ohne dass ein Training von Grund auf erforderlich ist. Dieser Prozess, der auch als Transferlernen bezeichnet wird, kann genaue Modelle mit kleineren Datensätzen und weniger Trainingszeit erzeugen. Die Feinabstimmung eines Modells ist möglich, wenn auf seiner Karte ein optimierbares Attribut angezeigt wird, das auf Ja eingestellt ist.

JumpStart fine-tunable Image Classification - TensorFlow model

Wichtig

Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich speziell auf die Verwendung der Studio Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Oberfläche finden Sie unterAmazon SageMaker Studio.

Anmerkung

Weitere Informationen zur JumpStart Modellfeinabstimmung in Studio finden Sie unter Optimieren Sie ein Modell in Studio

Feinabstimmung der Datenquelle

Bei der Feinabstimmung eines Modells können Sie den Standarddatensatz verwenden oder eigene Daten auswählen, die sich in einem Amazon-S3-Bucket befinden.

Um die Buckets zu durchsuchen, die Ihnen zur Verfügung stehen, wählen Sie S3-Bucket suchen. Diese Buckets sind durch die Berechtigungen begrenzt, mit denen Sie Ihr Studio Classic-Konto eingerichtet haben. Sie können auch einen Amazon S3 angeben, URI indem Sie Amazon S3 S3-Bucket-Standort eingeben wählen.

JumpStart data source settings with default dataset selected.

Tipp

Um herauszufinden, wie Sie die Daten in Ihrem Bucket formatieren, wählen Sie Weitere Informationen. Der Beschreibungsabschnitt für das Modell enthält detaillierte Informationen zu Eingaben und Ausgaben. 

Für Textmodelle:

  • Der Bucket muss eine Datei data.csv haben.

  • Die erste Spalte muss eine eindeutige ganze Zahl für die Klassenbezeichnung sein. Beispiel: 1, 2, 3, 4, n

  • Die zweite Spalte muss eine Zeichenfolge enthalten.

  • Die zweite Spalte sollte den entsprechenden Text enthalten, der dem Typ und der Sprache des Modells entspricht. 

Für Vision-Modelle:

  • Der Bucket muss so viele Unterverzeichnisse wie die Anzahl der Klassen haben.

  • Jedes Unterverzeichnis sollte Bilder im JPG-Format enthalten, die zu dieser Klasse gehören.

Anmerkung

Der Amazon S3 S3-Bucket muss sich in demselben Ordner befinden, in AWS-Region dem Sie SageMaker Studio Classic ausführen, da SageMaker er keine regionsübergreifenden Anfragen zulässt.

Feinabstimmung der Bereitstellungskonfiguration

Die p3-Produktfamilie wird als schnellste Variante für Deep-Learning-Training empfohlen und wird auch für die Feinabstimmung eines Modells empfohlen. Das folgende Diagramm zeigt die Anzahl von GPUs in jedem Instance-Typ. Es gibt weitere verfügbare Optionen, aus denen Sie wählen können, darunter die Instance-Typen p2 und g4.

Instance-Typ GPUs
p3.2xgroß 1
p3.8xgroß 4
p3.16xgroß 8
p3dn.24xgroß 8

Hyperparameter

Sie können die Hyperparameter des Trainingsauftrags anpassen, die zur Feinabstimmung des Modells verwendet werden. Die Hyperparameter, die für jedes optimierbare Modell verfügbar sind, unterscheiden sich je nach Modell. Informationen zu den einzelnen verfügbaren Hyperparametern finden Sie in der Hyperparameter-Dokumentation für das Modell Ihrer Wahl unter Integrierte Algorithmen und vortrainierte Modelle in Amazon SageMaker. Einzelheiten Bildklassifizierung — TensorFlow Hyperparameter zur Feinabstimmung der Bildklassifizierung — TensorFlow Hyperparameter finden Sie beispielsweise unter.

Wenn Sie den Standarddatensatz für Textmodelle verwenden, ohne die Hyperparameter zu ändern, erhalten Sie als Ergebnis ein nahezu identisches Modell. Bei Vision-Modellen unterscheidet sich der Standarddatensatz von dem Datensatz, der zum Trainieren der vortrainierten Modelle verwendet wurde, sodass Ihr Modell daher anders ist.

Die folgenden Hyperparameter sind in Modellen üblich:

  • Epochen – Eine Epoche ist ein Zyklus durch den gesamten Datensatz. Mehrere Intervalle formen einen Batch und mehrere Batches formen eine Epoche. Es werden mehrere Epochen durchgeführt, bis die Genauigkeit des Modells ein akzeptables Niveau erreicht hat oder wenn die Fehlerquote unter ein akzeptables Niveau fällt.

  • Lernrate – Der Umfang, um den Werte zwischen den Epochen geändert werden sollten. Während der Optimierung des Modells werden seine internen Gewichtungen angepasst und die Fehlerquoten überprüft, um festzustellen, ob sich das Modell verbessert. Eine typische Lernrate liegt bei 0,1 oder 0,01, wobei 0,01 eine viel geringere Anpassung darstellt und dazu führen kann, dass das Training lange dauert, bis das Training konvergiert, wohingegen 0,1 viel größer ist und zu einem Überschwingen des Trainings führen kann. Dies ist einer der wichtigsten Hyperparameter, die Sie für das Training Ihres Modells anpassen können. Beachten Sie, dass bei Textmodellen eine viel geringere Lernrate (5e-5 fürBERT) zu einem genaueren Modell führen kann.

  • Batchgröße — Die Anzahl der Datensätze aus dem Datensatz, die für jedes Intervall ausgewählt werden sollen, das GPUs zum Training an den gesendet werden soll.

    In einem Beispiel für ein Bild könnten Sie 32 Bilder pro Bild versendenGPU, sodass 32 Ihrer Batchgröße entsprechen würden. Wenn Sie einen Instanztyp mit mehr als einem auswählenGPU, wird der Stapel durch die Anzahl von geteiltGPUs. Die empfohlene Batchgröße variiert je nach den Daten und dem Modell, das Sie verwenden. Beispielsweise unterscheidet sich die Art und Weise, wie Sie für Bilddaten optimieren, von der Art und Weise, wie Sie mit Sprachdaten umgehen.

    In der Tabelle mit den Instanztypen im Abschnitt zur Bereitstellungskonfiguration können Sie die Anzahl der Instanztypen GPUs pro Instanztyp sehen. Beginnen Sie mit einer empfohlenen Standard-Batchgröße (z. B. 32 für ein Vision-Modell). Multiplizieren Sie diese Zahl dann mit der Anzahl von GPUs in dem Instanztyp, den Sie ausgewählt haben. Wenn Sie beispielsweise a p3.8xlarge verwenden, wäre dies 32 (Batchgröße) multipliziert mit 4 (GPUs), also insgesamt 128, da sich Ihre Batchgröße an die Anzahl von anpasst. GPUs Versuchen Sie bei einem Textmodell wieBERT, mit einer Batchgröße von 64 zu beginnen und diese dann nach Bedarf zu reduzieren.

Trainingsausgaben

Wenn der Feinabstimmungsprozess abgeschlossen ist, JumpStart werden Informationen zum Modell bereitgestellt: übergeordnetes Modell, Name des Schulungsauftrags, SchulungsjobARN, Schulungszeit und Ausgabepfad. Im Ausgabepfad finden Sie das neue Modell in einem Amazon-S3-Bucket. Die Ordnerstruktur verwendet den Modellnamen, den Sie angegeben haben. Die Modelldatei befindet sich in einem /output-Unterordner und heißt immer model.tar.gz

Beispiel: s3://bucket/model-name/output/model.tar.gz

Konfigurieren von Standardwerten für das Modelltraining

Sie können Standardwerte für Parameter wie IAM Rollen und KMS Schlüssel konfigurierenVPCs, die für die JumpStart Modellbereitstellung und das Training vorab ausgefüllt werden sollen. Weitere Informationen finden Sie unter Konfigurieren Sie Standardwerte für JumpStart Modelle.