← 목록으로
2026-06-12 · DreamData / frappe

mid 5 트랙 재학습 2차 실패 — FileExistsError (빈 출력 디렉토리 충돌)

jobs 14378~14382 모두 ~1분 내 즉시 crash · mid 5 트랙 ckpt 전무 확인

TL;DR

5
실패 트랙
1
정상 base
~1~2분
평균 crash 시간
0
mid ckpt step

1 배경/목적 (왜)

260606 디스크 정리 사고로 frappe 전 트랙 ckpt ~200GB가 삭제됐다. 이후 코드를 .claude jsonl에서 복구하고, 260608 세션에서 mid 6 트랙 재학습을 jobs 12966~12971로 제출했다. base(12966)는 7h38min 정상 완료했으나, mid 5 트랙(12967~12971)은 비정상적으로 단시간에 COMPLETED 상태가 됐다.

단시간 완료가 실제 학습인지, 에러로 인한 즉시 종료인지 확인하기 위해 260611에 재제출(jobs 14378~14382)을 시도했다.

선행 이상 징후: 260608 당시 mid_vit(12971)은 CANCELLED, 나머지 mid 4 트랙은 "단시간 완료(이상)"으로 기록됐으나 ckpt 검증은 이루어지지 않았음.

2 작업 내용 (어떻게)

260611 09:28에 mid 5 트랙 재학습 jobs 제출:

sbm "bash scripts/finetune_pi05_frappe.sh midA" --qos=own --gres=gpu:4 ... → job 14378 sbm "bash scripts/finetune_pi05_frappe.sh midB" --qos=own --gres=gpu:4 ... → job 14379 sbm "bash scripts/finetune_pi05_frappe.sh mid_dinov2" --qos=own --gres=gpu:4 ... → job 14380 sbm "bash scripts/finetune_pi05_frappe.sh mid_clip" --qos=own --gres=gpu:4 ... → job 14381 sbm "bash scripts/finetune_pi05_frappe.sh mid_vit" --qos=own --gres=gpu:4 ... → job 14382

각 job은 시작 후 1~2분 만에 종료됐다. 260612에 SLURM 출력 파일과 checkpoint 디렉토리를 직접 조사해 원인을 확인했다.

에러 메시지 (frappe_midA_14378.out)

Traceback (most recent call last): ... raise FileExistsError( FileExistsError: Output directory /home/nas_main/taewoongkang/repos/Robotics/GR00T-Dreams/outputs/pi05_frappe_midA already exists and resume is False. Please change your output directory so that /home/nas_main/taewoongkang/repos/Robotics/GR00T-Dreams/outputs/pi05_frappe_midA is not overwritten.

동일한 FileExistsError가 midB, mid_dinov2, mid_clip, mid_vit 모두에서 발생했다(각 rank 0~3 전부 exit code 1).

3 결과 (수치)

Job IDTrack경과 시간SLURM Statecheckpoints/ 내용실질 학습
12966 (1차)base7h38minCOMPLETED020000/ + last/✅ 20K step 정상
14378 (2차)midA00:01:46COMPLETED(비어 있음)❌ 즉시 crash
14379 (2차)midB00:01:49COMPLETED(비어 있음)❌ 즉시 crash
14380 (2차)mid_dinov200:00:28COMPLETED(비어 있음)❌ 즉시 crash
14381 (2차)mid_clip00:00:26COMPLETED(비어 있음)❌ 즉시 crash
14382 (2차)mid_vit00:01:26COMPLETED(비어 있음)❌ 즉시 crash
root cause: 1차 재학습(12967~12971)이 학습 시작 전 출력 디렉토리만 생성하고 crash했음. 학습 코드가 시작 시 output_dir를 미리 만들고 resume=False로 실행되므로, 2차 제출이 기존 디렉토리를 발견하고 즉시 FileExistsError를 발생시킴.
1차 crash 원인 미확인: 12967~12971이 왜 단시간에 종료됐는지(SLURM output 파일이 남아 있다면 확인 가능)는 260612 현재 미조사. 가능성: 디렉토리 관련 예외, GPU 할당 문제, 또는 preempt.

현재 checkpoint 디렉토리 상태

GR00T-Dreams/outputs/ pi05_frappe_base/ → checkpoints/020000/ + last/ ✅ 정상 pi05_frappe_midA/ → wandb/ 만 존재, checkpoints/ 없음 ❌ pi05_frappe_midB/ → wandb/ 만 존재, checkpoints/ 없음 ❌ pi05_frappe_mid_clip/ → wandb/ 만 존재, checkpoints/ 없음 ❌ pi05_frappe_mid_dinov2/ → wandb/ 만 존재, checkpoints/ 없음 ❌ pi05_frappe_mid_vit/ → wandb/ 만 존재, checkpoints/ 없음 ❌

4 Takeaway

재제출 권장 방법

가장 안전한 방법은 빈 디렉토리를 삭제 후 재제출:

rm -rf GR00T-Dreams/outputs/pi05_frappe_mid{A,B,_clip,_dinov2,_vit} # 그 후 동일 sbm 명령으로 재제출

또는 학습 스크립트에 --resume true 플래그를 추가하면 디렉토리가 있어도 이어서 학습한다(step 0부터 시작). 단, 학습 코드가 resume 모드를 지원하는지 먼저 확인 필요.

5 Next Steps