GPUAlert: GPU 학습 작업 실패 진단을 위한 무설정(Zero-Instrumentation) 프로세스 경계 모니터
요약
GPU 학습 작업의 실패를 실시간으로 진단하고 알림을 제공하는 무설정(Zero-Instrumentation) 모니터링 도구 GPUAlert를 소개합니다. 기존 실험 트래커와 달리 학습 스크립트 수정 없이 프로세스 경계에서 로그를 보존하고 구조화된 실패 원인을 분석합니다.
핵심 포인트
- 학습 스크립트 수정이 필요 없는 커맨드 라인 래퍼 방식
- 사전 실행 로그 보장 및 알림 격리를 통한 높은 신뢰성 제공
- 15가지 실패 클래스에 대해 0.997의 높은 macro-F1 달성
- 작업당 약 3ms의 매우 낮은 오버헤드 유지
GPU 학습 작업은 대규모 운영 클러스터에서 약 5개 중 2개꼴로 빈번하게 실패하지만, 운영자는 보통 몇 시간 뒤에 다시 연결했을 때야 실패 사실을 알게 됩니다. 실험 트래커(Experiment trackers)는 학습 스크립트를 수정해야 하고 클라우드 연결을 유지해야 하며, 스케줄러의 메일 훅(mail hook)은 원인이나 로그 없이 단 한 줄의 상태 정보만 전달합니다. GPUAlert는 프로세스 경계(process boundary)에서 모든 학습 명령을 모니터링하는 커맨드 라인 래퍼(command-line wrapper)로, 해당 명령을 변경하지 않고도 완료 시 분류된 실패 원인, 영구적인 로그, 그리고 출력 아티팩트(artifacts)를 포함한 구조화된 알림을 이메일로 전송합니다. 이 도구는 세 가지 신뢰성 기본 요소(reliability primitives)를 중심으로 구성됩니다: 자식 프로세스가 충돌하기 전에 영구적인 저장 위치를 설정하는 사전 실행 로그 보장(pre-launch log guarantee), 이메일 전송 성공 여부와 관계없이 래퍼의 종료 코드(exit code)를 자식의 상태에 대한 순수 함수로 만드는 알림 격리(notifier isolation), 그리고 출력을 조용히 누락시키지 않으면서 첨부 파일 크기를 제한하는 비침묵 아티팩트 예산(non-silent artifact budget)입니다. 우리는 15가지 실패 클래스에 걸친 474개의 GPU 학습 로그로 구성된 라벨링된 코퍼스(corpus)와 재현 가능한 평가 하네스(evaluation harness)를 공개합니다. 하드웨어로 재현 가능한 12개 클래스에 대해, 순서 규칙 분류기(ordered-rule classifier)는 0.997의 macro-F1을 달성하였으며, 이는 순서 없는 키워드 매칭(unordered keyword matching)의 0.830 및 종료 코드 검사(exit-code inspection)의 0.133과 대조됩니다. 래퍼 오버헤드는 작업당 약 3ms의 상수로 유지됩니다. 사전 실행 보장은 셸 리다이렉션(shell redirect) 시 아무것도 남기지 못하는 상황에서도 로그를 보존하며, 15가지 모든 실패 모드에 대해 SMTP 릴레이(SMTP relay)에 접속할 수 없는 경우에도 래퍼는 자식의 종료 코드를 변경 없이 그대로 반환합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기