1. 학습
  2. /
  3. 강의
  4. /
  5. PyTorch로 AI 모델 효율적으로 학습시키기

Connected

연습 문제

기본 PyTorch로 혼합 정밀도 훈련하기

낮은 정밀도의 부동소수점 데이터 타입을 사용하여 언어 번역 모델의 훈련 속도를 높여 보겠습니다. 예를 들어, 16비트 부동소수점 데이터 타입(float16)은 32비트 데이터 타입(float32)의 절반 크기에 불과합니다. 이를 통해 행렬 곱셈과 합성곱 연산이 빨라집니다. 이 과정에서는 그래디언트를 스케일링하고 연산을 16비트 부동소수점으로 캐스팅해야 한다는 점을 기억하세요.

dataset, model, dataloader, optimizer 객체는 미리 로드되어 있습니다.

지침

100 XP
  • 루프 전에 torch.amp.GradScaler를 사용하여 그래디언트용 스케일러를 정의하세요.
  • 루프 안에서 torch.autocast를 컨텍스트 매니저로 사용하여 연산을 16비트 부동소수점 데이터 타입으로 캐스팅하세요.
  • 루프 안에서 손실을 스케일링한 뒤 .backward()를 호출하여 스케일링된 그래디언트를 생성하세요.