Configura l'ottimizzatore Adam a 8 bit
Ti accorgi che l’addestramento del tuo modello Transformer per la traduzione linguistica in tempo reale non sta apprendendo in modo efficace con Adafactor. In alternativa, decidi di provare un ottimizzatore Adam a 8 bit per ridurre la memoria di circa il 75% rispetto ad Adam.
La libreria bitsandbytes è stata importata come bnb, TrainingArguments è stato definito come args e optimizer_grouped_parameters è già caricato. Nota che l’esercizio stampa un messaggio di avviso su libbitsandbytes_cpu.so, ma puoi ignorarlo per completare l’esercizio.
Questo esercizio fa parte del corso
Efficient AI Model Training with PyTorch
Istruzioni dell'esercizio
- Istanzia l’ottimizzatore Adam a 8 bit usando la classe
Adam8bitdabnb.optim. - Passa i parametri beta1 e beta2 all’ottimizzatore Adam a 8 bit.
- Passa il parametro epsilon all’ottimizzatore Adam a 8 bit.
- Stampa i parametri di input dall’ottimizzatore Adam a 8 bit.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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}")