Incident Library
적용된 필터 기여 요인모니터링 사각지대조직Samsung SDS모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례1건

1건 중 1~1번째

  1. 증상

    약 5시간 동안 정상으로 돌던 미세 조정 작업에서, 에포크 끝 체크포인트에 들어가던 3,857 스텝 중 3,850번째 스텝에 GPU 16개가 모두 멈췄다. GPU 사용률은 계속 100%로 나왔지만 처리량은 정확히 0이었고, NCCL watchdog이 세 시간 뒤에야 문제를 드러냈다.

    촉발

    데이터가 가장 적은 랭크 3이 다른 랭크보다 약 7 옵티마이저 스텝 먼저 데이터를 다 써서 학습 루프를 빠져나와, 에포크 끝 체크포인트의 barrier에 들어갔다.

    원인
    구성 요소
    기여 요인
    감지

    NCCL watchdog이 세 시간 뒤에 멈춤을 드러냈다. 엔지니어들은 nvidia-smi로 보드 전력과 랭크별 사용률을 보고 교착의 모양을 확인했고, NCCL flight recorder에서 랭크마다 서로 다른 집합 통신을 기다리는 것을 보고 확정했다.

    조치
    • 학습 루프 전에 각 랭크가 자기 블록 수를 all_reduce MIN으로 전체 최솟값에 맞추고, 그 수에 이르면 모든 랭크가 같은 스텝에서 루프를 멈추도록 했다.
    • 수정한 코드로 처음부터 다시 돌린 16 GPU 에포크가 3,854 스텝을 첫 시도에 끝냈고, 에포크 끝 저장이 watchdog, abort, 교착 흔적 없이 끝났다.
    후속 조치
    • 실행 전에 불변 조건 여섯 개를 확인하고 안전하지 않은 실행은 시작하지 않는 사전 점검 게이트를 런처에 넣는다.
    • 별도 호스트에서 세션과 무관하게 도는 감시 프로그램이 완료, 크래시, 멈춤, 처리량 하한 위반을 잡아 대역 외 알림을 낸다.
    • 500 스텝, 약 42분마다 체크포인트를 저장해 복구할 수 있게 한다.
    • 가중치만으로 이어서 학습할 수 있게 한다.
    • watchdog 타임아웃을 10분에서 30분으로 늘린다.
    • 런처가 실패한 실행을 자동으로 다시 시도하게 한다.
    교훈

    분산 학습에서 GPU 사용률은 실제 진행을 보여 주지 않는다. NCCL이 멈춰도 사용률은 100%로 나오므로 보드 전력과 랭크별 사용률의 모양을 봐야 한다. 랭크마다 작업량이 데이터에 따라 달라지는 작업에서는 스모크 테스트를 통과했다고 전체 실행이 안전한 것이 아니다. 실행 전에 불변 조건을 확인해야 한다. 스스로 교착에 빠진 노드는 자기 상태를 알릴 수 없으므로 실행 밖에서 지켜봐야 한다.

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

이 사례에서 가장 많이 나오는 구성 요소: NCCL, PyTorch. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1