Accelerator 적용 전후의 학습 루프
MPRC 문장 패러프레이즈 데이터셋을 활용해 번역을 간소화하는 언어 모델에 Accelerator를 적용하려고 합니다. 분산 학습을 위해 PyTorch 학습 루프를 수정해 보세요.
다음 데이터가 미리 로드되어 있습니다:
accelerator는Accelerator의 인스턴스입니다train_dataloader,optimizer,model,lr_scheduler는 이미 정의되어Accelerator로 준비된 상태입니다
이 연습은 강의의 일부입니다
PyTorch로 AI 모델 효율적으로 학습시키기
연습 안내
- Accelerator가 디바이스 배치를 처리할 수 있도록
.to(device)코드를 수정하세요. Accelerator를 사용하도록 그래디언트 계산 방식을 변경하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
for batch in train_dataloader:
optimizer.zero_grad()
inputs, targets = batch["input_ids"], batch["labels"]
# Update the lines so Accelerator handles device placement
inputs = inputs.to(device)
targets = targets.to(device)
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Modify the gradient computation to use Accelerator
____.backward(____)
optimizer.step()
lr_scheduler.step()