Basismodelle und Hyperparameter für die Optimierung - Amazon SageMaker KI

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.

Basismodelle und Hyperparameter für die Optimierung

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 Optimieren eines großen Sprachmodells (LLM) mithilfe von Domainanpassung.

  2. Wenn Sie an einer anweisungsbasierten Feinabstimmung anhand von Beispielen für Eingabeaufforderungen und Antworten interessiert sind, finden Sie weitere Informationen unter Optimieren eines großen Sprachmodells (LMM) mit Prompt-Anweisungen.

Verfügbare Basismodelle für die Optimierung

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

  • Bloom 3B

  • Bloom 7B1

  • BloomZ 3B FP16

  • BloomZ 7 B1 FP16

  • Code Llama 13B

  • Code Llama 13B Python

  • Code Llama 34B

  • Code Llama 34B Python

  • Code Llama 70B

  • Code Llama 70B Python

  • Code Llama 7B

  • Code Llama 7B Python

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

  • Falke 40 B BF16

  • Falcon 40B, einweisen BF16

  • Falcon 7B BF16

  • Falcon 7B, instruieren BF16

  • FLAN-T5 Base

  • FLAN-T5 Large

  • FLAN-T5 Small

  • FLAN-T5 XL

  • Flan-T5 XXL

  • Gemma 2B

  • Gemma 2B Instruct

  • Gemma 7B

  • Gemma 7B Instruct

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1.3B

  • GPT-Neo 125M

  • GPT-NEO 2.7B

  • LightGPT Instruct 6B

  • Llama 2 13B

  • Llama 2 13B Chat

  • Llama 2 13B Neuron

  • Llama 2 70B

  • Llama 2 70B Chat

  • Llama 2 7B

  • Llama 2 7B Chat

  • Llama 2 7B Neuron

  • Mistral 7B

  • Mixtral 8x7B

  • Mixtral 8x7B Instruct

  • RedPajama INCITE Basis 3B V1

  • RedPajama INCITE Basis 7B V1

  • RedPajama INCITE Chat 3B V1

  • RedPajama INCITE Chat 7B V1

  • RedPajama INCITE, instruiere 3B V1

  • RedPajama INCITE, Instruktiv 7B V1

  • Stabile Diffusion 2.1

Häufig unterstützte Hyperparameter bei der Optimierung

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

Inferenzparameter Description

epoch

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

learning_rate

Die Geschwindigkeit, mit der die Modellgewichte aktualisiert werden, nachdem die einzelnen Trainingsbeispiele zur Optimierung durchgearbeitet wurden. Muss ein positiver Gleitkommawert 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 das Training. Muss eine positive Ganzzahl sein.

per_device_eval_batch_size

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

max_train_samples

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

max_val_samples

Kürzen Sie die Anzahl der Validierungsbeispiele zum Debuggen oder für ein schnelleres Training auf diesen Wert. Der Wert -1 bedeutet, dass das Modell alle Validierungsbeispiele 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. Wenn -1, wird max_input_length auf das Minimum von 1024 gesetzt und model_max_length wird vom Tokenizer definiert. Wenn der Wert positiv ist, wird max_input_length auf das Minimum des angegebenen Werts gesetzt und model_max_length wird vom Tokenizer definiert. Muss eine positive Ganzzahl oder -1 sein.

validation_split_ratio

Verhältnis von Trainings- und Validierungsdaten, in die die Trainingsdaten aufgeteilt wurden, wenn es keinen Validierungskanal gibt. Muss zwischen 0 und 1 liegen.

train_data_split_seed

Verhindert die zufällige Aufteilung der eingegebenen Trainingsdaten in die vom Modell verwendeten Trainings- und Validierungsdaten, wenn keine Validierungsdaten vorhanden sind. Muss eine Ganzzahl sein.

preprocessing_num_workers

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

lora_r

LoRA-Wert (Low-Rank Adaptation), der als Skalierungsfaktor für die Aktualisierung von Gewichtungen dient. Muss eine positive Ganzzahl sein.

lora_alpha

Alpha-Wert für LoRA (Low-Rank Adaptation), der als Skalierungsfaktor für die Aktualisierung von Gewichtungen 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-Schichten (Low-Rank Adaptation). Muss ein positiver Gleitkommawert zwischen 0 und 1 sein.

int8_quantization

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

enable_fsdp

Wenn True, wird beim Training Fully Sharded Data Parallelism verwendet.

Sie können Hyperparameterwerte angeben, wenn Sie Ihr Modell in Studio optimieren. Weitere Informationen finden Sie unter Optimieren eines Modells in Studio.

Sie können bei der Feinabstimmung Ihres Modells mit dem SDK auch Standard-Hyperparameterwerte überschreiben. SageMaker Python Weitere Informationen finden Sie unter Optimieren von öffentlich verfügbaren Basismodellen mit der JumpStartEstimator-Klasse.