Налаштуйте оптимізатор 8-bit Adam
Під час тренування вашої моделі Transformer для синхронного перекладу ви помітили, що з Adafactor навчання просувається слабко. Як альтернативу, ви вирішили спробувати оптимізатор 8-bit Adam, щоб зменшити використання памʼяті приблизно на 75% порівняно з Adam.
Бібліотеку bitsandbytes імпортовано як bnb, TrainingArguments визначено як args, а optimizer_grouped_parameters уже підготовлено. Зверніть увагу: вправа виводить попередження про libbitsandbytes_cpu.so, але ви можете його проігнорувати, щоб завершити завдання.
Ця вправа є частиною курсу
Ефективне тренування моделей ШІ з PyTorch
Інструкції до вправи
- Створіть екземпляр оптимізатора 8-bit Adam, використавши клас
Adam8bitзbnb.optim. - Передайте параметри beta1 і beta2 до оптимізатора 8-bit Adam.
- Передайте параметр epsilon до оптимізатора 8-bit Adam.
- Виведіть на друк вхідні параметри оптимізатора 8-bit Adam.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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}")