Accelerator와 함께하는 AdamW
Accelerator를 사용해 학습 루프를 직접 구성하고, 언어 번역 모델의 기준 옵티마이저로 AdamW를 활용하려고 합니다. AdamW를 사용하는 학습 루프를 완성해 보세요.
model, train_dataloader, accelerator 등 일부 학습 객체는 미리 로드 및 정의되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 AI 모델 효율적으로 학습시키기
연습 안내
- 루프 시작 전에 학습 객체를 분산 학습에 맞게 준비하세요.
- 학습 루프 내에서 모델 파라미터를 업데이트하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")