Configure o otimizador Adam de 8 bits
Você está descobrindo que o treinamento do modelo do Transformer para tradução de idiomas em tempo real não está sendo eficaz com o Adafactor. Como alternativa, você decide experimentar um otimizador Adam de 8 bits para reduzir a memória em aproximadamente 75% em comparação com o Adam.
A biblioteca bitsandbytes
foi importada como bnb
, TrainingArguments
foi definida como args
e optimizer_grouped_parameters
foi pré-carregada. Observe que o exercício imprime uma mensagem de aviso sobre libbitsandbytes_cpu.so
, mas você pode ignorar esse aviso para concluir o exercício.
Este exercício faz parte do curso
Treinamento eficiente de modelos de IA com PyTorch
Instruções do exercício
- Instanciar o otimizador Adam de 8 bits da biblioteca
bitsandbytes
. - Passe os parâmetros beta1 e beta2 para o otimizador Adam de 8 bits.
- Passe o parâmetro epilson para o otimizador Adam de 8 bits.
- Imprima os parâmetros de entrada do otimizador Adam de 8 bits.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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}")