시작하기무료로 시작하기

Accelerator 적용 전후의 학습 루프

MPRC 문장 패러프레이즈 데이터셋을 활용해 번역을 간소화하는 언어 모델에 Accelerator를 적용하려고 합니다. 분산 학습을 위해 PyTorch 학습 루프를 수정해 보세요.

다음 데이터가 미리 로드되어 있습니다:

  • acceleratorAccelerator의 인스턴스입니다
  • 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()
코드 편집 및 실행