Index
2026-09-10 — Analysis

multi 예산 규칙 v3 수정 + 재측정(w3): "하한" 주장 철회

SceneMem-Bench | online find · S1/S2(multi) 43질의 × 5전략 · jobs 115821-115828 · $22.47

TL;DR

8→3
예산게이트 탈락(/215)
0.076
실측 P(2개 다)
0.079
독립가정 p²
$22.47
w3 재측정 비용

1 배경 / 목적

사용자 질문("gt에 tv_stand라고 되어있는데 뭐가 맞는거야")을 계기로 데이터셋 answers[].surface 필드를 씬 복원으로 직접 재보니, VLM이 "bed"라고 답한 것이 실제로는 맞았고 데이터셋 기재가 틀린 사례가 나왔다. 이 확인 과정에서 더 큰 문제가 드러났다 — find의 budget_steps는 답이 몇 개든 상수(일반 1500 / hidden 2500)였고, oracle 필드는 589행 전부 null이라 답 2개짜리 multi 질의도 답 1개와 똑같은 예산으로 채점되고 있었다. 260909 리포트에서 "S1/S2는 VLA 체이닝 한계"라고 썼던 결론이 이 예산 비대칭 위에 서 있었다면, 그 결론 자체가 인공물일 수 있다.

기존 한계: multi 실패 205건 중 8건은 GT를 전부 들어올린 뒤 예산초과(예: train_2853__0/textlog가 1543/1500으로 소진)였다 — "능력 부족"이 아니라 "시간 부족"으로 실패한 행이 섞여 있었다.

2 작업 내용

데이터셋 surface 필드 검증(tmp/protocol_v2/measure_gt_support.py, 13컨텍스트, GPU 1장·렌더 없음, job 115796): surface가 기재된 답 80개 중 misplaced="wrong_surface" 10개에서만 4개 불일치(5.0%), misplaced="no" 70개는 0건. 채점 자체(물체 uid + 복원 씬 거리 기준)에는 영향 없음 — 영향 범위는 진단용 gt_ground_strict와 리포트 표시뿐.

수정: run_online_plan의 step_budget step_budget = plan.budget_steps * max(1, len(답_목록)) 회귀 테스트: test_step_budget_scales_with_answer_count 1차 검증(오프라인, tmp/protocol_v2/rescore_budget_by_answers.py): success = success_nobudget AND steps_used <= 새_예산 API 재측정 없이 기존 로그로 재계산 -> 이후 "하한"이 아님이 밝혀짐 2차 검증(실측): multi 43질의 x 5전략 = 215행, 예산 3000(=1500x2) jobs 115821-115828(8샤드), $22.47 샤드 수는 5의 배수를 피함(260909 교훈 반영)

첫 행에서 budget_steps == budget_base × n_answers(1500×2=3000) 불일치 0건을 확인한 뒤 8샤드를 진행시켰다.

3 결과 (수치)

3-1. 세 값 비교 — 재채점은 하한이 아니라 다른 표본이었다 (같은 43질의)

전략A 옛 실측(예산 1500)B 오프라인 재채점C w3 실측(예산 3000)물체 단위 A→C
blind0.000.000.020.18→0.22
textlog0.070.210.140.44→0.48
frames-uniform0.070.090.020.23→0.22
rollforward-v30.020.050.050.22→0.22
rollforward-vis-pure0.070.070.070.30→0.29
정정: textlog 실측 0.14는 재채점값 0.21보다 낮다. 재채점은 "옛 롤아웃 중 우연히 완주한 8행"에만 점수를 준 것이고, 실제 재측정은 VLA·VLM 확률성을 처음부터 다시 뽑는 다른 표본이다 — 포함관계(하한)가 아니다. n=43에 성공 1~6건이라 세 값 모두 서로의 신뢰구간 안에 있다(textlog 0.14 [0.066, 0.273]).

예산은 실제로 더 쓰였다 — 평균 스텝 1008→1514(예산 3035), 평균 턴 7.0→10.3. 옛 런에서 예산 소진으로 끊겼던 80행 중 w3에서 성공 3 · 물체를 더 들어올림 22 · 3000도 소진 33. 물체 단위 성공률은 거의 안 움직였다(textlog 0.44→0.48, 나머지 ±0.01) — 안정적인 지표다.

3-2. multi = 물체 단위 결합, 추가 페널티 없음

전략0개1개2개물체단위 pp²(독립)실측 P(둘다)비
blind251610.2140.0460.0240.52
textlog82770.4880.2380.1670.70
frames-uniform261420.2140.0460.0481.04
rollforward-v3271320.2020.0410.0481.16
rollforward-vis-pure221640.2860.0820.0951.17
합산(210행)10886160.2810.0790.0760.97
핵심 발견: 합산 분포 실측 [0.514, 0.410, 0.076] vs 독립가정 [0.517, 0.404, 0.079] — 거의 정확히 일치한다. 예산을 공정하게 준 뒤 남는 병목은 개별 pick 성공률(0.20~0.49) 하나뿐이고, multi 고유의 추가 페널티는 검출되지 않는다.

3-3. 최종 통합 본표 (D1~D3 = w1+w2, S1/S2 = w3, 예산 규칙 v3)

셀nblindtextlogframes-uniformrf-v3vis-pure
D1310.190.520.320.350.29
D2520.250.440.350.460.42
D380.000.250.000.120.12
S1260.000.230.000.040.00
S2170.060.000.060.060.18
전체1340.1490.3510.2160.2840.261

Wilson 95% CI: blind [.099,.219] · textlog [.275,.435] · frames [.155,.294] · rf-v3 [.214,.365] · vis-pure [.194,.341]. 총 API 실비 $65.31(w1+w2 $42.84 + w3 $22.47).

4 Takeaway

의미

예산 수정은 옳았지만 점수를 크게 바꾸지는 않았다. 그 가치는 "다 하고도 0점"이라는 채점 인공물을 8행→3행으로 없앤 것(측정 타당성)이지, multi 성적을 올린 것이 아니다. multi 서술은 세 번 바뀌었다: 260909 "VLA 체이닝 한계" → 260910 앞 절 "결합+예산" → 이번 절 "순수 결합". 예산은 인공물이었고, 예산을 제거하고 남는 것은 물체 단위 성공률의 곱뿐이다. 물체 단위 성공률이 런 간 안정적인 반면 질의 단위 SR은 n=43에서 노이즈가 크므로, multi 셀은 SR보다 물체 단위로 보고하는 편이 정직하다.

5 Next Steps

미해결 한계

"조기 done 선언"(첫 물체만 집은 86행 중 58행이 예산 절반 이상 남기고 스스로 종료)은 이번 분석 범위 밖이며, 후속 online_stage_funnel 분석에서 다뤄졌다. 데이터셋 wrong_surface 답의 surface 필드 의미(현재/원래 자리 중 무엇인지)는 아직 데이터셋 팀 확인이 필요(약 11개 영향).

다음 작업

남은 find 전수 확장(455질의 × 5 ≈ $145) 여부 결정. budget_steps가 애초에 상수(오라클 미사용)인 것 자체도 데이터셋 쪽 확인이 필요하다.