Configurar o otimizador Adam de 8 bits
Você percebeu que treinar seu modelo Transformer para tradução de linguagem em tempo real não está aprendendo de forma eficaz com o Adafactor. Como alternativa, você decide tentar 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 definido como args, e optimizer_grouped_parameters já foi carregado. 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 exercicio faz parte do curso
Treinamento Eficiente de Modelos de IA com PyTorch
Instruções do exercicio
- Instancie o otimizador Adam de 8 bits usando a classe
Adam8bitdebnb.optim. - Passe os parâmetros beta1 e beta2 para o otimizador Adam de 8 bits.
- Passe o parâmetro epsilon para o otimizador Adam de 8 bits.
- Imprima os parâmetros de entrada do otimizador Adam de 8 bits.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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}")