place_empty_cup −16.00 (p=0.0075), move_stapler_pad −14.00 (p=0.050), stamp_seal −9.00 (p=0.252)open_microwave 21/100 → ICL macro 26.81 → 27.00%, 추론 시 demo 기여 +6.14 → +6.33pptext_emb)도 함께 바뀜 → 다음 대조는 영상만 교체 + 캡션 고정260918 카드에서 같은 체크포인트(checkpoint_step_32000)를 language-only / ICL 두 모드로 돌려
추론 시 demo 유무의 기여 Δ를 분리했다. 그러나 그 Δ(+6pp대)가 그 demo가 담은 과제 정보 때문인지,
아무 human video를 넣어도 오르는 것인지는 분리되지 않았다.
더 근본적인 동기는 이 저장소가 검증하려는 가장 강한 주장 “demo = task specification”이다
(claude/context.md 2026-09-09 결정). 이 주장이 참이면 다른 태스크의 demo를 넣었을 때 성공률이 0% 근처로 붕괴해야 한다 — 반증 가능한 예측이다.
demo_clean, instruction seen, Zero-WAM 수정 성공 기준)| 조건 | 생성 스트림 text | ICL 컨텍스트 |
|---|---|---|
lang | 올바른 task 지시문 (CFG 5) | 없음 |
icl (matched) | 빈 임베딩 | 올바른 demo + 그 캡션 (ICL CFG 5) |
icl_shuf (mismatched) | 빈 임베딩 | 엉뚱한 demo + 그 캡션 |
wan_va_server.py:641-644 — video_guidance_scale < 0(icl 모드는 -1)이면
target_prompt_embeds = negative_prompt_embeds(빈 문자열 임베딩)로 대체된다. 클라이언트가 올바른 지시문을 인코딩까지 하지만
그 prompt_embeds는 쓰이지 않는다. 즉 ICL 모드에서 demo가 유일한 과제 정보다.
tmp/robotwin_icl_human_videos_shuffled.py: 맵 키 순서로 1칸 순환 이동. 순환 이동은 derangement라
자기 영상을 유지하는 태스크가 없고, 임의 조합이 아니라 재현 가능하다. 7개 전부 latent 존재 확인(MP4 fallback 없음).
.pth latent가 text_emb(512×4096)와 text를 함께 들고 있고
_cache_icl_context(:530-536)가 text_emb가 있으면 그것을 쓴다 → 영상 교체 = 영상 + 캡션 동시 교체.script/eval_zerowam_robotwin_task.sh)job 130258은 7 태스크를 한 job(own 7 GPU)에 묶었는데 5개가 먼저 끝나 GPU 5장이 약 10시간 유휴가 됐다.
Slurm은 실행 중 job의 GPU 부분 반납이 안 되므로 job을 취소하고 남은 2개를 1 GPU job으로 이어받았다.
평가 클라이언트가 원래 이어받기를 지원한다 — --start_seed(:465-467), res.json이 stseed-{st_seed} 별도 디렉토리에 쓰여(:742) 구간 합산이 가능하다.
tmp/add_own_wopretrain.py도 stseed-* 세그먼트를 합산하도록 수정했다.
| task | 취소 시점 | 이어받기 | 합산 |
|---|---|---|---|
| open_microwave | 11/56, last seed 100088 | START_SEED=100089 × 44 (job 132447, 10:26:07) | 21/100 |
| stack_blocks_three | 0/59, last seed 100066 | START_SEED=100067 × 41 (job 132448, 9:24:52) | 0/100 |
교체 대조 job: 131229 move_stapler_pad (6:38:12), 131230 stamp_seal (6:24:28), 131231 place_empty_cup (9:54:04) — 전부 COMPLETED.
| task | lang | ICL matched | Δ demo | ICL mismatched | Δ 교체 | 논문 w/o-pre |
|---|---|---|---|---|---|---|
| place_empty_cup | 10.00 (100) | 28.00 (100) | +18.00 | 12.00 (100) | −16.00 | 46.0 |
| stamp_seal | 30.00 (100) | 47.00 (100) | +17.00 | 38.00 (100) | −9.00 | 53.0 |
| open_microwave | 8.70 (92) | 21.00 (100) | +12.30 | — | — | 26.0 |
| place_bread_basket | 31.00 (100) | 37.00 (100) | +6.00 | — | — | 33.0 |
| place_object_scale | 13.00 (100) | 16.00 (100) | +3.00 | — | — | 22.0 |
| stack_blocks_three | 0.00 (100) | 0.00 (100) | ±0 | — | — | 0.0 |
| move_stapler_pad | 52.00 (100) | 40.00 (100) | −12.00 | 26.00 (100) | −14.00 | 74.0 |
| macro | 20.67 | 27.00 | +6.33 | — | — | 36.36 |
open_microwave ICL은 이어받기 완료로 11/56 + 10/44 = 21/100 = 21.00%
(이전 보고 19.64% n=56 → 21.43% n=98 중간값). ICL macro 26.81 → 27.00%, 추론 시 demo 기여 +6.14 → +6.33pp. language-only는 변동 없음(20.67%, open_microwave만 n=92).| task | matched | mismatched | Δ | Fisher p |
|---|---|---|---|---|
| stamp_seal | 47/100 | 38/100 | −9.00 | 0.252 |
| move_stapler_pad | 40/100 | 26/100 | −14.00 | 0.050 |
| place_empty_cup | 28/100 | 12/100 | −16.00 | 0.0075 |
| POOLED | 115/300 (38.33%) | 76/300 (25.33%) | −13.00 | 0.00084 |
1. 영상은 조건화하지만 과제를 단독 명세하지 않는다. 정책은 장면에서 과제를 알아내고, 영상은 성공률을 약 13pp 밀어주는 보조 신호다. held-out 7개 태스크가 각각 고유한 물체 구성을 갖는다는 asset 커버리지 분석과 맞물린다.
2. 추론 시 demo 기여(+6.33pp)는 논문이 ICL 경로 전체(학습+추론)에 귀속한 +7.51pp와 비슷한 크기다. 학습 쪽 기여까지 포함한 값과 추론만의 값이 비슷하다는 것은, 논문의 ICL 경로 이득 중 상당 부분이 추론 시 영상에서 온다는 뜻이다.
3. 태스크별 편차가 결론보다 크다. place_empty_cup Δdemo +18.00pp vs move_stapler_pad −12.00pp.
demo가 해로운 태스크가 실재하고, 그 태스크가 교체 대조에서도 −14.00pp 떨어진다 — “영상을 보긴 보는데 잘못 쓴다”를 시사한다.
4. 방법론: 파일럿 n=10에서 “차이 없음”으로 결론냈다면 틀렸다. 이 프로젝트의 효과 크기(10~15pp)는 n=100에서야 p<0.01에 도달한다.
영상/캡션 미분리: 영상 교체 시 캡션도 같이 바뀌므로 영상을 무시하는지 캡션을 무시하는지 모른다.
단일 시드: 논문 Table 2는 시드 분산(17.45±1.40)을 보고하므로 Δ를 시드 노이즈와 가르려면 2~3 시드가 필요하다.
3/7 태스크만: place_bread_basket(Δdemo +6.00)·place_object_scale(+3.00)은 교체 대조를 안 했다.
1. 영상만 교체 + 캡션 고정 — _cache_icl_context에 캡션 override 추가. 재학습 불필요.
2. 교체 대조를 나머지 4개 태스크로 확장. 단 stack_blocks_three/open_microwave는 ep당 13~17분으로 가장 느리고 0~21%대라 비용 대비 정보가 적다 →
place_bread_basket·place_object_scale 우선(“영상을 거의 안 쓰는” 후보, 태스크별 demo 의존도 스펙트럼 완성).
3. video 마지막 프레임만 조건으로 주기 — demo 기여가 (A) grounding 보완인지 (B) 목표상태 프라이어인지 가름.