Nastavení 8-bitového optimizéru Adam
Zjišťuješ, že trénování tvého Transformer modelu pro překlad jazyka v reálném čase nefunguje s Adafactorem efektivně. Jako alternativu se rozhodneš vyzkoušet 8-bitový optimizér Adam, který oproti klasickému Adamu snižuje nároky na paměť přibližně o 75 %.
Knihovna bitsandbytes je importovaná jako bnb, TrainingArguments jsou definované jako args a optimizer_grouped_parameters je předem připraveno. Cvičení zobrazí varování týkající se libbitsandbytes_cpu.so — toto varování můžeš ignorovat a v cvičení pokračovat.
Toto cvičení je součástí kurzu
Efficient AI Model Training with PyTorch
Pokyny k cvičení
- Vytvoř instanci 8-bitového optimizéru Adam pomocí třídy
Adam8bitz modulubnb.optim. - Předej 8-bitovému optimizéru Adam parametry beta1 a beta2.
- Předej 8-bitovému optimizéru Adam parametr epsilon.
- Vypiš vstupní parametry 8-bitového optimizéru Adam.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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}")