torch.compile 실전 — 훈련·추론 엔드투엔드

torch.compile 실전

이 튜토리얼은 실제 모델에 torch.compile을 적용해 훈련·평가를 엔드투엔드로 비교하는 예제예요. eager 모드와 compile 모드의 속도를 측정하며 가속이 어떻게 나오는지 확인해요.

평가(추론) 비교

모델을 컴파일한 뒤 eager와 추론 시간을 재보면, 첫 실행은 컴파일 때문에 오히려 느릴 수 있어요. 이후 반복부터 속도 향상이 나타나요.

eager median:   0.0174s
compile median: 0.0076s
speedup: ~2.28x

첫 실행이 느린 건 모델을 최적 커널로 컴파일하기 때문이고, 구조가 변하지 않으면 재컴파일은 일어나지 않아요.

훈련 비교

훈련도 마찬가지로 첫 이터레이션은 컴파일로 느리지만, 이후엔 큰 폭의 속도 향상이 나와요. 스피드업 요소는 모델 구조·배치 크기에 따라 달라져요.

(train) eager median: 0.0509s, compile median: 0.0193s, speedup: 2.63x

  • mode="reduce-overhead"는 CUDA graphs로 파이썬 오버헤드를 줄여요.
  • 모델마다 최적 mode가 다르니 여러 가지를 실험해보는 게 좋아요.
  • 파이썬 오버헤드와 GPU 읽기·쓰기를 줄이는 게 핵심 매커니즘이에요.

더 알아보기