Feinabstimmung von Hyperparametern in generativer KI
OCI Generative AI optimiert jedes Basismodell mit den folgenden Hyperparametern, die auf dem vortrainierten Basismodell basieren.
Beginnen Sie mit dem Training jedes Modells mit seinen Standardhyperparameterwerten. Nachdem das Modell erstellt wurde, prüfen Sie auf der Detailseite des Modells unter Modellperformance die Werte auf Genauigkeit und Verlust. Wenn Sie mit den Ergebnissen nicht zufrieden sind, erstellen Sie ein anderes Modell mit einem größeren Dataset oder anderen Hyperparametern, bis sich die Performance verbessert.
In der folgenden Tabelle werden die Hyperparameter beschrieben, die OCI Generative AI zum Trainieren eines meta.llama-3.3-70b-instruct-Basismodells mit der Methode LoRA verwendet.
| Hyperparameter | Beschreibung | Gültiger Bereich | Standardwert |
|---|---|---|---|
| Trainingsepochen gesamt | Gibt an, wie oft das Training durch das gesamte Trainings-Dataset iteriert. Beispiel: 1 epoch bedeutet, dass das Modell einmal mit dem gesamten Trainings-Dataset trainiert wird. |
1 oder eine höhere Ganzzahl |
3 |
| Lernrate | Die Geschwindigkeit, mit der die Modellgewichtungen dem Fehlergradienten gegenüber aktualisiert werden. | Eine Zahl zwischen 0 und 1.0 | 0 |
| Trainingsbatchgröße | Die Anzahl der Samples in einem Minibatch, die durchlaufen werden sollen, bevor die Parameter des Modells aktualisiert werden. | Eine Ganzzahl zwischen 8 und 16 | 8 |
| Wartezeit für frühzeitiges Stoppen | Definiert die Anzahl der Nachfristperioden, um den Evaluierungszyklus fortzusetzen, nachdem der Schwellenwert für das vorzeitige Stoppen ausgelöst wurde. Das Training wird gestoppt, wenn sich die Verlustmetrik nicht über den Schwellenwert für das frühe Stoppen bei dieser mehrfachen Bewertung hinaus verbessert. | 0 zum Deaktivieren und 1 oder eine höhere Ganzzahl zum Hinzufügen einer Kulanzfrist | 15 |
| Schwellenwert für frühzeitiges Stoppen | Der Verlust verbessert sich, wenn er im nächsten Trainingszyklus abnimmt. Wenn sich der Verlust nicht genug verbessert, können Sie das Training stoppen. Definieren Sie die Verbesserung des minimalen Bewertungsverlustes, die den Zähler für das frühe Stoppen auslösen soll. Wenn sich der Verlust während der Geduldsperiode nicht über den Mindestwert hinaus verbessert, wird das Training gestoppt. Andernfalls wird das Training fortgesetzt und der Zähler wird zurückgesetzt. | 0 oder eine positive Zahl | 0 |
| Modellmetrikintervall schrittweise protokollieren | Die Anzahl der Schritte pro Logging. Modellmetriken wie Trainingsverlust und Lernrate werden protokolliert. Wenn der Trainingsverlust nicht wie erwartet abnimmt, prüfen Sie die Trainingsdaten oder das Trainingsrate. | Auf 10 voreingestellt | 10 |
LoRA r (nur für Methode LoRA) |
Die Aufmerksamkeitsdimension (Rang) der Aktualisierungsmatrizen. Ein niedrigerer Rang bedeutet kleinere Aktualisierungsmatrizen mit weniger trainierbaren Parametern. | Eine Ganzzahl zwischen 1 und 64 | 8 |
LoRA alpha (nur für Methode LoRA) |
Der Parameter alpha für die Skalierung von LoRA. Die Gewichtungsmatrizen LoRA werden skaliert, indem LoRA alpha durch LoRA r dividiert wird. Der Parameter alpha definiert die LoRA-Gewichtungen, die eine kleinere Anzahl neuer Gewichtungen darstellen und die einzigen Gewichtungen sind, die im Modell trainiert werden. |
Eine Ganzzahl zwischen 1 und 128 | 8 |
LoRA dropout (nur für Methode LoRA) |
Die Ausfallwahrscheinlichkeit für Neuronen in den LoRA-Schichten. Die Dropout-Methode verhindert ein Überfitting, indem Neuronen innerhalb einer Schicht nach dem Zufallsprinzip ignoriert (ausgelassen) werden. Ein 10%-Abbruch bedeutet, dass jedes Neuron eine 10%-ige Chance hat, fallen gelassen zu werden. |
Eine Dezimalzahl unter 1 für den Prozentsatz, z.B. 0,1 für 10%. | 0,1 |
totalTrainingSteps berechnet.totalTrainingSteps = (totalTrainingEpochs * size(trainingDataset)) / trainingBatchSizeIn der vorherigen Gleichung ignoriert das Modell einige Rundungsberechnungen.In der folgenden Tabelle werden die Hyperparameter beschrieben, die OCI Generative AI zum Trainieren eines meta.llama-3.1-70b-instruct-Basismodells mit der Methode LoRA verwendet.
| Hyperparameter | Beschreibung | Gültiger Bereich | Standardwert |
|---|---|---|---|
| Trainingsepochen gesamt | Gibt an, wie oft das Training durch das gesamte Trainings-Dataset iteriert. Beispiel: 1 epoch bedeutet, dass das Modell einmal mit dem gesamten Trainings-Dataset trainiert wird. |
1 oder eine höhere Ganzzahl |
3 |
| Lernrate | Die Geschwindigkeit, mit der die Modellgewichtungen dem Fehlergradienten gegenüber aktualisiert werden. | Eine Zahl zwischen 0 und 1.0 | 0 |
| Trainingsbatchgröße | Die Anzahl der Samples in einem Minibatch, die durchlaufen werden sollen, bevor die Parameter des Modells aktualisiert werden. | Eine Ganzzahl zwischen 8 und 16 | 8 |
| Wartezeit für frühzeitiges Stoppen | Definiert die Anzahl der Nachfristperioden, um den Evaluierungszyklus fortzusetzen, nachdem der Schwellenwert für das vorzeitige Stoppen ausgelöst wurde. Das Training wird gestoppt, wenn sich die Verlustmetrik nicht über den Schwellenwert für das frühe Stoppen bei dieser mehrfachen Bewertung hinaus verbessert. | 0 zum Deaktivieren und 1 oder eine höhere Ganzzahl zum Hinzufügen einer Kulanzfrist | 15 |
| Schwellenwert für frühzeitiges Stoppen | Der Verlust verbessert sich, wenn er im nächsten Trainingszyklus abnimmt. Wenn sich der Verlust nicht genug verbessert, können Sie das Training stoppen. Definieren Sie die Verbesserung des minimalen Bewertungsverlustes, die den Zähler für das frühe Stoppen auslösen soll. Wenn sich der Verlust während der Geduldsperiode nicht über den Mindestwert hinaus verbessert, wird das Training gestoppt. Andernfalls wird das Training fortgesetzt und der Zähler wird zurückgesetzt. | 0 oder eine positive Zahl | 0 |
| Modellmetrikintervall schrittweise protokollieren | Die Anzahl der Schritte pro Logging. Modellmetriken wie Trainingsverlust und Lernrate werden protokolliert. Wenn der Trainingsverlust nicht wie erwartet abnimmt, prüfen Sie die Trainingsdaten oder das Trainingsrate. | Auf 10 voreingestellt | 10 |
LoRA r (nur für Methode LoRA) |
Die Aufmerksamkeitsdimension (Rang) der Aktualisierungsmatrizen. Ein niedrigerer Rang bedeutet kleinere Aktualisierungsmatrizen mit weniger trainierbaren Parametern. | Eine Ganzzahl zwischen 1 und 64 | 8 |
LoRA alpha (nur für Methode LoRA) |
Der Parameter alpha für die Skalierung von LoRA. Die Gewichtungsmatrizen LoRA werden skaliert, indem LoRA alpha durch LoRA r dividiert wird. Der Parameter alpha definiert die LoRA-Gewichtungen, die eine kleinere Anzahl neuer Gewichtungen darstellen und die einzigen Gewichtungen sind, die im Modell trainiert werden. |
Eine Ganzzahl zwischen 1 und 128 | 8 |
LoRA dropout (nur für Methode LoRA) |
Die Ausfallwahrscheinlichkeit für Neuronen in den LoRA-Schichten. Die Dropout-Methode verhindert ein Überfitting, indem Neuronen innerhalb einer Schicht nach dem Zufallsprinzip ignoriert (ausgelassen) werden. Ein 10%-Abbruch bedeutet, dass jedes Neuron eine 10%-ige Chance hat, fallen gelassen zu werden. |
Eine Dezimalzahl unter 1 für den Prozentsatz, z.B. 0,1 für 10%. | 0,1 |
totalTrainingSteps berechnet.totalTrainingSteps = (totalTrainingEpochs * size(trainingDataset)) / trainingBatchSizeIn der vorherigen Gleichung ignoriert das Modell einige Rundungsberechnungen.In der folgenden Tabelle werden die Hyperparameter beschrieben, mit denen OCI Generative AI ein meta.llama-3-70b-instruct-(deprecated-)Basismodell mit der Methode LoRA trainiert.
| Hyperparameter | Beschreibung | Gültiger Bereich | Standardwert |
|---|---|---|---|
| Trainingsepochen gesamt | Gibt an, wie oft das Training durch das gesamte Trainings-Dataset iteriert. Beispiel: 1 epoch bedeutet, dass das Modell einmal mit dem gesamten Trainings-Dataset trainiert wird. |
1 oder eine höhere Ganzzahl |
3 |
| Lernrate | Die Geschwindigkeit, mit der die Modellgewichtungen dem Fehlergradienten gegenüber aktualisiert werden. | Eine Zahl zwischen 0 und 1.0 | 0 |
| Trainingsbatchgröße | Die Anzahl der Samples in einem Minibatch, die durchlaufen werden sollen, bevor die Parameter des Modells aktualisiert werden. | Eine Ganzzahl zwischen 8 und 16 | 8 |
| Wartezeit für frühzeitiges Stoppen | Definiert die Anzahl der Nachfristperioden, um den Evaluierungszyklus fortzusetzen, nachdem der Schwellenwert für das vorzeitige Stoppen ausgelöst wurde. Das Training wird gestoppt, wenn sich die Verlustmetrik nicht über den Schwellenwert für das frühe Stoppen bei dieser mehrfachen Bewertung hinaus verbessert. | 0 zum Deaktivieren und 1 oder eine höhere Ganzzahl zum Hinzufügen einer Kulanzfrist | 15 |
| Schwellenwert für frühzeitiges Stoppen | Der Verlust verbessert sich, wenn er im nächsten Trainingszyklus abnimmt. Wenn sich der Verlust nicht genug verbessert, können Sie das Training stoppen. Definieren Sie die Verbesserung des minimalen Bewertungsverlustes, die den Zähler für das frühe Stoppen auslösen soll. Wenn sich der Verlust während der Geduldsperiode nicht über den Mindestwert hinaus verbessert, wird das Training gestoppt. Andernfalls wird das Training fortgesetzt und der Zähler wird zurückgesetzt. | 0 oder eine positive Zahl | 0 |
| Modellmetrikintervall schrittweise protokollieren | Die Anzahl der Schritte pro Logging. Modellmetriken wie Trainingsverlust und Lernrate werden protokolliert. Wenn der Trainingsverlust nicht wie erwartet abnimmt, prüfen Sie die Trainingsdaten oder das Trainingsrate. | Auf 10 voreingestellt | 10 |
LoRA r (nur für Methode LoRA) |
Die Aufmerksamkeitsdimension (Rang) der Aktualisierungsmatrizen. Ein niedrigerer Rang bedeutet kleinere Aktualisierungsmatrizen mit weniger trainierbaren Parametern. | Eine Ganzzahl zwischen 1 und 64 | 8 |
LoRA alpha (nur für Methode LoRA) |
Der Parameter alpha für die Skalierung von LoRA. Die Gewichtungsmatrizen LoRA werden skaliert, indem LoRA alpha durch LoRA r dividiert wird. Der Parameter alpha definiert die LoRA-Gewichtungen, die eine kleinere Anzahl neuer Gewichtungen darstellen und die einzigen Gewichtungen sind, die im Modell trainiert werden. |
Eine Ganzzahl zwischen 1 und 128 | 8 |
LoRA dropout (nur für Methode LoRA) |
Die Ausfallwahrscheinlichkeit für Neuronen in den LoRA-Schichten. Die Dropout-Methode verhindert ein Überfitting, indem Neuronen innerhalb einer Schicht nach dem Zufallsprinzip ignoriert (ausgelassen) werden. Ein 10%-Abbruch bedeutet, dass jedes Neuron eine 10%-ige Chance hat, fallen gelassen zu werden. |
Eine Dezimalzahl unter 1 für den Prozentsatz, z.B. 0,1 für 10%. | 0,1 |
totalTrainingSteps berechnet.totalTrainingSteps = (totalTrainingEpochs * size(trainingDataset)) / trainingBatchSizeIn der vorherigen Gleichung ignoriert das Modell einige Rundungsberechnungen.In der folgenden Tabelle werden die Hyperparameter beschrieben, mit denen OCI Generative AI ein cohere.command-r-16k-(deprecated-)Basismodell mit der Methode T-Few trainiert.
| Hyperparameter | Beschreibung | Gültiger Bereich | Standardwert |
|---|---|---|---|
| Trainingsepochen gesamt | Gibt an, wie oft das Training durch das gesamte Trainings-Dataset iteriert. Beispiel: 1 epoch bedeutet, dass das Modell einmal mit dem gesamten Trainings-Dataset trainiert wird. |
Eine Ganzzahl zwischen 1 und 10 |
1 |
| Lernrate | Die Geschwindigkeit, mit der die Modellgewichtungen dem Fehlergradienten gegenüber aktualisiert werden. | Eine Zahl zwischen 0.000005 und 0.1 | 0,01 |
| Trainingsbatchgröße | Die Anzahl der Samples in einem Minibatch, die durchlaufen werden sollen, bevor die Parameter des Modells aktualisiert werden. | Eine Ganzzahl zwischen 8 und 32 | 16 |
| Wartezeit für frühzeitiges Stoppen | Definiert die Anzahl der Nachfristperioden, um den Evaluierungszyklus fortzusetzen, nachdem der Schwellenwert für das vorzeitige Stoppen ausgelöst wurde. Das Training wird gestoppt, wenn sich die Verlustmetrik nicht über den Schwellenwert für das frühe Stoppen bei dieser mehrfachen Bewertung hinaus verbessert. | 0 zum Deaktivieren und eine Ganzzahl zwischen 1 und 16 zum Hinzufügen einer Kulanzfrist | 10 |
| Schwellenwert für frühzeitiges Stoppen | Der Verlust verbessert sich, wenn er im nächsten Trainingszyklus abnimmt. Wenn sich der Verlust nicht genug verbessert, können Sie das Training stoppen. Definieren Sie die Verbesserung des minimalen Bewertungsverlustes, die den Zähler für das frühe Stoppen auslösen soll. Wenn sich der Verlust während der Geduldsperiode nicht über den Mindestwert hinaus verbessert, wird das Training gestoppt. Andernfalls wird das Training fortgesetzt und der Zähler wird zurückgesetzt. | Eine Zahl zwischen 0.001 und 0.1 | 0,001 |
| Modellmetrikintervall schrittweise protokollieren | Die Anzahl der Schritte pro Logging. Modellmetriken wie Trainingsverlust und Lernrate werden protokolliert. Wenn der Trainingsverlust nicht wie erwartet abnimmt, prüfen Sie die Trainingsdaten oder das Trainingsrate. | Kann nicht optimiert werden und ist auf 1 gesetzt. | 1 |
totalTrainingSteps berechnet.totalTrainingSteps = (totalTrainingEpochs * size(trainingDataset)) / trainingBatchSizeIn der vorherigen Gleichung ignoriert das Modell einige Rundungsberechnungen.In der folgenden Tabelle werden die Hyperparameter beschrieben, die OCI Generative AI zum Trainieren eines cohere.command-r-16k-Basismodells mit der Methode T-Few verwendet.
| Hyperparameter | Beschreibung | Gültiger Bereich | Standardwert |
|---|---|---|---|
| Trainingsepochen gesamt | Gibt an, wie oft das Training durch das gesamte Trainings-Dataset iteriert. Beispiel: 1 epoch bedeutet, dass das Modell einmal mit dem gesamten Trainings-Dataset trainiert wird. |
Eine Ganzzahl zwischen 1 und 10 |
1 |
| Lernrate | Die Geschwindigkeit, mit der die Modellgewichtungen dem Fehlergradienten gegenüber aktualisiert werden. | Eine Zahl zwischen 0.000005 und 0.1 | 0,01 |
| Trainingsbatchgröße | Die Anzahl der Samples in einem Minibatch, die durchlaufen werden sollen, bevor die Parameter des Modells aktualisiert werden. | Eine Ganzzahl zwischen 8 und 32 | 16 |
| Wartezeit für frühzeitiges Stoppen | Definiert die Anzahl der Nachfristperioden, um den Evaluierungszyklus fortzusetzen, nachdem der Schwellenwert für das vorzeitige Stoppen ausgelöst wurde. Das Training wird gestoppt, wenn sich die Verlustmetrik nicht über den Schwellenwert für das frühe Stoppen bei dieser mehrfachen Bewertung hinaus verbessert. | 0 zum Deaktivieren und eine Ganzzahl zwischen 1 und 16 zum Hinzufügen einer Kulanzfrist | 10 |
| Schwellenwert für frühzeitiges Stoppen | Der Verlust verbessert sich, wenn er im nächsten Trainingszyklus abnimmt. Wenn sich der Verlust nicht genug verbessert, können Sie das Training stoppen. Definieren Sie die Verbesserung des minimalen Bewertungsverlustes, die den Zähler für das frühe Stoppen auslösen soll. Wenn sich der Verlust während der Geduldsperiode nicht über den Mindestwert hinaus verbessert, wird das Training gestoppt. Andernfalls wird das Training fortgesetzt und der Zähler wird zurückgesetzt. | Eine Zahl zwischen 0.001 und 0.1 | 0,001 |
| Modellmetrikintervall schrittweise protokollieren | Die Anzahl der Schritte pro Logging. Modellmetriken wie Trainingsverlust und Lernrate werden protokolliert. Wenn der Trainingsverlust nicht wie erwartet abnimmt, prüfen Sie die Trainingsdaten oder das Trainingsrate. | Kann nicht optimiert werden und ist auf 1 gesetzt. | 1 |
totalTrainingSteps berechnet.totalTrainingSteps = (totalTrainingEpochs * size(trainingDataset)) / trainingBatchSizeIn der vorherigen Gleichung ignoriert das Modell einige Rundungsberechnungen.