PyTorch 훈련 루프 실패 진단을 위한 디버거 NeuralDBG를 개발한 결과, 대부분의 훈련 실패는 특정 레이어와 단계에서 발생하는 국소적인 문제라는 점을 발견했어요.
전체 손실 곡선 대신 레이어별 그래디언트 변화를 모니터링하는 것이 중요하며, 그래디언트 정규화 변화 감지, 최초 발생 추적, 활성화 영역 변화 감지가 효과적이에요.
NeuralDBG는 의미 있는 이벤트(변화)를 추출하여 작은 규모의 출력 결과를 제공하며, 간단한 코드를 추가하여 훈련 실패의 80%를 조기에 감지할 수 있어요.