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.
Iteratives Training
Iteratives Training ermöglicht die Entwicklung ausgeklügelter Trainingspipelines für Amazon Nova-Modelle, indem mehrere Trainingstechniken nacheinander verkettet werden. Dieser Ansatz ermöglicht es Ihnen, verschiedene Anpassungsmethoden miteinander zu kombinieren, um präzise maßgeschneiderte Modelle zu erhalten.
Der Prozess beginnt mit dem Training eines Amazon Nova-Modells mit einer der Standardtechniken (wie SFT, PEFT oder DPO). Nach Abschluss finden Sie eine manifest.json
Datei an Ihrem angegebenen S3-Ausgabespeicherort. Diese Datei enthält einen checkpoint_s3_bucket
Wert, der angibt, wo das trainierte Modell gespeichert ist.
Sie können diese Checkpoint-Position dann als model_name_or_path
Parameter für nachfolgende Trainingsläufe verwenden und so effektiv auf Ihren bisherigen Anpassungsarbeiten aufbauen. Dadurch entsteht eine Kette von schrittweisen Verbesserungen, wobei das Modell in jeder Trainingsphase auf der Grundlage Ihrer spezifischen Anforderungen weiter verfeinert wird.
Iteratives Training ermöglicht es Ihnen, ausgefeiltere Trainingspipelines zur Optimierung von Amazon Nova-Modellen zu entwickeln. Durch die Verkettung von Trainingsmodulen können Sie Trainingstechniken aufeinander abstimmen, um Ihre Modelle exakt an Ihre Bedürfnisse anzupassen.
Sie beginnen damit, Amazon Nova mit einer der unter beschriebenen Techniken zu schulenAmazon Nova-Anpassung bei Amazon SageMaker HyperPod. Suchen Sie die manifest.json
Datei im S3-Ausgabeverzeichnis, das während des Trainings definiert wurde. Diese Datei enthält den Wertcheckpoint_s3_bucket
, der angibt, wo das Ausgabemodell definiert ist. Sie können diesen Ausgabeort als model_name_or_path
Wert für zukünftige Trainingsläufe verwenden.
Beispiel
Im folgenden Beispiel wird ein Workflow beschrieben, der iterative Trainingsläufe mit überwachter Feinabstimmung (SFT) > SFT > Direct Preference Optimization (DPO) für ein Amazon Nova Lite-Modell definiert. Zunächst müssen Sie das Ausführungsrezept für das anfängliche SFT-Training des Basismodells definieren.
## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://
Path to training data
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
Dieser Trainingsjob erzeugt eine manifest.json
Datei in dem unter definierten Pfadoutput_s3_path
, die der folgenden Datei ähnelt:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
Dieser Checkpoint-Pfad kann im nächsten iterativen Trainingsschritt als verwendet werden. model_name_or_path
Dadurch wird das Training angewiesen, den vorherigen Checkpoint anstelle des Basismodells als Basismodell für die nächste Trainingsmethode zu verwenden.
Der folgende Schritt im Beispiel definiert einen SFT-Trainingslauf mit einem anderen Datensatz, der verwendet werden kann, um ein Modell für verschiedene Interaktionsgruppen zu trainieren.
## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id
/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Customer data path output_s3_path: "s3://Path to output data location
" # Output artifact path
Wie beim ersten Trainingssatz wird auch hier eine ähnliche manifest.json
Datei im Ausgabeverzeichnis ausgegeben:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
Dies kann dann als letzte Eingabe für den letzten iterativen Trainingslauf mit DPO verwendet werden:
## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id
/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
Das Ergebnis eines beliebigen Schritts dieser iterativen Trainingspipeline kann sowohl für Inferenz als auch für Evaluationen verwendet werden, um den Fortschritt des Modells auf seinem Weg zu überprüfen und sicherzustellen, dass es mit dem gewünschten Ergebnis konvergiert.
Einschränkungen
Das iterative Training kann mit jeder der verfügbaren Trainingsmethoden in beliebiger Reihenfolge durchgeführt werden, und zwar für so viele Iterationen, wie Sie benötigen, um das gewünschte Ergebnis zu erzielen. Beim iterativen Training müssen sowohl das Modell als auch die Technik (die im Vergleich zu LoRa PEFT den vollen Rang hat) konsistent bleiben. Wenn Sie beispielsweise versuchen, nach einem LoRa-PEFT-Training iterativ mit vollständiger Feinabstimmung zu trainieren, gibt der Trainingsjob einen Fehler aus. Ebenso erhalten Sie eine Fehlermeldung, wenn Sie zusätzlich zu einem Amazon Nova Micro-Checkpoint einen Amazon Nova Lite-Schulungsjob definieren möchten.