Gradient checkpointing cu Trainer
Vrei să folosești gradient checkpointing pentru a reduce amprenta de memorie a modelului tău. Ai văzut cum să scrii bucla de antrenament explicită cu Accelerator, iar acum ai vrea să folosești o interfață simplificată, fără bucle de antrenament, cu Trainer. Exercițiul va dura ceva timp din cauza apelului la trainer.train().
Configurează argumentele pentru Trainer astfel încât să folosești gradient checkpointing.
Acest exercițiu face parte din cursul
Antrenament eficient al modelelor AI cu PyTorch
Instrucțiuni pentru exercițiu
- Folosește patru pași de acumulare a gradientului în
TrainingArguments. - Activează gradient checkpointing în
TrainingArguments. - Transmite argumentele de antrenament către
Trainer.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
# Use four gradient accumulation steps
gradient_accumulation_steps=____,
# Enable gradient checkpointing
gradient_checkpointing=____)
trainer = Trainer(model=model,
# Pass in the training arguments
args=____,
train_dataset=dataset["train"],
eval_dataset=dataset["validation"],
compute_metrics=compute_metrics)
trainer.train()