--vae_per_frame, --depth_param log, --alpha_conf 0 반영한 train_lgm_xwam.sh 작성 — 아직 미실행Phase 2 LGM(VGGT-Ω backbone) 학습에 쓰던 216×384 RoboCasa 3-cam HDF5 corpus가 삭제되어, 남은 것은
~/Datasets/RoboCasa_{sealed,linlog}의 X-WAM 패키징(RGB/depth/pointmap을 8-bit H.264 mp4로,
episode당 JSON 메타)뿐이었다. 이 포맷에는 LGM이 필요로 하는 두 가지가 직접 저장돼 있지 않다:
추가로 VGGT-Ω의 pretrained operating point(~1024 token)에 맞추기 위해 해상도를 216×384에서 512×512로 올리기로 하면서, 기존 21×37 patch grid 기준으로 fit된 stitch layer 결과도 재사용 불가 — 처음부터 다시 파이프라인을 세워야 하는 상황이었다.
scripts/probe_xwam_robocasa.py로 단일 episode에 대해 먼저 검증:
scripts/build_xwam_cam_cache.py + .sh — 16-shard 병렬, CPU-only
(sbatch --gres=gpu:1 -c 32 --mem 128GB --qos=extra). 1320개 episode × 3 cam
(agentview_left/right, eye_in_hand) 각각에 K/T/residual을 <episode_key>.npz로 저장.
static camera는 거의 안 움직이고 wrist만 프레임마다 이동해야 한다는 사실을 span 값으로도 교차 검증.
scripts/find_stitch_layer_vggt_dinov2.py + find_stitch_layer_vggt_dinov2_xwam.sh —
512×512 → VAE 64×64 latent → 32×32 patch grid(1024 token, VGGT-Omega native)로 closed-form ridge
regression 재적합. 이전 결과는 삭제된 216×384(21×37 grid) 기준이라 그대로 못 쓴다.
train_lgm_xwam.sh단순 dataset 갈아끼우기가 아니라, 기존 8-frame 파이프라인에서 미해결이던 두 가지 설계 결함을 같이 고쳤다:
4 GPU DDP로 제출하도록 구성: sbmr 20 "bash scripts/train_lgm_xwam.sh" --gres=gpu:4 -c 30 --mem 800GB --qos=extra.
| Job | 내용 | 소요 | 결과 |
|---|---|---|---|
| 80201 | cam cache 구축 (16 shard) | 16m29s | 1320/1320 episode COMPLETED |
| 80202 | stitch layer 재탐색 | 3m30s | best layer=2, MSE 0.0311 |
| 지표 | 값 | 비고 |
|---|---|---|
| median residual | 4.8mm | 16개 shard 전부 동일하게 4.8mm — FOV 가정이 일관되게 맞음 |
| p95 residual | 8.8 ~ 17.9mm | shard별 편차 |
| worst outlier | 최대 38.1mm | episode_0000777/0000858/0000798 등 eye_in_hand 소수 클립 |
| Layer | MSE |
|---|---|
| 2 (best) | 3.108e-02 |
| 4 | 3.542e-02 |
| 6 | 7.262e-02 |
| 8 | 2.254e-01 |
| 12 | 1.606e+00 |
| 22 (worst) | 1.171e+02 |
train_lgm_xwam.sh recipe는 작성만 완료,
SLURM sacct에 제출 기록 없음 — 이번 세션에는 학습 loss/수렴 수치가 아직 없다.원본 HDF5 corpus가 소실돼도 X-WAM의 depth+pointmap 조합만으로 metric depth와 camera pose를 mm 단위 정밀도(median 4.8mm)로, MuJoCo 재실행 없이 대규모(1320 episode)로 복원할 수 있음을 확인했다. 이는 RoboCasa human demo(24 task × 55 episode) 기반 LGM 재학습 경로가 완전히 막히지 않았다는 뜻이고, 동시에 512×512/1024-token 해상도로 갈아타면서 VGGT-Ω 네이티브 operating point에 더 가깝게 정렬할 기회가 됐다.
또한 이전 학습에서 원인 불명이던 wrist-view 저품질 문제를, A5 view-weight ablation(효과 미미)이 아니라 temporal interpolation 구조 자체와 depth residual의 스케일 파라미터화 라는 더 근본적인 설계 결함으로 재규정하고 이번 recipe에 직접 반영했다.
train_lgm_xwam.sh가 아직 SLURM에 제출되지 않아, vae_per_frame + log-depth 조합이
실제로 wrist AbsRel을 개선하는지는 검증 전이다. 또 cam cache의 소수 outlier episode(예:
episode_0000148, 0000836, 0000798/0000777/0000858의 eye_in_hand, residual 18~38mm)가
FOV 가정 오차인지 개별 조사가 안 됐다.
1) sbmr 20 "bash scripts/train_lgm_xwam.sh" --gres=gpu:4 -c 30 --mem 800GB --qos=extra로
dino4/agg2 학습 실제 제출 — 50K step 목표. 2) 학습 후 wrist AbsRel 프로파일(t=0~7)을 다시 측정해
temporal collapse가 실제로 사라졌는지 확인 (가설: vae_per_frame으로 anchor/interpolated 구분 자체가
없어지므로 t별 편차가 평탄해질 것). 3) outlier residual episode 5~10개를 fovy sweep으로 재검증.