Richte den 8-Bit-Adam-Optimizer ein
Du stellst fest, dass das Training deines Transformer-Modells für die Echtzeit-Sprachübersetzung mit Adafactor nicht effektiv lernt. Als Alternative entscheidest du dich, einen 8-Bit-Adam-Optimizer zu verwenden, um den Speicherbedarf im Vergleich zu Adam um etwa 75 % zu reduzieren.
Die Bibliothek bitsandbytes wurde als bnb importiert, TrainingArguments wurde als args definiert und optimizer_grouped_parameters wurde vorab geladen. Beachte, dass die Übung eine Warnmeldung zu libbitsandbytes_cpu.so ausgibt. Du kannst diese Warnung ignorieren, um die Übung abzuschließen.
Diese Übung ist Teil des Kurses
Effizientes KI-Modelltraining mit PyTorch
Anleitung zur Übung
- Instanziiere den 8-Bit-Adam-Optimizer aus der Bibliothek
bitsandbytes. - Übergib die Parameter beta1 und beta2 an den 8-Bit-Adam-Optimizer.
- Übergib den Parameter epsilon an den 8-Bit-Adam-Optimizer.
- Gib die Eingabeparameter des 8-Bit-Adam-Optimizers aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Instantiate the 8-bit Adam optimizer
adam_bnb_optim = ____.____.____(optimizer_grouped_parameters,
# Pass in the beta1 and beta2 parameters
betas=(args.____, args.____),
# Pass in the epilson parameter
eps=args.____,
lr=args.learning_rate)
# Print the input parameters
print(f"beta1 = {args.____}")
print(f"beta2 = {args.____}")
print(f"epsilon = {args.____}")
print(f"learning_rate = {args.learning_rate}")