PyTorch와 Meta:40개 이상의 최적화로 유효 훈련 시간 90% 초과 달성, MegaCache가 PT2 컴파일 40% 단축
왜 중요한가
Meta는 2025년 말까지 추천 모델의 오프라인 훈련에 대해 유효 훈련 시간(ETT) 90% 초과를 달성한 방법을 발표했습니다. 방법에는 PyTorch 에코시스템의 40개 이상의 새 최적화, PT2 컴파일 시간을 40% 단축하는 MegaCache, 작업당 30분을 절약하는 독립형 모델 발행, 비동기 체크포인트가 포함됩니다. 개선 사항은 PyTorch와 TorchRec을 통해 오픈소스화되었습니다.
Meta의 16명의 엔지니어 팀과 PyTorch 프로젝트 협력자들이 2026년 4월 17일에 2025년 말까지 추천 모델의 오프라인 훈련에 대해 유효 훈련 시간(ETT) 90% 초과를 달성한 방법에 대한 상세한 게시물을 발표했습니다. Ruilin Chen, Yuzhen Huang, Hang Qi 등의 공동 저작으로 40개 이상의 구체적인 최적화 목록을 포함합니다.
ETT란 무엇이며 왜 중요한가
Meta는 새로운 지표——유효 훈련 시간(ETT%)——를 도입했습니다. 이는 실제로 생산적인 훈련에 사용되는 총 엔드투엔드 wall time의 백분율을 측정합니다.
공식은 단순합니다:
ETT% = 100% - 유휴% - 실패%
Meta는 ETT를 세 가지 하위 지표로 분해합니다:
- 시작 시간 — 하드웨어 할당에서 첫 번째 배치 소비까지
- 복구 시간 — 장애 후 재시작 및 재개에 걸리는 시간
- 실패 횟수 — 인프라 관련 중단의 총 수
이것이 중요한 이유: 클래식 지표인 **모델 FLOPs 활용률(MFU)**은 훈련 내부의 효율성만 측정하지만 그 전, 중, 후의 모든 것을 무시합니다. 확장 시 “중간” 단계가 지배적인 비용이 됩니다.
MegaCache:컴파일 시간 40% 감소
주요 혁신 중 하나는 MegaCache——PT2(PyTorch 2.0) 구성 요소를 위한 통합 캐싱 시스템입니다:
- Inductor 캐시
- Triton bundler
- AOT Autograd
- Dynamo PGO
- 자동 조정 설정
Meta는 이것들을 단일 캐시로 통합하여 한 번 수행한 후 다음 작업에서 재사용합니다.
결과: 평균 PT2 컴파일 시간 약 40% 감소. 추가 이점은 원격 서버에 대한 요청 감소, 더 빠른 모델 설정, 재시도된 작업을 위한 더 신뢰할 수 있는 시작입니다.
체크포인트 관리
체크포인트는 복구에 중요하지만 일반적으로 훈련을 차단합니다. Meta는 세 가지 방향으로 작업했습니다:
비동기 체크포인트:
- 체크포인트의 CPU 메모리 복사본 생성
- 메인 트레이너는 백그라운드 프로세스가 업로드하는 동안 계속
- GPU 유휴 시간 감소
PyTorch 네이티브 스테이징:
- 커스텀 C++ 스테이징 구현 대체
- 새 PyTorch 네이티브 API 사용
- 트레이드오프: 트레이너 메모리 증가로 블로킹 시간 감소
간격 최적화:
- 미저장 훈련 시간 = (실패 횟수) × (체크포인트 간격) / 2
- 체크포인트 저장 블로킹 시간 = (훈련 루프 시간) / (체크포인트 간격) × (체크포인트당 블로킹 시간)
- 최적 간격은 총 손실 시간을 최소화
독립형 모델 발행:30분 절약
클래식 흐름: 훈련이 완료된 후 동일한 GPU가 모델 발행(프로덕션 형식으로 내보내기, 검증, 업로드)을 수행합니다.
Meta는 발행을 훈련에서 분리했습니다:
- 훈련이 앵커 체크포인트 생성
- 별도의 CPU 기반 독립형 작업이 병렬로 모델 발행
결과: 작업당 약 30분 절약. 매일 수백 개의 훈련을 실행하는 회사에게는 매월 수백 시간이 됩니다.
트레이너 초기화
통신 최적화:
- 불필요한 프로세스 그룹 생성 제거
- 메타데이터를 위한 불필요한 all_gather 호출
- 대신 샤딩 계획 브로드캐스트 후 전역 랭크 메타데이터를 로컬로 구축
파이프라인 최적화:
- 독립적인 초기화 단계 병렬화
- “빠른 배치” 데이터를 사용하여 DPP 워밍업과 PT2 컴파일 겹침
- 긴 데이터 로딩을 가진 기반 모델에 특히 유용
장애 감소
Meta는 두 가지 주요 장애 원인을 확인했습니다:
- 작업 선점 (동시 작업이 많을수록 = 충돌이 많음)
- 서비스 회귀
대응은 두 갈래: 새 스케줄링 알고리즘을 위한 인프라 팀과의 협력 + TTS, TTR, 미저장 훈련 시간, 체크포인트 저장 시간을 실시간으로 표시하는 구성 요소 수준 관찰성 대시보드.
오픈소스 기여
PyTorch 2.0 개선:
- 동적 형상 처리를 위한
TORCH_COMPILE_DYNAMIC_SOURCES - MegaCache 엔드투엔드 캐싱 시스템
- PyTorch 네이티브 스테이징 API
TorchRec 개선:
- 샤딩 계획 최적화 (all_gather 오버헤드 제거)
- 통신 최적화 패턴
모든 것이 다른 조직의 복제를 위해 PyTorch 문서에서 제공됩니다.
업계에 대한 메시지
Meta 게시물에서 가장 깊은 교훈은 최적화 패러다임의 전환입니다: “각 반복을 어떻게 더 빠르게 훈련하는가”에서 “실제 훈련이 아닌 모든 것을 어떻게 줄이는가”로. 커뮤니티가 MFU와 처리량 향상에 집중하는 동안, Meta는 10% ETT 향상이 10% MFU 향상만큼 가치 있다는 것을——그리고 종종 엔지니어링을 통해 훨씬 쉽게 달성할 수 있다는 것을——보여줍니다.
AI 훈련을 확장하는 조직에게 ETT는 MFU만큼 중요한 지표가 됩니다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.