Zacznij terazZacznij za darmo

Adafactor z Trainerem

Trenujesz model Transformer z miliardami parametrów na potrzeby usługi tłumaczenia języków. Zaczyna to nadmiernie obciążać zasoby obliczeniowe, dlatego postanawiasz wypróbować optymalizator Adafactor, który zużywa mniej pamięci niż AdamW. Przygotuj Trainer do pracy z Adafactor!

Niektóre obiekty treningowe zostały już wstępnie załadowane – są to: model, train_dataset, validation_dataset oraz compute_metrics.

To ćwiczenie jest częścią kursu

Efektywne trenowanie modeli AI z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Określ Adafactor jako optymalizator w TrainingArguments.
  • Przekaż stan optymalizatora, aby wyświetlić jego rozmiar.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Specify Adafactor as an optimizer
training_args = TrainingArguments(output_dir="./results",
                                  evaluation_strategy="epoch",
                                  optim="____")

trainer = Trainer(model=model,
                  args=training_args,
                  train_dataset=train_dataset,
                  eval_dataset=validation_dataset,
                  compute_metrics=compute_metrics)
trainer.train()

# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(trainer.optimizer.state.____())
print(f"\nNumber of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Edytuj i uruchom kod