Index
2026-05-14 — Experiment

DA3 LossV2 24-task 학습 step 3000→7800

VGGRPO | lgm_robocasa_da3_v0_lossv2_0511_0254 | 4× B200, --qos=share

TL;DR

0.525
loss @3000
0.181
loss @7250
−65%
총 loss 감소
6회
PREEMPTED 횟수
7,800
현재 step

1 배경 / 목적 (왜)

DA3(Depth Anything 3, paper 2511.10647) backbone + paper § 3.2 5-term loss(v2)를 RoboCasa 24개 single-stage task 전체에 대해 학습하는 것이 목표. 이전 주(260504–260510)에 3-track ablation(1-task 기준)을 완료하고 lossv2 구현 검증을 끝냈으며, 이번 주부터 full-scale sealed 데이터 24-task 학습을 시작했다.

전 주까지 3-track 12K step ablation에서 sealed 1-task 기준 loss가 약 0.25 수준으로 수렴하는 것을 확인했다. 24-task 전체 학습은 데이터 다양성과 도메인 커버리지를 높여 Phase 2 RL reward로 활용 가능한 geometry 예측 품질을 높이기 위함.

실험 디렉토리: experiments/lgm_robocasa_da3_v0_lossv2_0511_0254 (May 11 02:54 시작). 24개 HDF5 파일 × 3,000 demo = 72K demo 총합.

2 작업 내용 (어떻게)

학습 설정

script: scripts/train_lgm_robocasa_da3_v0.sh backbone: DA3-LARGE (ViT-L, stitch_layer=6) loss: LossV2 — L_D(conf-weighted) + L_M + L_P(3D point) + L_C(9-DoF) + L_grad data: 24 sealed tasks × 3,000 demo = 72K (MG-30 subset) dataset_root: /Datasets/robocasa/v0.1_216x384_depth_sealed/single_stage/ lr: 2e-4 | max_steps: 50,000 | save_every: 500 | num_frames: 32 gpu: 4× B200 (--qos=share) | DDP | torchrun --standalone

Auto-resume 메커니즘

train_lgm_robocasa_da3_v0.shexperiments/에서 lgm_robocasa_da3_v0_lossv2_* 패턴의 최신 디렉토리를 자동 탐지하고 최신 phaseB_N.pt ckpt에서 재개한다. preemption 후 동일 스크립트를 재제출하면 중단 시점 직전 저장된 ckpt에서 자동으로 이어받는 구조. 단, save_every=500이라 preemption 시점에 따라 최대 499 step을 재학습해야 한다.

SLURM job 이력 (May 12–13)

Job ID시작종료실행 시간재개 step도달 step상태
184505-12 14:5705-13 12:4121h 35m3,000~7,250PREEMPTED
221205-13 12:4205-13 12:5611m7,000~7,000PREEMPTED
222305-13 12:5705-13 13:1811m7,000~7,000PREEMPTED
223605-13 13:1905-13 16:443h 24m7,000~7,650PREEMPTED
226905-13 16:4505-13 17:1022m7,500~7,500PREEMPTED
228505-13 17:1105-13 18:1259m7,500~7,500PREEMPTED
232705-13 18:1305-13 19:511h 37m7,5007,800CANCELLED (사용자)
share QOS 문제: 7회 제출 중 1회(1845)만 장시간 유지. 이후 6회는 2212/2223처럼 11분 만에 연속 퇴출되는 패턴 반복 — May 13 오전 시간대 own/extra 수요가 급증한 것으로 추정.

3 결과 (수치)

Loss 수렴 곡선 (job 1845 + 2327 합산)

StepTotal lossL_D (depth)L_M (motion)L_P (3D point)L_C (9-DoF)L_grad
3,0000.52520.1430.1580.1370.0810.006
3,5000.24370.0640.0940.0510.0310.003
4,0000.50020.1240.1380.1500.0800.007
5,0000.22900.0550.0740.0570.0390.004
5,5000.16350.0330.0700.0330.0250.003
6,0000.30170.0520.1040.0500.0930.003
7,0000.20020.0600.0570.0500.0270.006
7,2500.18140.0360.0760.0300.0360.003
7,8000.20050.0370.0900.0370.0350.002
수렴 추세 긍정적: step 3000(0.525) → 7250(0.181)로 총 −65% 감소. 5,500 step에서 최저 0.164 기록. 이후 0.18~0.30 범위의 진동이 지속되지만 추세 하향 유지.
L_M (motion) 진동: step 3950에서 0.387 급등, step 7750에서 0.372 급등 등 L_M 성분이 간헐적 spike. 다른 성분(L_D, L_P, L_C)은 step 5000+ 이후 0.03–0.10 수준으로 안정화.

현재 checkpoint 상태

최신 ckpt: experiments/lgm_robocasa_da3_v0_lossv2_0511_0254/phaseB_7500.pt 학습 진행: 7,800 / 50,000 steps (15.6%) 저장 주기: 500 steps (phaseB_500.pt ~ phaseB_7500.pt)

4 Takeaway

share QOS 전략의 한계 확인

job 1845는 21h35m 동안 4K+ step을 진행했으나, 이후 May 13 오전 cluster 혼잡 시간대에는 6회 재시도 중 최장 3h24m에 그쳤다. share QOS는 long-run 학습에 구조적으로 취약 — 50K step 목표에는 안정적인 own/extra 사용이 필수.

24-task 스케일 학습 실현 가능성 확인: 72K demo 로드·배치·DDP 파이프라인이 정상 작동. loss 수렴 추세로 볼 때 full-scale 학습 자체는 문제 없음.
Phase 2 RL 전제 조건: context.md에서 LGM Phase 2 완료는 RL의 prerequisite가 아님으로 재정의됨(DA3 직접 reward path 채택). 따라서 이 학습은 paper-reproduction track으로 독립적으로 진행하면 되며, RL은 Cosmos-Predict2-2B base로 병행 착수 가능.
L_M spike 원인 미규명: motion term이 간헐적으로 2–3× 급등하는 패턴이 반복됨. 특정 task의 extreme motion 클립이 batch에 들어올 때 발생하는 것으로 추정되나, 아직 어떤 task인지 특정하지 않음.

5 Next Steps

  1. QOS 전환: sbmr 5 "bash scripts/train_lgm_robocasa_da3_v0.sh" --gres=gpu:4 -c 32 --mem 800GB --qos=extra 로 재시작 — share 대신 extra로 안정성 확보. 현재 phaseB_7500.pt에서 자동 재개.
  2. L_M spike 트래킹: loss spike 시점(step 3950, 7750 등)에 어떤 task HDF5가 batch에 들어왔는지 로그 추가 — train_lgm_robocasa_da3_v0.py에 배치 내 HDF5 경로 출력 라인 삽입.
  3. 마일스톤: step 10K(20%), 20K(40%), 50K(완료) 시점 loss 수렴 + viz 품질 리포트.
  4. Phase 2 RL 병행: DA3 학습 완료를 기다리지 않고 Cosmos-Predict2-2B + Flow-Factory adapter 구현(Sub-plan #1) 시작. RL reward는 frozen DA3 ckpt(phaseB_7500.pt)로 선행 실험 가능.