Incident Library

IL-0478 Amazon · 2026-05-18 (게시일)ai-infranetworking

GPU 한 개의 네트워크 어댑터가 고장 났는데 NCCL이 알림 없이 통신을 우회시켜 MoE 학습 스텝이 느려졌다

Amazon Store Foundational AI 팀의 대규모 학습 클러스터에서 NCCL은 GPU마다 전용 네트워크 어댑터를 배정해 쓴다. GPU 한 개의 어댑터가 고장 나면 NCCL은 하드웨어 고장 알림 없이 그 GPU의 통신을 다른 GPU의 어댑터, 보통 GPU 0의 어댑터로 우회시킨다. 논문의 표 1에서는 GPU7의 어댑터가 내려가 GPU7의 통신이 NIC 0으로 나갔다. 이 우회로 작업은 바로 실패하지 않았지만, 남은 어댑터의 트래픽이 사실상 두 배가 되어 유효 대역폭이 줄고 경로가 비대칭이 되었다.

MoE 학습은 토큰 dispatch와 결과 combine에서 Expert 병렬 그룹 전체가 통신하므로, 한 노드의 느린 통신이 이 동기화 지점마다 병목이 된다. MoE 층이 32개인 모델이라면 이 지연이 층마다 쌓인다. 학습 스텝마다 약 0.3초가 늘었다. GPU burn-in과 NCCL 테스트는 기능의 정확성만 보고 우회를 허용하므로 이런 노드를 잡지 못했다. 그 노드는 표준 점검을 통과하면서도 실제 학습에서 다른 노드보다 뒤처졌다. 성능이 떨어진 통신 경로를 바로잡자 스텝 시간이 8.7초에서 8.4초로 줄었다. Amazon은 이런 노드를 찾으려고 학습 중의 온라인 모니터링과 오프라인 노드 스윕을 묶은 Guard를 만들었다.

심각도
–
영향 범위
Large-scale MoE foundation model training: each training step about 0.3 s slower (8.7 s instead of 8.4 s)
영향 사용자
–
지역
–
감지까지
–
복구까지
–

증상

대규모 MoE 학습의 스텝 시간이 약 0.3초 늘어 8.4초가 아닌 8.7초가 걸렸다. 하드웨어 고장 알림은 없었고, 노드는 표준 상태 점검을 통과했다.

GPU마다 전용 네트워크 어댑터가 배정되어 있는데, GPU7의 어댑터가 내려간 뒤 GPU7의 통신이 GPU0의 어댑터로 나가고 있었다. 남은 어댑터에 부하가 몰려 network packets transmitted 지표에서 그 어댑터의 트래픽이 사실상 두 배로 늘었다.

MoE 학습에서는 토큰 dispatch와 결과 combine 두 곳에서 Expert 병렬 그룹 전체가 통신하며 동기화한다. 한 노드가 제 성능을 못 내면 이 동기화 지점마다 병목이 생기고, MoE 층이 32개인 모델에서는 층마다 지연이 쌓인다.

NCCL 테스트는 연결성을 우선해 이런 우회를 허용하므로, 우회 중인 노드도 테스트를 통과했다. 몇 초 동안만 도는 NCCL 테스트로는 줄어든 대역폭과 비대칭 경로가 드러나지 않았다.

증상 처리량 저하

원인

촉발
노드 안 GPU 한 개에 배정된 고대역폭 네트워크 어댑터가 고장 나 내려갔다.

감지

하드웨어 고장 알림은 없었다. network packets transmitted 지표에서 남은 어댑터의 트래픽이 비정상적으로 높게 나타났고, GPU와 NIC의 배정을 보니 GPU7의 통신이 NIC 0으로 나가고 있었다.

조치

후속 조치

교훈

NCCL의 대체 경로는 작업 실패를 막지만 하드웨어 문제를 가린다. 짧게 도는 NCCL 테스트와 GPU burn-in은 기능의 정확성만 확인하므로, 점검을 통과한 노드도 실제 학습에서는 계속 뒤처질 수 있다. 동기화가 많은 MoE 학습에서는 1초도 안 되는 차이가 층과 스텝을 지나며 큰 효율 손실로 쌓인다. 그래서 학습 중에 성능을 보는 모니터링과, 노드를 다시 서비스에 넣기 전의 독립된 오프라인 검증이 함께 필요하다.

출처

참고 문서

관련 사례

내 클러스터에도 있는지 확인하기

kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이 사례와 같은 상태를 점검합니다. 이 사례의 구성 요소: NCCL, NIC·케이블·스위치 포트 링크. 점검 항목의 근거는 이 사례 같은 공개 보고서입니다.

AI 도구와 스크립트용

API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.