Configurer l’optimiseur Adam 8 bits
Vous constatez que l’entraînement de votre modèle Transformer pour la traduction en temps réel n’apprend pas efficacement avec Adafactor. En alternative, vous décidez d’essayer un optimiseur Adam 8 bits afin de réduire la mémoire d’environ 75 % par rapport à Adam.
La bibliothèque bitsandbytes a été importée sous le nom bnb, TrainingArguments a été défini en tant que args, et optimizer_grouped_parameters a été préchargé. Notez que l’exercice affiche un message d’avertissement concernant libbitsandbytes_cpu.so, mais vous pouvez l’ignorer pour terminer l’exercice.
Cet exercice fait partie du cours
Entraîner efficacement des modèles d’IA avec PyTorch
Instructions
- Instanciez l’optimiseur Adam 8 bits à partir de la bibliothèque
bitsandbytes. - Passez les paramètres beta1 et beta2 à l’optimiseur Adam 8 bits.
- Passez le paramètre epsilon à l’optimiseur Adam 8 bits.
- Affichez les paramètres d’entrée de l’optimiseur Adam 8 bits.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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}")