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á tendo um bom aprendizado 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 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 exercício faz parte do curso
Treinamento Eficiente de Modelos de IA com PyTorch
Instruções do exercício
- Instancie 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 epsilon 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}")