블로그 글 추가: 2026-03-25-flight-recorder-a-new-lens-for-understanding-nccl-watchdog-timeouts, Flight Recorder: NCCL 워치독 타임아웃을 이해하는 새로운 렌즈 - #114
Open
9bow wants to merge 1 commit into
Open
Conversation
…l-watchdog-timeouts
PR Preview빌드가 완료되었습니다! 아래 링크에서 변경사항을 확인할 수 있습니다. 미리보기: https://pytorchkr-pr-preview-114.surge.sh
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
번역 글 소개
Flight Recorder: NCCL 워치독 타임아웃을 이해하는 새로운 렌즈 번역 글을 추가합니다.
대규모 분산 학습에서 가장 악명 높은 오류인 NCCL 워치독 타임아웃을 정면으로 다룹니다. 이 오류는 집합 통신에서 무한정 기다리게 만드는 모든 원인을 한데 담는 "포괄 오류"이고, 오류 메시지에 남는 스택은 진단에 무관한 워치독 스레드의 것이어서 디버깅이 어렵습니다. Meta 클러스터의 실측 경험을 근거로 근본 원인을 CPU 측 문제(60% 초과), GPU 커널 멈춤, 잘못 설정된 집합 통신 인자, 네트워크/하드웨어 문제의 4개 범주로 나눠 설명하며, 거의 모든 타임아웃이 집합 통신의 비동기화 때문이라 타임아웃 값을 늘려도 해결되지 않는다는 점을 짚습니다.
해법으로 c10d 계층에 구현된 PyTorch Flight Recorder를 소개합니다. 랭크별 링 버퍼에 집합 통신의 종류·상태·입출력 dtype/크기·호출 스택을 기록하고 타임아웃 시 모든 랭크가 덤프하도록 TCPStore 기반 신호 채널을 쓰며, fr_trace로 랭크 간 기록을 정렬해 어느 범주의 불일치인지 짚어내는 흐름을 Meta의 시각화 도구와 실제 장애 사례 2건(CPU 실행 분기, all_to_all 입력 오설정)과 함께 설명합니다.