Index
2026-09-04 — Experiment

P-B Presence 축 실험 — action_rgb(RGB-only 추론) 8-task Ablation

flex-pi | ckpt step_010960 (clean-50, Wan2.2 init) | RoboTwin 리더보드 프로토콜

TL;DR

18.5
random mean (8-task)
+13.9
입력 몫 (random)
+8.6
생성 몫 (random)
28.7
GPU-h

1 배경 / 목적

연구계획 P-B(presence 축)는 "무엇을 입력으로 보는지"(현재 프레임의 DINO/pointmap)와 "무엇을 생성하는지"(미래 예측)가 분포이동(clean→random) 상황에서 각각 얼마나 기여하는지 분리하는 것이 목적이다. 이미 action-only(생성만 제거, clean 89.56 / random 34.94)로 "생성을 빼면 얼마나 잃는가"는 확보했으므로, 이번에는 입력까지 제거한 action_rgb로 두 축의 독립 기여를 분해한다.

기존 한계: action-only 대조만으로는 "생성 제거"의 효과와 "입력 제거"의 효과가 뒤섞여 있어, adaptive regime 설계 시 어느 축을 먼저 켜야 할지 판단할 근거가 없었다.

2 작업 내용

sweep 래퍼에 REGIME=action_rgb를 신규 추가: infer_joint_*=false + infer_present_dino=false + infer_present_pointmap=false. deploy_policy가 infer_action(present_dino=False, present_pointmap=False)로 호출되어, 첫 RGB 프레임만 KV prefill anchor로 쓰고 이후 DINO/pointmap 인코더 자체를 생략한다.

대상: 같은 8-task 서브셋 (P-C 첫 데이터포인트와 동일) adjust_bottle, click_bell, lift_pot, open_microwave, place_shoe, put_object_cabinet, scan_object, stack_bowls_two 설정: 100 ep/task, upstream step 상한, ckpt step_010960 제출: own 8×1GPU 시작(job 109075-82) → 대부분 preempt/취소 → extra 4GPU 전환(job 109170-177) 완료 put_object_cabinet random만 2회 추가 preempt (109175→109321→109602) 비용: 총 28.7 GPU-h 검증: 16 셀 전부 ckpt==10960, 에셋 오류(modelid out of range) 0건, eval_config 8개 모두 present_dino/pointmap=false 확인

3 결과 (수치)

taskjoint cleanaction cleanaction_rgb cleanjoint randomaction randomaction_rgb random
adjust_bottle96979932177
click_bell98100100678650
lift_pot999797330
open_microwave576150801
place_shoe929490534019
put_object_cabinet92929129136
scan_object908589513510
stack_bowls_two929593856555
mean89.590.188.641.032.418.5
regimelatency (median, ms/call)
joint304.5
action-only200.7
action_rgb173.7
축 분해 (8-task 평균, random): 현재 DINO/pointmap 입력의 몫 +13.9pt (action_rgb→action), 미래 생성의 몫 +8.6pt (action→joint) — 분포이동 하에서 두 축이 비슷한 크기로 독립 기여한다.
clean에서는 둘 다 노이즈: 입력 몫 +1.5, 생성 몫 −0.6 — clean 조건에서는 학습된 표현이 입력/생성 없이도 온전히 남는다.
task별로 두 단계 모두 깎임: scan_object 51→35→10, place_shoe 53→40→19, adjust_bottle 32→17→7, put_object_cabinet 29→13→6 — 입력 제거와 생성 제거가 각 단계에서 순차적으로 성능을 갉아먹는다.

4 Takeaway

의미

OOD(분포이동) 상황에서 "현재 프레임의 3D/DINO를 보는 것"과 "미래를 생성하는 것"이 거의 대등하게 기여한다(각 +9~10pt). 즉 adaptive regime은 이 두 축을 독립적으로 제어할 수 있어야 한다 — OOD 신호가 감지되면 저비용인 입력 스트림 (+174→200ms, +26.5ms)을 먼저 켜고, 그다음 생성(+200→305ms, +104.8ms)을 계단식으로 켜는 설계가 비용 대비 합리적이다. clean 조건에서는 입력을 완전히 빼도 학습된 표현이 온전히 남지만(88.6), 분포이동 내성은 입력이 있어야만 발현된다는 점이 OOD 트리거 설계의 핵심 근거다.

5 Next Steps

미해결 한계

8-task × 1 GPU/task 서브셋 구성이라 preempt에 취약했다(109075-82 대부분 취소·재시도, put_object_cabinet만 3차 재시도). own quota가 비는 시점에 재시도하거나 sbmr 재시도 한도를 올리는 편이 안정적이다.

다음 실험

E0′ oracle-gap 실험과 OOD 트리거 신호 후보(첫 DiT block cos-sim/HBridge 통계) clean vs random 분리도 측정을 이 ckpt/프로토콜로 이어서 진행 — 추가 학습 없이 로그만 추가하면 되므로 비용이 낮다.