← 목록으로
TL;DR
- Job 48060이 step 47.5K(95%)에 도달 — 선점 없이 4일 10시간 연속 RUNNING
- Depth loss 0.055→0.046 (추가 16%↓), pose loss 0.018 plateau (수렴 완료)
- LR cosine tail 진입 (
lr < 1e-6 from step 47K) — 학습률 거의 소진
- Scene flow noise 지속 (0.08~0.55) — pseudo-label 품질 한계, 구조적 미해결
- 잔여 ~2,500 steps, 예상 완료 시각 260421 오후
1 배경/목적 (왜)
이전 카드(260420)에서 step 40.7K(81%)까지의 수렴을 확인했다. 이후 추가 6.8K steps(40.7K→47.5K)가 진행되었고, cosine LR schedule이 tail 구간에 진입했다. 이 구간에서의 수렴 패턴을 확인하고, 완료 후 checkpoint 평가 준비 여부를 점검하기 위해 현황을 기록한다.
특히 LR이 1.09e-05(step 40K) → 9e-07(step 47.5K)로 12x 감소한 구간으로, gradient update 크기가 줄어들며 loss가 어떻게 안정화되는지 확인한다.
2 작업 내용 (어떻게)
Job 48060 (scripts/train_lgm_v3.sh, 4 GPU, core-extra QOS)의 SLURM output slurms/taewoongkang_48060.out에서 step 40K~47.5K 구간 loss를 추출해 분석.
sbm "scripts/train_lgm_v3.sh" --qos=core-extra --gres=gpu:4 -c 96 --mem 800GB
# 학습 설정
total_steps = 50,000
lr_schedule = cosine (max lr = 1e-4, min lr → 0)
loss = depth(d) + pose(p) + scene_flow(sf)
# 40K 이후 lr 추이
step 40K: lr = 1.09e-05
step 43K: lr = 5.54e-06
step 45K: lr = 2.88e-06
step 47K: lr = 1.05e-06 ← cosine tail 진입
step 47.5K: lr ≈ 9e-07
3 결과 (수치)
Step별 loss 추이 (40K→47.5K)
| Step | total loss | depth (d) | pose (p) | scene flow (sf) | lr |
| 40K 이전 카드 끝 | 0.192 | 0.051 | 0.012 | 0.259 | 1.09e-05 |
| 41K | 0.287 | 0.061 | 0.014 | 0.424 | 8.93e-06 |
| 42K | 0.270 | 0.057 | 0.025 | 0.376 | 7.15e-06 |
| 43K | 0.247 | 0.051 | 0.019 | 0.354 | 5.54e-06 |
| 44K | 0.303 | 0.056 | 0.009 | 0.476 | 4.11e-06 |
| 45K | 0.242 | 0.050 | 0.015 | 0.353 | 2.88e-06 |
| 46K | 0.108 | 0.045 | 0.023 | 0.079 | 1.86e-06 |
| 47K | 0.159 | 0.051 | 0.021 | 0.174 | 1.05e-06 |
| 47.5K 현재 | 0.131 | 0.044 | 0.014 | 0.144 | ~9e-07 |
이전 카드 대비 개선
0.055→0.046
depth loss (−16%)
0.018→0.018
pose loss (plateau)
0.08~0.55
scene flow (노이즈 지속)
Depth: 0.055(40.7K) → 0.044(47.5K) — LR decay에 따른 미세 추가 수렴. per-step variance도 감소 추세.
Pose: 0.018 수준에서 plateau. step 47.5K 기준 0.014~0.024 범위로 안정. 실질 수렴 완료로 판단.
Scene Flow: 최솟값 0.079(step 46K), 최댓값 0.55(step 44K)로 배치마다 극단적 변동. 이는 pseudo-label(frozen Any4D) 노이즈가 원인이며, LR을 낮춰도 해소되지 않음.
안정성: step 17K 재시작 이후 선점 0회, 4일 10시간+ 연속 RUNNING. 학습 자체는 안정.
4 Takeaway
LR cosine tail 구간의 의미
Step 47K에서 lr ≈ 1e-6로 진입 후 실질적인 loss 개선은 미미하다. Depth/pose 모두 수렴 완료 상태이며, 이후 2,500 steps는 fine-grained weight 안정화 역할만 할 것으로 예상된다. Phase B checkpoint를 50K 완료 직후 평가해도 되고, 이미 47.5K checkpoint를 평가해도 큰 차이 없을 수 있다.
Scene flow loss의 높은 variance는 구조적 문제(pseudo-label 품질)로, loss 값 자체보다 checkpoint에서 실제 scene flow 예측 품질을 직접 검증해야 한다. Loss 수치만으로 scene flow 수렴 여부를 판단하기 어렵다.
이번 Phase B 학습은 GT supervision 없이 pseudo-label로 학습한 첫 번째 완전 사이클이다. 완료 후 GT alignment 도입(plan-gt_alignment.md, 260416 설계) 여부를 결정하는 기준 checkpoint가 된다.
5 Next Steps
즉시 (완료 후)
- 50K checkpoint 또는 47.5K checkpoint 로드 후 정성 평가: depth/pose 예측 시각화, val set scene flow 확인
viz/step_47000.png, viz/step_47200.png, viz/step_47400.png 시각화 파일 확인
- Depth map의 물리적 일관성 (edge, foreground/background separation) 육안 검증
다음 결정
- GT supervision 전환 여부: 260416 plan-gt_alignment.md 설계대로 DROID GT depth/pose로 Phase B-GT 학습 시작. 156 ep 제한 vs 3162 ep pseudo-label 트레이드오프 재확인 필요
- Scene flow 처리: weight 0으로 제거 실험 vs pseudo-label 유지 vs weight 낮춤 — 현재 log에서 sf loss variance가 total loss를 지배하므로 sf weight 0.5x 축소 실험 권장
- Phase 3 (GRPO 통합) 진입 조건: LGM checkpoint가 depth SSIM > 0.7, relative pose error < 5° 달성 시 — 현 checkpoint 기준 미달 여부 평가 후 결정
한계: 현재 log 기반 loss 수치만 있으며, 실제 geometry 품질(SSIM, EPE 등 정량 지표)은 별도 eval 스크립트 실행 필요. 완료 후 즉시 실행 권장.