НачатьНачать бесплатно

Настройка 8-битного оптимизатора Adam

В процессе обучения модели Transformer для перевода речи в реальном времени вы замечаете, что Adafactor плохо справляется с задачей. В качестве альтернативы вы решаете попробовать 8-битный оптимизатор Adam, который позволяет сократить потребление памяти примерно на 75% по сравнению с обычным Adam.

Библиотека bitsandbytes импортирована как bnb, объект TrainingArguments определён как args, а optimizer_grouped_parameters уже загружен. Обратите внимание: при выполнении упражнения может появиться предупреждение о libbitsandbytes_cpu.so — его можно проигнорировать.

Это упражнение является частью курса

Эффективное обучение моделей ИИ с PyTorch

Посмотреть курс

Инструкции к упражнению

  • Создайте экземпляр 8-битного оптимизатора Adam, используя класс Adam8bit из модуля bnb.optim.
  • Передайте в оптимизатор параметры beta1 и beta2.
  • Передайте в оптимизатор параметр epsilon.
  • Выведите на экран входные параметры 8-битного оптимизатора 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}")
Редактировать и запускать код