정의

침묵 오류(Silent Data Corruption, SDC)는 하드웨어가 고장 신호나 예외를 발생시키지 않은 채 잘못된 연산 결과를 내놓는 현상이다. 수만 개 가속기를 묶어 단일 모델을 학습시키는 환경에서는 개별 칩의 극히 낮은 결함 확률이 클러스터 전체 규모에서 상시 발생 사건으로 전환된다.

핵심 속성

  • 무증상성: 에러 코드·크래시·로그 없이 정상 경로로 잘못된 값이 흘러간다. 기존 장애 감지 체계(헬스체크, 예외 처리)가 작동하지 않는다.
  • 환경 의존성: 랙 온도 등 물리 조건에 따라 증상이 나타났다 사라진다. 결정론적으로 재현되지 않아 디버깅 난도가 높다.
  • 증폭 구조: 부동소수점 지수부의 비트 하나가 뒤집히면 0.2여야 할 그래디언트가 10의 20제곱 규모로 튄다. 역전파와 옵티마이저 갱신이 오염을 전체 파라미터로 전파한다.
  • 오염 비가역성: 감지되지 않은 채 스텝이 누적되면 체크포인트 자체가 오염되어, 되돌릴 지점이 사라진다.

대응 절차 (구글 사례)

  1. 층별 그래디언트 감시: 레이어 단위로 그래디언트 통계를 모니터링해 이상치를 탐지한다.
  2. 차등 재실행(differential replay): 이상 스텝을 동일 입력으로 다시 실행한다.
  3. 원인 이분법: 동일한 결과 → 데이터·수치 문제. 다른 결과 → 하드웨어 결함.
  4. 핫스왑: 범인 칩을 클러스터에서 격리하고 예비 칩을 투입해 학습을 중단 없이 이어간다.

관계

인용

수만 개 칩을 하나로 묶어 모델을 학습시키는데, 일부 칩은 고장 신호도 없이 틀린 계산을 내놓음. 심지어 그 순간 랙 온도에 따라 증상이 생겼다 사라짐. 비트 하나가 뒤집히면 0.2여야 할 그래디언트가 10의 20제곱으로 퍼져서 학습 전체가 오염됨

층마다 그래디언트를 감시하다가 튀는 값이 보이면 그 스텝을 자동으로 다시 돌림. 같은 답이 나오면 데이터 탓, 다른 답이 나오면 칩이 범인임.

출처

클리핑 · x.com