260406-260412 · 8/9 phases done · smoke test pending
EgoX의 ego_Prior + GGA + depth/camera 기반 복잡한 conditioning을 전부 벗겨내고, Wan I2V 표준 image-conditioning 패턴(first-frame + zero temporal padding)을 ego 슬롯에 그대로 적용한 단순 베이스라인을 확보한다. 그 위에 Wan 2.2 I2V A14B 학습이 동작하면, 이후 다양한 해상도/데이터셋으로 빠르게 포팅 가능한 미니멀 코드베이스가 된다.
| Step | Commit | 목적 | 상태 |
|---|---|---|---|
| Step 0 — Baseline 검증 | — | WanTransformer forward 시그니처 + VAE temporal field 정적 검증 | ✅ 완료 |
| Step 1 — Dead file 삭제 | bfa0929 | custom_transformer.py + demb_samerope_trainer.py 제거 | ✅ 완료 (−1430) |
| Step 2 — GGA/ego_prior/depth/camera 제거 | 291149f | first-frame conditioning + config widths | ✅ 완료 (−870) |
| Step 3 — width_concat helper | d64e0e1 | _base/width_concat.py 헬퍼 5개 추출 | ✅ 완료 (+115) |
| Step 4 — README + status_update | 9ce0a88 | 문서 갱신 | ✅ 완료 (−72) |
| Step 5 — Wan 2.2 어댑테이션 | 4951484 | CLIP 조건부 로드, pipeline 수동 조립 | ✅ 완료 (+56) |
| Step 6 — yaml config 시스템 | a33e56a | 2-stage argparse + dataset_type dispatch | ✅ 완료 (+113) |
| Step 7 — Dataset 분리 | 23779b4 | EgoExo4D / DROID dataset 클래스 분리 | ✅ 완료 (+130) |
| Step 8 — Smoke test | — | 1-step 학습 + 1-sample 추론 검증 | ❌ 다음 사이클 |
| Step 9 — transformer_2 dispatch | — | 2.2 low-noise expert 활용 결정 | ❌ 검토 중 |
후보 (a) ego=0, (b) [exo_clean | random_ego], (c) channel 제거 중에서 user 지시로 (d) Wan I2V 표준 패턴 채택. 근거: VAE temporal field 실측에서 t=0 latent가 ff를 bit-identical하게 담음. pretrained 분포와 정합.
기존 pipeline은 exo_width = width - height; ego_width = height로 ego가 정사각형이라고 가정. DROID는 ego도 768 wide → 가정이 깨짐. Args.exo_width / Args.ego_width를 명시 인자로 받고 width = exo_width + ego_width를 내부에서 계산.
_base/의 underscore prefix가 core/finetune/models/__init__.py의 auto-import 필터에 걸려 register 대상에서 제외됨. 즉 wan_i2v/sft_trainer.py가 명시 import할 때만 로드 — 향후 Wan 2.2 1.3B 포팅 시 같은 헬퍼를 안전하게 재사용.
Wan 2.2 I2V A14B는 high-noise / low-noise dual expert. exp1이 transformer 하나만 쓰는 전략을 따름. 추후 품질 문제 발견 시 boundary_ratio dispatch 추가 고려.
/home/nas_main/taewoongkang/repos/EgoX2/EgoX2_exp1/checkpoints/pretrained_model/Wan2.2-I2V-A14B-Diffusers에 symlink 필요.wan-i2v-v2가 고정. 2.1 → 2.2 전환 시 silent distribution drift 위험.DAVIAN-Robotics/EgoX)는 (1) Wan 2.1, (2) ego_prior, (3) CLIP cross-attention 분포로 학습 → 우리 새 경로와 세 가지 모두 다름. scratch 학습 필요.| 마일스톤 | 예상 | 실제 | 코멘트 |
|---|---|---|---|
| Width-concat 리팩토링 | 04-12 | 04-11~12 | 예정대로 |
| Wan 2.2 어댑테이션 | 04-12 | 04-11 | 1일 단축 |
| Dataset 분리 + yaml config | — | 04-12 | 계획 외 추가 |
| Smoke test (1-step train) | 04-13 | — | 다음 사이클 |