Index
2026-09-10 — Analysis

RoboTwin Unseen-7 평가 7/7 완료 — 최종 delta +10.4p로 하향 수정

lingbot-va | Track A — RoboTwin 2.0 cross-task 일반화

TL;DR

27.86%
평균 SR (7/7 최종)
17.45%
Paper baseline (7-task)
+10.41p
Delta (최종)
+13.63p
Delta (5/7 잠정치, 참고)
0.0%
stack_blocks_three

1 배경 / 목적

260909 카드(robotwin_unseen7_eval.html)는 Unseen-7 zero-shot 평가 7개 중 5개가 끝난 시점에 작성됐다. 당시 잠정 평균은 +13.6p로 낙관적이었지만, 카드 본문이 명시적으로 "open_microwave, stack_blocks_three 완료 시 7-task 전체 평균을 다시 계산해야 정확한 비교가 된다"고 남겨뒀다. 이번 카드는 그 미해결 항목을 마무리한다 — 두 태스크가 2026-09-09 17:21(stack_blocks_three)과 19:23(open_microwave)에 완료됐고, 이제 seed 0 기준 7/7 최종 delta를 처음으로 정확히 계산할 수 있다.

왜 이게 중요한가: 평가가 태스크별로 독립 job(태스크당 1 GPU, extra QOS)으로 병렬 제출됐지만 완료 시각이 4.5시간~18.6시간으로 4배 넘게 벌어졌다. 먼저 끝난 5개만으로 평균을 냈다면 "쉬운 태스크가 먼저 끝난다"는 생존 편향(survivorship bias)에 노출된다 — 실제로 그 편향이 맞았다.

2 작업 내용

추가 작업 없음 — 260907~08에 제출된 rt32k_* 7개 job(seed 0, task당 100 rollout, step32000 checkpoint) 중 마지막 2개가 자연 완료된 것을 확인하고 집계만 다시 했다. 두 job의 sacct 타임라인:

job 113732 rt32k_open_microwave submit 00:44:24 → start 00:45:15 → end 19:23:53 (elapsed 18:38:38) job 113736 rt32k_stack_blocks_three submit 00:44:25 → start 00:46:15 → end 17:21:36 (elapsed 16:35:21) 비교 — 먼저 끝난 5개: place_empty_cup 04:29:21 place_object_scale 04:50:18 stamp_seal 05:37:40 move_stapler_pad 05:58:41 place_bread_basket 06:25:59

stack_blocks_three 로그 확인 결과 에러·크래시·OOM 없음(exception/traceback 매치 0건) — 순수 행동 실패(0/100)이며, 에피소드당 최대 1,200 step까지 롤아웃을 허용하는 설정으로 다른 태스크 대비 에피소드 길이 자체가 길다. 3-block stacking(다단계 pick-place)과 microwave 조작(탐색+정밀 grasp) 모두 단일 pick-place류 태스크보다 horizon이 길어 rollout 자체가 오래 걸리고, 그 결과 job 완료도 늦어졌다.

3 결과 — 7/7 최종 집계

TaskOurs (seed 0)Paper baselineDeltaEval 소요
place_bread_basket60.00% (60/100)17.33%+42.67p6h26m
place_object_scale34.00% (34/100)6.17%+27.83p4h50m
place_empty_cup62.00% (62/100)42.33%+19.67p4h29m
open_microwave34.00% (34/100)29.33%+4.67p18h39m
stamp_seal4.00% (4/100)3.67%+0.33p5h38m
stack_blocks_three0.00% (0/100)0.00%0.00p16h35m
move_stapler_pad1.00% (1/100)23.33%-22.33p5h59m
평균 (7/7 최종)27.86%17.45%+10.41p-
평균 (5/7 잠정, 260909 참고용)32.20%18.57%+13.63p-
완전 실패 1건: stack_blocks_three는 100 rollout 전부 실패. paper baseline도 0.00%라 "우리 재현만의 문제"는 아니지만, 7개 태스크 중 유일하게 baseline·재현 모두 0%인 태스크 — 3-block 순차 스태킹이 이 checkpoint 계열 전체의 구조적 한계로 보인다.
과대평가됐던 잠정치: 5/7 시점 delta(+13.63p)는 나중에 끝난 2개(합산 delta 평균 +2.34p)가 빠진 값이라 전체를 대표하지 못했다. 최종 delta(+10.41p)가 실제 zero-shot 일반화 개선폭에 더 가깝다.

4 Takeaway

의미

7/7 최종 delta +10.41p는 여전히 양(+)이며 paper baseline 대비 개선이라는 방향성 자체는 유지된다. 하지만 260909 카드의 +13.6p보다는 완만한 개선이고, 그 격차의 대부분은 stack_blocks_three(delta 0p, 완전 실패)와 open_microwave(delta +4.67p, 5개 평균의 1/3 수준)라는 두 개의 long-horizon 태스크에서 나왔다. 즉 zero-shot 일반화 성능이 태스크 horizon 길이와 음의 상관을 보인다 — 단일 pick-place류(place_*)에서는 paper baseline을 크게 앞서지만, 다단계·탐색이 필요한 태스크(3-block stacking, microwave)에서는 개선폭이 작거나 사라진다.

방법론적으로도 배울 점이 있다: 태스크별 독립 job을 병렬 제출해도 완료 순서가 난이도와 상관되므로(길고 어려운 태스크일수록 job도 오래 걸림), 중간 집계 시점에 결과를 확정하면 체계적으로 낙관적인 방향으로 편향된다. 앞으로 partial 결과를 리포트할 때는 "몇 개가 남았는지"뿐 아니라 "남은 태스크가 상대적으로 느린 태스크인지"를 함께 확인해야 한다.

5 Next Steps

미해결 한계

stack_blocks_three 0% 실패의 원인 미분석 — rollout 영상을 확인해 첫 블록 pick부터 실패하는지, 스태킹 단계에서만 실패하는지 failure mode를 특정해야 한다. move_stapler_pad(-22.33p)도 260909 카드 이후 원인 분석이 진행되지 않은 상태. 지금 수치는 여전히 seed 0 하나뿐이라 paper의 3-seed 평균과 직접 비교하기엔 분산 정보가 없다.

다음 실험

2번째 seed를 최소 stack_blocks_three·open_microwave·move_stapler_pad 3개(가장 극단적인 delta)에 우선 실행해 seed 노이즈인지 구조적 격차인지 구분. 중간 체크포인트(4k/8k/…/28k) 평가를 추가해 학습 곡선 대비 zero-shot 성능 추이를 확인하되, stack_blocks_three처럼 long-horizon 태스크는 평가 자체가 오래 걸리는 것을 고려해 GPU 배정을 태스크 난이도에 비례해 분산(예: long-horizon 태스크에 우선순위 높은 QOS 할당)하는 것을 검토.