IL-0025 Imbue · 2024-06-25 (게시일)ai-infranetworking
이 보고서는 학습 클러스터를 세우며 찾은 여러 문제를 담은 글이지 사고 하나가 아니에요. 하드웨어 결함으로 호스트의 10분의 1이 부팅하지 못했어요. InfiniBand 패브릭 최상위가 끊긴 네트워크 여덟 개로 배선돼 있어 다시 깔아야 했고, 되돌아온 배기열 때문에 스위치 포트가 뜨거웠어요. 쉴 때는 멀쩡해 보이던 링크가 부하에서 끊겨서, 모든 포트에 합성 트래픽을 흘려 길들이고 패브릭 관리자가 표시한 링크를 자동으로 껐어요. 집단 통신 멈춤은 개별 호스트의 드라이버 잠김과 스레드 설정 오류에서 왔고 라이브 디버깅으로 찾았어요. 느린 처리량 저하는 워커 하나의 자동 가비지 컬렉션이 동기식 학습 단계를 붙잡은 것이었고, 모든 호스트에서 정해진 때에 컬렉션을 돌려 고쳤어요.
새 기계의 10분의 1쯤이 부팅하지 못했어요. 패브릭 관리자가 모든 스위치를 보지 못했고, 포트가 뜨거웠고, 실제 트래픽이 흐르자 링크가 끊겼다 붙었다 하거나 오류를 냈어요. 집단 통신이 모든 워커에서 쓸 만한 스택 트레이스 없이 멈췄고, 긴 학습 중에 처리량이 천천히 떨어졌어요.
자동 하드웨어 검사, 패브릭 관리자 경보, 처리량 모니터링, 프로파일러를 쓴 라이브 디버깅이에요.
물리 배선을 설계와 대조해 확인하고, 예비 기계를 두고, 만났던 모든 실패 유형을 테스트하고, 다른 호스트가 남긴 로그를 남기지 않은 호스트를 찾으세요.
같은 원인 · 공통 PyTorch, NCCL, InfiniBand 패브릭
같은 원인 · 공통 GPU 드라이버