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

통신과 연산을 겹칩니다
설명용 생성 이미지입니다.

한 줄 요약
PyTorch 2.14부터 Inductor의 simple_overlap이 기본으로 켜집니다. torch.compile로 돌리는 분산 학습에서 통신과 독립 연산을 자동으로 겹치므로, 예전처럼 별도 플래그를 켜지 않아도 GPU가 통신만 기다리는 구간이 줄어듭니다.

지금 멀티 GPU로 학습 중이라면, 오늘은 설정 파일보다 프로파일부터 보십시오. 같은 모델을 2.13과 2.14에서 비교할 때 통신 구간이 연산과 겹치는지가 핵심입니다.

재현해 볼 실험 조건

  1. 동일 모델·배치를 PyTorch 2.13과 2.14에서 각각 torch.compile로 학습합니다.
  2. 분산 집단 통신이 있는 스텝을 프로파일합니다.
  3. 2.14에서는 simple_overlap을 끄지 않은 기본값으로 둡니다.

2.14 기본값에서는 독립 연산과 집단 통신이 인터리브되어, 통신만 크리티컬 패스에 남는 비율이 줄어드는 쪽으로 관측됩니다. 설정 한 줄을 바꾼 것이 아니라 기본 스케줄이 바뀐 것입니다.

실무에서 바로 볼 포인트

관련 DAKER 학습

설명용 생성 이미지입니다. 공식 수치는 로컬 프로파일로 다시 확인하십시오.