PyTorch 2.14 Inductor simple_overlap이 기본이라 분산 학습에서 통신 대기가 줄어듭니다 | DAKER 커뮤니티

한 줄 요약
PyTorch 2.14부터 Inductor의 simple_overlap이 기본으로 켜집니다. torch.compile로 돌리는 분산 학습에서 통신과 독립 연산을 자동으로 겹치므로, 예전처럼 별도 플래그를 켜지 않아도 GPU가 통신만 기다리는 구간이 줄어듭니다.
지금 멀티 GPU로 학습 중이라면, 오늘은 설정 파일보다 프로파일부터 보십시오. 같은 모델을 2.13과 2.14에서 비교할 때 통신 구간이 연산과 겹치는지가 핵심입니다.
재현해 볼 실험 조건
- 동일 모델·배치를 PyTorch 2.13과 2.14에서 각각
torch.compile로 학습합니다. - 분산 집단 통신이 있는 스텝을 프로파일합니다.
- 2.14에서는
simple_overlap을 끄지 않은 기본값으로 둡니다.
2.14 기본값에서는 독립 연산과 집단 통신이 인터리브되어, 통신만 크리티컬 패스에 남는 비율이 줄어드는 쪽으로 관측됩니다. 설정 한 줄을 바꾼 것이 아니라 기본 스케줄이 바뀐 것입니다.
실무에서 바로 볼 포인트
- 통신이 이미 완전 가려진 워크로드에서는 체감이 작을 수 있습니다. 이득이 없다면 실패가 아니라 겹칠 여유가 없었던 경우입니다.
- API는 실험적이므로, 벤치 기록에 PyTorch 버전과 compile 사용 여부를 함께 남기십시오.
- 문제 재현 시에는 일시적으로 overlap 관련 설정을 끄고 같은 입력을 다시 재는 편이 원인 분리에 유리합니다.
관련 DAKER 학습
설명용 생성 이미지입니다. 공식 수치는 로컬 프로파일로 다시 확인하십시오.