Zacznij terazZacznij za darmo

Konfiguracja optymalizatora 8-bit Adam

Trening modelu Transformer do tłumaczenia języka w czasie rzeczywistym z użyciem Adafactora nie przynosi oczekiwanych rezultatów. Jako alternatywę postanawiasz wypróbować optymalizator 8-bit Adam, który pozwala zmniejszyć zużycie pamięci o około 75% w porównaniu ze zwykłym Adamem.

Biblioteka bitsandbytes została zaimportowana jako bnb, TrainingArguments jest zdefiniowany jako args, a optimizer_grouped_parameters jest wstępnie załadowany. Zwróć uwagę, że ćwiczenie wyświetla ostrzeżenie dotyczące libbitsandbytes_cpu.so – możesz je zignorować i kontynuować.

To ćwiczenie jest częścią kursu

Efektywne trenowanie modeli AI z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz instancję optymalizatora 8-bit Adam, korzystając z klasy Adam8bit z modułu bnb.optim.
  • Przekaż parametry beta1 i beta2 do optymalizatora 8-bit Adam.
  • Przekaż parametr epsilon do optymalizatora 8-bit Adam.
  • Wypisz parametry wejściowe optymalizatora 8-bit Adam.

Interaktywne ćwiczenie praktyczne

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

# 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}")
Edytuj i uruchom kod