디버그: 증거 우선 ML 장애 진단
학습이 실패·NaN·OOM·멈춤·느림일 때 추측 대신 시스템을 먼저 조사하고 스모크 테스트로 원인을 입증하는 진단 스킬.
개발·코딩중급★ 371⑂ 32AI 점수 8/10마지막 업데이트: 2026. 7. 3.
무엇을 해주나
ML 학습 실행이 이상할 때 Claude가 곧바로 "아마 배치 사이즈 문제일 겁니다"라고 추측하는 것을 막습니다. 대신 다음 5단계 규율을 강제합니다.
- 값싼 조사:
ps aux로 프로세스 생존 확인,dmesg/journalctl로 OOM 킬·하드웨어·NFS 오류 확인,nvidia-smi로 GPU 사용률과 메모리 확인,df -h로 디스크, 학습 로그 마지막 수백 줄, 체크포인트 파일 크기·시각 확인. - 가설 명시: 반드시 "가설"이라고 라벨을 붙이고 배제하지 못한 대안까지 함께 적습니다.
- 스모크 런:
batch_size=11스텝, 합성 데이터셋,lr=0, 단일 GPU 등 30초 안에 가설을 검증/반증하는 최소 실행. - 통제 실험: 한 번에 변수 하나만 바꿔(AMP on/off, torch.compile on/off, worker 수 등) 원인 범위를 좁힘.
- 원인 주장: 증거가 쌓인 뒤에만 원인을 단정하고, 반드시 근거가 된 도구 출력을 인용. 증거가 부족하면 "아직 모른다"고 말하고 다음 조사를 제안.
이런 분께 추천
- PyTorch/torchrun/accelerate로 리눅스 GPU 서버에서 학습을 돌리는 연구자·엔지니어
- 클러스터에서 밤새 돌린 학습이 죽었는데 로그만 보고 원인을 헤매는 분
- 에이전트가 근거 없이 코드를 고쳐 문제를 덮는 것이 싫은 분
활용 예시
- "학습 3시간째에 프로세스가 사라졌어" → dmesg의 oom-kill 기록과 마지막 체크포인트 시각을 대조해 커널 OOM인지 외부 kill인지 구분.
- "loss가 NaN이 됐어" →
lr=0으로 스모크 실행해 옵티마이저 문제인지 손실 함수 자체 문제인지 분리. - "GPU util이 0인데 학습 중이라고 나와" → 데이터로더 블로킹 여부를 프로세스 상태와 GPU 통계로 확인 후 워커 수를 하나만 바꿔 통제 실험.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/fcakyon/phd-skills/HEAD/plugin/skills/debug/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 fcakyon/phd-skills 의 plugin/skills/debug 폴더를 내 ~/.claude/skills/fcakyon-debug/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/fcakyon/phd-skills.git && mkdir -p ~/.claude/skills && cp -r phd-skills/plugin/skills/debug ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 내려받습니다:
git clone https://github.com/fcakyon/phd-skills.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r phd-skills/plugin/skills/debug ~/.claude/skills/ ls ~/.claude/skills/debug/SKILL.md로 파일이 있는지 확인합니다.- Claude Code를 재시작한 뒤 "이 학습이 왜 죽었는지 디버그해줘"처럼 요청하면 스킬이 자동 발동합니다.
- 조사 명령(
nvidia-smi,dmesg등)은 리눅스 GPU 머신에서 실행해야 의미가 있으므로, 원격 서버에서 Claude Code를 실행하는 것이 가장 효과적입니다.
GitHub에서 원본 보기 ↗라이선스: MIT