Configuration de l'optimiseur Adam 8 bits
Vous constatez que la formation de votre modèle Transformer pour la traduction linguistique en temps réel n'est pas efficace avec Adafactor. Comme alternative, vous décidez d'essayer un optimiseur Adam 8 bits pour réduire la mémoire d'environ 75% par rapport à Adam.
La bibliothèque bitsandbytes
a été importée en tant que bnb
, TrainingArguments
a été définie en tant que args
, et optimizer_grouped_parameters
a été préchargée. Notez que l'exercice affiche un message d'avertissement à propos de libbitsandbytes_cpu.so
, mais vous pouvez ignorer cet avertissement pour terminer l'exercice.
Cet exercice fait partie du cours
Entraînement efficace de modèles d'IA avec PyTorch
Instructions
- Instanciez l'optimiseur Adam 8 bits à partir de la bibliothèque
bitsandbytes
. - Transmettez les paramètres beta1 et beta2 à l'optimiseur Adam 8 bits.
- Passez le paramètre epilson à l'optimiseur Adam 8 bits.
- Imprimez 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}")