Trainer와 함께하는 Adafactor
수십억 개의 파라미터를 가진 Transformer 모델을 언어 번역 서비스에 사용하기 위해 학습시키고 있습니다. 그런데 컴퓨팅 자원이 부족해지면서, AdamW 대비 메모리 사용량을 줄이기 위해 Adafactor 옵티마이저를 사용해 보기로 했습니다. Adafactor를 사용할 수 있도록 Trainer를 준비해 보세요!
model, train_dataset, validation_dataset, compute_metrics를 포함한 일부 학습 객체는 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 AI 모델 효율적으로 학습시키기
연습 안내
TrainingArguments에서 옵티마이저로Adafactor를 지정하세요.- 크기를 출력하기 위해 옵티마이저 상태를 전달하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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")