TL;DR
- Any4D step 12000→12720 (3h20m, user cancel): loss 0.24→0.35, LR cosine restart 후 warmup 구간 — 수렴 자체는 유지
- DA3-v2 step 7500→8000 (3h18m, user cancel): loss 0.30→0.20, 안정적 수렴 지속.
phaseB_8000.pt 저장
- DA3-v1 step 10000→10950 (4h58m, PREEMPTED): loss ~40 (ray_origin 77.3 지배), 발산 구조 불변.
phaseB_10500.pt 저장
- 세 트랙 모두 260521 재개 → cancel/preempt로 짧게 끝. 추가 학습 필요
1 배경 / 목적
0511 fresh start (24-task sealed RoboCasa, ∞ depth 제거, 3-cam 일반화)로 재시작된 3개 학습 트랙이 260511~260517 주간에 초기 수렴 결과를 생성했다:
- DA3-v2 (260514 카드): step 0→7816, loss 0.525→0.181 — paper §3.2 loss 수렴 확인
- DA3-v1 vs v2 (260515 카드): step 10419 loss 45(발산) vs 7816 loss 0.21(수렴) 비교 완료
- Any4D (lgm_robocasa_v0): 0511 fresh start 이후 별도 카드 없음 — 이 트랙 최초 현황 문서화
260521 세 트랙 동시 재개로 현 step 위치·loss 추이를 확인하고, 학습 지속 여부 및 우선순위를 평가한다.
배경: share QOS 연속 preempt (0515~0520)로 v1 baseline이 거의 진행 못함. own QOS로 제출한 v0/v2는 3h대 연속 주행 가능.
2 작업 내용
제출 구성
job 6695 | train_lgm_robocasa_v0.sh | --qos=own | 4 GPU | 3h20m → CANCELLED by 10010
job 6696 | train_lgm_robocasa_da3_v0.sh | --qos=own | 4 GPU | 3h18m → CANCELLED by 10010
job 6881 | train_lgm_robocasa_da3_v0_lossv1.sh | --qos=share | 4 GPU | 4h58m → PREEMPTED
(6697, 6708, 6720, 6729, 6738, 6741, 6778, 6783, 6846 — 모두 v1 share QOS, 10~61분 PREEMPTED)
6945: CANCELLED by 64030 (1m32s — lossv1 단명 재시도)
Resume 경로 (각 실험 최신 ckpt)
Any4D : lgm_robocasa_v0_0511_0254/ → resume phaseB_12000.pt (step 12000)
DA3-v2: lgm_robocasa_da3_v0_lossv2_0511_0254/ → resume phaseB_7500.pt (step 7500)
DA3-v1: lgm_robocasa_da3_v0_lossv1_0511_0254/ → resume phaseB_10000.pt (step 10000)
Loss 정의 (트랙별 상이)
| 트랙 | Backbone | Loss 구성 | 비고 |
| Any4D | Any4D (mono) | d (depth) + p (pose) + sf (smoothflow) | scripts/train_lgm_robocasa_v0.py |
| DA3-v2 | DA3-LARGE | D (conf-weighted) + M (mask) + P (3D point) + C (9-DoF) + g (grad) | phase_b_loss_da3_v2.py — paper §3.2 |
| DA3-v1 | DA3-LARGE | d (depth) + ro (ray_origin) + rd (ray_dir) + R (rotation) + t (translation) | phase_b_loss_da3.py — 자체 설계 |
3 결과
3-track 현황 비교
| 트랙 | Resume step | 종료 step | 최신 ckpt | Loss (최종) | 추이 |
| DA3-v2 (lossv2) |
7,500 |
~8,100 |
phaseB_8000.pt |
0.20 (D=0.073, M=0.088, P=0.052, C=0.033, g=0.004) |
↓ 수렴 |
| Any4D (v0) |
12,000 |
~12,720 |
phaseB_12500.pt |
0.35 (d=0.25, p=0.09, sf=0.02) |
↕ LR restart |
| DA3-v1 (lossv1) |
10,000 |
~10,950 |
phaseB_10500.pt |
~40 (ro=77 지배) |
— 발산 |
Any4D — LR Cosine Restart 패턴
job 6695 로그에서 step 12000 직후 LR 재상승이 관찰되었다. step 12000에서 lr=5.50e-07(cosine 최저점)이었다가 step 12005부터 warmup 재시작:
step 12000: loss=0.2437 lr=5.50e-07 ← cosine 주기 최저
step 12005: loss=0.3292 lr=3.05e-06 ← restart warmup 시작
step 12035: loss=0.7387 lr=1.80e-05 ← LR 상승 중 spike
...
step 12720: loss=0.3871 lr=5.00e-05 ← LR 목표값 도달, 안정화 중
해석: step 12000은 cosine 주기 경계. LR 재상승으로 loss가 일시 0.74까지 spike했으나 step 12720에서 0.39로 회복. 이는 발산이 아닌 정상적인 warm restart 거동.
DA3-v2 — 수렴 단계별 loss
step 7500 (resume): loss 0.3043 | D 0.076 M 0.095 P 0.066 C 0.060 g 0.006
step 7600: loss 0.1866 | D 0.049 M 0.064 P 0.041 C 0.030 g 0.003
step 7800: loss 0.1911 | D 0.035 M 0.089 P 0.033 C 0.031 g 0.002
step 8000: loss 0.2495 | D 0.073 M 0.088 P 0.052 C 0.033 g 0.004 ← ckpt 저장
step 8100: loss 0.1957 | D 0.030 M 0.080 P 0.034 C 0.048 g 0.003
DA3-v2: 0.181(7816) → 0.20 범위 내 수렴 유지. step-to-step 변동은 있으나 추세는 안정적 하강. L_D·L_P가 가장 크게 감소한 항목.
DA3-v1 — 발산 지속
step 10000: loss 39.4 | d 0.154 ro 77.331 rd 0.163 R 0.127 t 0.401
step 10100: loss 102.7 | d 0.175 ro 190.2 rd 0.487 R 0.086 t 7.081 ← spike
step 10500: loss 20.9 | d 0.165 ro 39.65 rd 0.177 R 0.094 t 0.716 ← ckpt
step 10950: loss 31.9 | d 0.154 ro 60.68 rd 0.471 R 0.087 t 1.058
DA3-v1: ray_origin 항(ro)이 전체 loss의 85-90% 점유. step 10419 기준 260515 카드(loss 45)와 동일 발산 패턴 지속. ro 범위 20-190으로 step 간 변동 극심.
4 Takeaway
트랙 우선순위 확정
DA3-v2가 유일한 수렴 트랙. loss 0.20 수준에서 안정적으로 하강 중이며, paper §3.2 손실 설계(conf-weighted depth + 3D point + 9-DoF pose + grad)가 올바름을 step 8000까지 일관되게 확인. 이 트랙을 own QOS로 장기 학습하는 것이 최우선.
Any4D는 LR restart 구간이었음. step 12000 cosine 최저점에서 재시작 후 warmup 중에 user cancel이 걸렸다. 발산이 아니므로 재개 후 step 12720+ 구간에서 loss가 다시 0.25 수준으로 내려올 가능성이 있다. 다만 loss 항(d/p/sf) 스케일이 DA3-v2보다 크고, 모노큘러 pseudo-label 기반 학습의 scale ambiguity 한계는 여전하다.
DA3-v1은 사실상 종료. ray_origin 항이 loss 전체를 지배하며 10K step 넘어서도 개선 없음. v1 대 v2 ablation 결론은 260515 카드에서 이미 확정. 추가 학습 불필요.
5 Next Steps
DA3-v2 지속 학습 (최우선)
현재 step 8000, loss 0.20. 목표 step 20K~30K (loss 0.05 이하 예상). own QOS로 안정적 주행. sbmr 5 "bash scripts/train_lgm_robocasa_da3_v0.sh" --qos=own --gres=gpu:4 -c 32 --mem 800GB로 재제출.
Any4D cosine restart 이후 추이 관찰
step 12720에서 lr=5e-05 도달. 이 이후 loss가 다시 내려가는지 확인이 필요. loss 0.25 이하로 안정화되면 DROID pseudo-label 대비 RoboCasa GT Any4D 학습 가치를 재평가. DA3-v2와 병렬 주행 가능 (own QOS 할당량 내).
DA3-v1 — ablation baseline 동결
phaseB_10500.pt를 ablation baseline으로 보존. 추가 학습 없음. 260515 카드의 v1 vs v2 비교 결론(ray_origin 설계 오류)으로 종결.
DA3-v2 step 10K 체크포인트 시 평가 기준 수립
step 10K 시점에 depth/pose alignment 외부 평가 (RoboCasa test demos 상 pointcloud reprojection error) 수행 계획 필요. loss만으로는 geometry quality 보장 불가 — RL reward 신호의 품질이 Phase 2(RL fine-tuning)의 성패를 결정하므로 조기 검증이 중요.