ПочатиПочніть безкоштовно

Налаштуйте оптимізатор 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}")
Редагувати та запускати код