피드로 돌아가기
Dev.toAI/ML
원문 읽기
Ephemeral GPU 환경 내 훈련 손실 제로화를 위한 Idempotent 파이프라인 설계
Never lose a training run again: a checkpoint-and-resume playbook for ephemeral GPUs
AI 요약
Context
Pre-emptible 인스턴스 및 무료 GPU 환경의 휘발성 특성으로 인해 훈련 중 세션 단절 시 데이터 증발 위험 상존. 단순 가중치 저장 방식으로는 Optimizer 상태와 RNG 등의 컨텍스트 유실로 인해 완전한 복구가 불가능한 한계 발생.
Technical Solution
- Model Weights 외 Optimizer state, Scheduler position, Epoch counter, RNG state를 포함한 Full State Checkpointing 설계
- 파일 쓰기 중 시스템 붕괴로 인한 Checkpoint 손상을 방지하기 위해 Temp file 생성 후 Rename 하는 Atomic Write 패턴 적용
- 결과 파일의 생성 여부로 작업 완료를 판별하는 Done Marker 도입을 통한 전체 Job의 Idempotency 확보
- 런타임 재시작 시 중복 실행을 방지하고 중단 지점부터 자동 재개하는 Orchestration 로직 구현
- Compute node 외부의 Cloud Storage 또는 Network Filesystem을 활용한 State Persistence 계층 분리
- 로그 파일의 Truncate 방지를 위해 Append 모드 기록 방식을 통한 전 생애주기 이력 유지
실천 포인트
1. Checkpoint 대상에 model.state_dict() 외 Optimizer 및 RNG 상태 포함 여부 확인
2. 파일 시스템의 Atomic Rename 특성을 활용한 Checkpoint 저장 로직 구현
3. 결과 파일(results.json)을 통한 Done Marker 기반의 작업 스킵 로직 적용
4. Local Disk가 아닌 External Storage(S3, GCS, NFS 등)에 상태 저장 경로 설정
5. Early-stopping 카운터 등 훈련 제어 변수의 상태 저장 및 복구 프로세스 검증