Feinabstimmung eines Grundlagenmodells - 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 Grundlagenmodells

Grundlagenmodelle sind rechenintensiv und werden auf einem großen, unbeschrifteten Datensatz trainiert. Die Feinabstimmung eines vortrainierten Grundlagenmodells ist eine kostengünstige Möglichkeit, die vielfältigen Funktionen des Modells zu nutzen und ein Modell gleichzeitig an Ihren eigenen kleinen Datensatz anzupassen. Die Feinabstimmung ist eine Anpassungsmethode, die weiteres Training erfordert und die Gewichtung Ihres Modells verändert.

Die Feinabstimmung kann für Sie nützlich sein, wenn:

  • Sie Ihr Modell an spezifische Geschäftsanforderungen anpassen müssen.

  • Ihr Modell erfolgreich mit domainspezifischer Sprache wie Branchenjargon, Fachbegriffen oder anderem Fachvokabular arbeiten soll.

  • Sie für bestimmte Aufgaben eine bessere Leistung benötigen.

  • Sie in Anwendungen genaue, relative und kontextsensitive Antworten benötigen.

  • Sie Antworten benötigen, die sachlicher, weniger toxisch und besser auf spezifische Anforderungen zugeschnitten sind.

Es gibt zwei Hauptansätze, die Sie je nach Anwendungsfall und ausgewähltem Grundlagenmodell für die Feinabstimmung wählen können.

  1. Wenn Sie daran interessiert sind, Ihr Modell anhand domainspezifischer Daten zu optimieren, finden Sie weitere Informationen unter Feinabstimmung der Domainanpassung.

  2. Wenn Sie an einer anweisungsbasierten Feinabstimmung anhand von Beispielen für Eingabeaufforderungen und Antworten interessiert sind, finden Sie weitere Informationen unter Anweisungsbasierte Feinabstimmung.

Foundation-Modelle sind für die Feinabstimmung verfügbar

Sie können jedes der folgenden JumpStart Foundation-Modelle feinabstimmen:

  • Bloom 3B

  • Blüte 7B1

  • BloomZ 3B FP16

  • BloomZ 7 B1 FP16

  • Kode Lama 13B

  • Kode Llama 13B Python

  • Kode Llama 34B

  • Kode Llama 34B Python

  • Kode Llama 70B

  • Kode Llama 70B Python

  • Kode Llama 7B

  • Kode Llama 7B Python

  • CyberAgentLM2-7B-Chat (-7B-Chat) CALM2

  • Falke 40 B BF16

  • Falcon 40B, einweisen BF16

  • Falcon 7B BF16

  • Falcon 7B, Instruktor BF16

  • Flan-T5-Basis

  • Flan-T5 Groß

  • Flan-T5 Klein

  • Flan-T5 XL

  • Flan-T5 XXL

  • Gemma 2 B.

  • Gemma 2B, Instruktor

  • Gemma 7B

  • Gemma 7B, Instruktor

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1,3 B

  • GPT-Neo 125 M

  • GPT- 2,7 B NEO

  • GPTLichtinstrukt 6B

  • Lama 2 13B

  • Lama 2 13B Chat

  • Lama 2 13B Neuron

  • Lama 2 70B

  • Lama 2 70B Chat

  • Lama 2 7B

  • Lama 2 7B Chat

  • Lama 2 7B Neuron

  • Mistral 7B

  • Mistral 8x7B

  • Mixtral 8x7B Instruktieren

  • RedPajama INCITEBasis 3B V1

  • RedPajama INCITEBasis 7B V1

  • RedPajama INCITEChat 3B V1

  • RedPajama INCITEChatten Sie 7B V1

  • RedPajama INCITEWeisen Sie 3B V1 an

  • RedPajama INCITE7B V1 anweisen

  • Stabile Diffusion 2.1

Häufig unterstützte Feinabstimmung von Hyperparametern

Verschiedene Foundation-Modelle unterstützen bei der Feinabstimmung unterschiedliche Hyperparameter. Die folgenden Hyperparameter werden häufig unterstützt, mit denen Sie Ihr Modell während des Trainings weiter anpassen können:

Inferenzparameter Beschreibung

epoch

Die Anzahl der Durchläufe, die das Modell während des Trainings durch den Datensatz zur Feinabstimmung durchläuft. Muss eine Ganzzahl größer als 1 sein.

learning_rate

Die Geschwindigkeit, mit der die Modellgewichte aktualisiert werden, nachdem jeder Stapel von Trainingsbeispielen zur Feinabstimmung durchgearbeitet wurde. Muss eine positive Gleitkommazahl größer als 0 sein.

instruction_tuned

Ob das Modell per Anweisung trainiert werden soll oder nicht. Es muss sich entweder um 'True' oder 'False' handeln.

per_device_train_batch_size

Die Batchgröße pro GPU Kern oder CPU für Schulungen. Muss eine positive Ganzzahl sein.

per_device_eval_batch_size

Die Batchgröße pro GPU Kern oder CPU zur Auswertung. Muss eine positive Ganzzahl sein.

max_train_samples

Kürzen Sie die Anzahl der Trainingsbeispiele zu Debugging-Zwecken oder für ein schnelleres Training auf diesen Wert. Der Wert -1 bedeutet, dass das Modell alle Trainingsproben verwendet. Muss eine positive Ganzzahl oder -1 sein.

max_val_samples

Kürzen Sie zu Debugging-Zwecken oder zur schnelleren Schulung die Anzahl der Validierungsbeispiele auf diesen Wert. Der Wert -1 bedeutet, dass das Modell alle Validierungsproben verwendet. Muss eine positive Ganzzahl oder -1 sein.

max_input_length

Maximale Gesamtlänge der Eingabesequenz nach der Tokenisierung. Sequenzen, die länger sind, werden gekürzt. Falls -1, max_input_length wird der Wert auf das Minimum von 1024 gesetzt und vom Tokenizer model_max_length definiert. Wenn auf einen positiven Wert gesetzt, max_input_length wird der Wert auf das Minimum des angegebenen und durch den Tokenizer model_max_length definierten Werts gesetzt. Muss eine positive Ganzzahl oder -1 sein.

validation_split_ratio

Wenn es keinen Validierungskanal gibt, wird das Verhältnis der Zugvalidierung von den Trainingsdaten getrennt. Muss zwischen 0 und 1 liegen.

train_data_split_seed

Wenn keine Validierungsdaten vorhanden sind, wird die zufällige Aufteilung der Eingabe-Trainingsdaten in die vom Modell verwendeten Trainings- und Validierungsdaten behoben. Muss eine Ganzzahl sein.

preprocessing_num_workers

Die Anzahl der Prozesse, die für die Vorverarbeitung verwendet werden sollen. FallsNone, wird der Hauptprozess für die Vorverarbeitung verwendet.

lora_r

LoRa-Wert (LoRa-Wert), der als Skalierungsfaktor für Gewichtsupdates dient. Muss eine positive Ganzzahl sein.

lora_alpha

LoRa-Alphawert (LoRa), der als Skalierungsfaktor für Gewichtsupdates dient. Im Allgemeinen das 2- bis 4-fache der Größe von. lora_r Muss eine positive Ganzzahl sein.

lora_dropout

Der Dropout-Wert für LoRa-Ebenen (LoRa-Ebenen) muss ein positiver Gleitkommawert zwischen 0 und 1 sein.

int8_quantization

Wenn das True Modell für das Training mit einer Genauigkeit von 8 Bit geladen wird.

enable_fsdp

Wenn beim True Training Fully Sharded Data Parallelism verwendet wird.

Sie können Hyperparameterwerte angeben, wenn Sie Ihr Modell in Studio feinabstimmen. Weitere Informationen finden Sie unter Optimieren Sie die Fundamentmodelle in Studio.

Sie können bei der Feinabstimmung Ihres Modells auch standardmäßige Hyperparameterwerte überschreiben. SageMaker Python SDK Weitere Informationen finden Sie unter Passen Sie öffentlich verfügbare Foundation-Modelle anhand der Klasse an JumpStartEstimator.