Stel de 8-bit Adam-optimizer in
Je merkt dat het trainen van je Transformer-model voor realtime vertaling niet effectief leert met Adafactor. Als alternatief besluit je een 8-bit Adam-optimizer te proberen om het geheugen met ongeveer 75% te verminderen vergeleken met Adam.
De bitsandbytes-bibliotheek is geïmporteerd als bnb, TrainingArguments is gedefinieerd als args, en optimizer_grouped_parameters is vooraf geladen. Let op: de oefening print een waarschuwingsbericht over libbitsandbytes_cpu.so, maar je kunt deze waarschuwing negeren om de oefening te voltooien.
Deze oefening maakt deel uit van de cursus
Efficiënt AI-modellen trainen met PyTorch
Oefeninstructies
- Instantieer de 8-bit Adam-optimizer met de
Adam8bit-klasse uitbnb.optim. - Geef de parameters beta1 en beta2 door aan de 8-bit Adam-optimizer.
- Geef de epsilon-parameter door aan de 8-bit Adam-optimizer.
- Print de invoerparameters van de 8-bit Adam-optimizer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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}")