Richte den 8-Bit-Adam-Optimizer ein
Du stellst fest, dass das Training deines Transformer-Modells für die Echtzeit-Übersetzung mit Adafactor nicht effektiv lernt. Als Alternative möchtest du einen 8-Bit-Adam-Optimizer ausprobieren, um den Speicherbedarf im Vergleich zu Adam um etwa 75 % zu senken.
Die bitsandbytes-Bibliothek wurde als bnb importiert, TrainingArguments ist 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 und die Übung trotzdem abschließen.
Diese Übung ist Teil des Kurses
<Kurs>Effizientes KI-Modelltraining mit PyTorch</Kurs>Übungsanweisungen
- Instanziiere den 8-Bit-Adam-Optimizer mit der Klasse
Adam8bitausbnb.optim. - Übergib die Parameter beta1 und beta2 an den 8-Bit-Adam-Optimizer.
- Übergib den Epsilon-Parameter an den 8-Bit-Adam-Optimizer.
- Gib die Eingabeparameter des 8-Bit-Adam-Optimizers aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Instantiate the 8-bit Adam optimizer
adam_bnb_optim = bnb.optim.____(optimizer_grouped_parameters,
# Pass in the beta1 and beta2 parameters
betas=(args.____, args.____),
# Pass in the epsilon parameter
eps=args.____,
lr=args.learning_rate)
# Print the input parameters
print(f"beta1 = {args.adam_beta1}")
print(f"beta2 = {args.____}")
print(f"epsilon = {args.____}")
print(f"learning_rate = {args.learning_rate}")