LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Instanziiere den 8-Bit-Adam-Optimizer mit der Klasse Adam8bit aus bnb.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}")
Code bearbeiten und ausführen