← 목록으로

tagmem 모달리티 절제 — DB 를 text 만 / frame 만 쓰는 writer (A안)

2026-09-24 · scene_bench · experiment
Finding · Restore · Routine · flash · 잡 154514~154519 · $95 (resume 팔 보류)
TL;DR (수치는 본표와 같은 행·채점·표기, % ) 태그·검색·reader 예산은 그대로 두고 writer 가 텍스트만/프레임만 저장하게 해 DB 를 새로 만들었다. 세 가족 모두 full 이 두 단일 팔보다 낫다: Finding 은 프레임이 거의 전부(frame-only 47.7 ≈ full 46.6, text-only 42.0), Routine 은 텍스트가 거의 전부(text-only 58.7 ≈ full 60.6, frame-only 19.0), Restore 는 둘 다 필요(각 −3~4pp). 다중 질의는 단일 팔에서 0 근처. 태그 검색의 이득은 텍스트에서 분명하고(rf-v3 대비 Finding +7.9pp·Restore +4.9pp, 유의), 프레임만으로는 vis-pure 대비 이득이 작다(Finding +3.5pp p=.055, Restore 0, Routine −10pp).
47.7 / 42.0
Finding frame-only / text-only (full 46.6)
58.7 / 19.0
Routine text-only / frame-only (full 60.6)
+7.9 / +4.9
text-only − rf-v3 (Finding / Restore, pp)
$95
writer $66 + 읽기 $29

1 설계

writer 프롬프트: prompts/tagmem_{v5,v11,v7}{text,frame}.txt — 가족 본표 writer 판(Finding v5 · Restore v11 · Routine v7)에서 유도 text : 이미지 항목 없음, 관측도 "표면 위 물체·개수" 문장 · frame: 이미지 항목만, 캡션 "-", 행동도 프레임 1장/발생(태그가 내용) reader: text 팔 = 본표 tagmem 읽기 그대로 · frame 팔 = SBENCH_TAGMEM_ABL=frames → 검색된 프레임만 vis-pure 턴(텍스트 0; Routine 들은 발화도 없음 = vis-pure 와 같은 조건) 채점: 논문 본표 규칙(Finding 722질의 v1.2 scene-card GT + 보정 ①②, Restore + ①②, Routine 누출 제외; full tagmem = 보관 행 717/717 일치). 비교군 = 각 가족 본표 보관 행.

2 결과

가족 (n)full tagmemtext-onlyframe-onlyvis-purerf-v3frames-uniform
Finding (717, 본표 동일)46.642.0 (p=0.004)47.7 (p=0.57)44.134.035.7
Restore (575, 본표 동일)19.016.2 (p=0.089)15.7 (p=0.067)16.011.59.6
Routine (310, 본표 동일)60.658.7 (p=0.49)19.0 (p<.001)28.754.222.3*
검색 효과 (같은 행 McNemar)FindingRestoreRoutine
frame-only vs vis-pure+91/−65 p=0.045+50/−52 p=.92+18/−49 p<.001 (역전)
text-only vs rf-v3+112/−55 p<.001+59/−31 p=.004+50/−36 p=0.161
결합 효과: 다중 질의 셀에서 단일 팔이 무너진다(Finding S1 full .172 / text .189 / frame .049 · Routine M-Act. full 60.0 / text 56.7 / frame 0.0). Finding 은 프레임, Routine 은 텍스트(규칙·들은 발화; text-only ≈ full), Restore 는 둘 다.
* frames-uniform 재정의(260925): reader 가 발화 캡션을 받지 않도록 바꾸고 flash routine 재측정 → uniform 51.6 → 22.3(29.9/28.9/6.7/5.3). find/restore 는 발화가 없어 불변. 절제 표·본표 갱신.
정정 2(260924): routine multi 98행은 첫 런이 물건 목록 없이 읽혀 무효(M 0.0) → 본표 프로토콜(--multi-items)로 재읽기, text-only 46.1→58.7.
정정(260924): 첫 판의 Finding 수치는 v1.0 카드 GT 로 v1.2 행을 채점한 오류(134행 누락·76행 오채점)였고, 두 번째 판은 hidden 제외 671행이었다. 최종 표는 본표와 같은 722질의·보정 ①② 규칙. 결론은 같다.
검색 효과: 텍스트 DB 를 태그로 검색하는 것은 재작성(rf-v3)보다 Finding·Restore 에서 유의하게 낫다. 프레임 DB 의 태그 검색은 vis-pure 의 보관 프레임 대비 이득이 작고 Routine 에선 진다(들은 발화 채널 부재). DB 크기: text 6.2–6.6k · frame 8.0–8.7k · full 6.4–7.1k(text 35%).

3 다음

4 왜 frame-only 가 Finding 에서 full 과 같나 (행 단위, hidden 제외 671행 기준)

불일치 106행frame✓ full✗full✓ frame✗
D2 관측 단일37 (full 기권 12 · 오답 25)15
D1 행동 단일2329
S1 / S2 다중6 / 921 / 7
reader 앵커링: D2 의 frame✓/full✗ 37행 중 33행은 full 에서도 GT 표면 이미지가 검색돼 있었다. full 의 실패는 텍스트에 기록이 없으면 이미지를 안 보고 기권("no record or visual evidence", 12행)하거나 캡션·타임라인의 방 이름을 따라 틀리는(25행, 예: "dining table in the living room" vs GT kitchen) 것. 프레임만 주면 픽셀을 봐야 하므로 관측 물체 위치를 더 잘 읽는다(GT 이미지 검색 시 정확률 .554 vs .531). 반대로 검색 자체는 full 이 더 자주 성공(565 vs 540행; frame DB 는 이미지 8.3k 로 8장 예산 경쟁). D1·S1 은 행동 텍스트가 최신 위치를 줘 full 이 이긴다.

결론: Finding 의 결합 효과는 순효과 0 근처 — 텍스트는 acted 에 도움, observed 에는 해로움(앵커링). 다른 가족과 달리 "둘 다 저장"이 공짜가 아니다.

5 frame-only 는 왜 vis-pure 보다 낮나 — routine 은 검색, restore 는 동률 (행 단위)

Routine D1 (174) — 배치 순간 프레임(−10/+3 s) 노출노출노출 시 정답미노출 시 정답기권
frame-only6725 (37%)18/107 (17%)52
vis-pure16166 (41%)3/1334
Routine (19.0 vs 28.7, p<.001, 실제): 질의 태그가 질의 물체(tomato)+출발 표면(countertop)이라, 같은 범주의 다른 물체(egg → side table) 배치 프레임은 obj 태그가 안 맞아 밀리고 질의 물체의 look 프레임이 상위를 차지한다. DB 엔 GT 배치 프레임이 141/174 행에 있지만 22행에만 노출(랭킹). 노출되면 정확도는 vis-pure 와 같다 → reader 가 아니라 검색. 기권 52행은 전부 "no demonstration for X" — 보여준 게 look 프레임뿐. 규칙 발화 텍스트는 읽기 때 주입돼 검색까지 됐지만 frames 분기가 설계상 버린다(텍스트·이미지 예산은 분리라 이미지 슬롯을 뺏지 않음; 이미지 5~7장 행은 같은 프레임의 중복 항목 제거 때문). 재측정 무의미: 고유 8장까지 채우는 시뮬레이션(실제 검색 재현 294/310)에서 배치 프레임이 새로 노출되는 D1 행은 1/174.
multi S1 0/60: 시범이 보인 물건만 답한다 — 2.4/6.2개(text 6.1), loc_f1 .35(text .79), 기권 13; look 프레임을 보관 위치로 오독. 전부-정답 채점이라 0. vis-pure 도 같은 구조(3.5개, 5/60); frames-uniform 28/60 은 발화 텍스트를 받아서다.
Restore 단일 439행 — frame DB 태그nframe-onlyvis-purefull
물체가 원래 표면에 태그된 프레임 있음25572 (28%) · 기권 1463 (25%) · 기권 488
물체 태그 있으나 원래 표면엔 없음13812 (9%) · 기권 1418 (13%) · 기권 814
물체가 한 번도 태그 안 됨464 (9%) · 기권 115 (11%) · 기권 82
Restore (15.7 vs 16.0, +50/−52 p=.92, 동률): 증거가 DB 에 있으면(255행) 검색이 226행에서 노출하고 frame-only 가 vis-pure 보다 낫다. 손실은 writer 가 물체를 원래 자리에서 태그하지 않은 184행(42%)에 몰린다. 기권 39(단일): 태그 히트 0 이 10행, "A 에서 보였다가 사라짐"(사슬 한쪽만 태그) 29행 — 추측 대신 기권(vis 는 전 구간 8장으로 추측, 그 행에서 6 정답). multi S1 1 vs 5 는 4행 차이(답 1.9 vs 2.2개, 기권 12 vs 2). D3 hidden 25.0 vs 14.3 은 서랍에 넣는 순간 프레임이 태그로 뽑혀 frame 이 이김.
검색 규칙 고정 시 개선 후보(시뮬, D1 174행 GT 배치 프레임 노출): 현재 20(태그)/65(시간창) → A. writer 가 look·navigate 프레임을 저장하지 않으면 130/150(DB 이미지 8,043 중 look 4,129·navigate 2,788·place 373 — 질의 물체 look 프레임이 최근 8장을 채운다) → D1 기대 ≈ 33%(vis-pure 39.7 근처, 규칙 텍스트 없어 그 이상은 불가; 재-ingest $10.4+읽기 $4.1, D2 하락 위험). B. 배치 프레임 태그에 출발 표면 물건 전부 → 97/117. C. reader 에 발화를 frames-uniform 식으로 주입(재읽기 $4) — 정의가 바뀌니 추가 행. Restore 는 writer 커버리지 병목이 full DB 도 같아(255 vs 264/439) 상대 그림 불변.
A안 실측(260924, $3.95): look·navigate 프레임을 저장하지 않는 writer(기존 DB 읽기 전 필터, 검색·reader 동일) → Routine Avg 21.9(원 런 19.0, +36/−27 p=.31; vs vis-pure 28.7 +18/−39 p=.008). D1 24.7→33.3(배치 프레임 노출 22→130/174, 노출 시 정답 43% = vis-pure 수준; 기권은 51 그대로 — 노출 130행 중 기권 32, 다른 물체의 배치를 보고도 "tomato 시범 없음"), D2 39.5→10.5(evidence=observed: look 프레임이 곧 증거였다, 기권 12→24), S1 0→10.0. 저장 정책은 셀을 맞바꿀 뿐, 상한은 vis-pure 수준. 사용자 결정(260924): 절제 표 Routine 패널에 frame-only upper bound† 행 추가 — Act 셀 = A, Obs 셀 = 원 런(채점 라벨로 셀별 선택, 단일 조건 아님): 33.3 / 39.5 / 10.0 / 2.6 / Avg 25.8(vs vis-pure +24/−33 p=0.289). 원 행 유지. 병합 runs/routine_frameA_merged.json.
이미지 장부 실측(260925, $3.82): full 의 장치 중 텍스트 없이 되는 둘을 이식 — 진짜 프레임 DB(발화 텍스트 항목 제거 → 꼬리 = 최근 이미지) + 이미지판 장부(배치 사건별 프레임 최대 3장을 8장 예산 안에 보장, 질의 무관·결정론). Routine Avg 23.9(S-Act. 33.3 / S-Obs. 36.8 / M-Act. 1.7 / M-Mix. 2.6, 기권 55): 원 런 19.0 대비 +28/−13 p=.028, 새 uniform 22.3 보다 높고, vis-pure 28.7 에는 +22/−37 p=.067 로 못 미침. A안과 달리 look 프레임을 버리지 않아 S-Obs. 유지. 노출된 배치 프레임(134/174)에서 정답 42% — 규칙 텍스트 없이는 다른 물체의 배치를 범주로 일반화하지 못하는 한계는 그대로. 단일 조건이라 라벨 선택 upper bound 행(25.8) 대신 표에 넣을 수 있음. 병합 runs/routine_frameVL3_merged.json.
Resume 팔 완료(260925, ≈$90, key 3분할): full 52.8 / text-only 46.0 / frame-only 22.4 / vis-pure 30.4 / rf-v3 46.0 / uniform 26.1 (Single·Multi: full 55·49, text 50·39, frame 32·7). text-only = rf-v3(+27/−27) 로 태그 검색 이득 없음; full 이 text-only 보다 +6.8pp(p=.09) — 결합이 더하는 유일한 가족. frame-only 는 vis-pure 에 −8pp(p=.10). 병합 runs/resume_{text,frame}_merged.json.
태그 캡션 실측(260925, $3.8): 장부 L=3 + 이미지 전용 DB 위에 프레임마다 태그(obj/act/room/surf)를 캡션으로(full 의 이미지 항목 렌더와 대칭, 텍스트 내용은 없음) → Routine Avg 30.6(S-Act. 41.4 / S-Obs. 39.5 / M-Act. 13.3 / M-Mix. 0.0, 기권 53). 원 런 19.0 대비 +49/−13 p<.001, vis-pure 28.7 과 동률(+38/−32 p=.55). 노출 시 정답 42% → 53%(태그가 목적지 이름을 줌), multi loc_f1 .59. 단일 조건이라 표 후보(라벨 선택 upper bound 25.8 대체). 병합 runs/routine_frameVL3T_merged.json.
Resume frame-only(22.4 vs vis 30.4)는 routine 식 정체 불일치가 아니라 최근성 절단: 직접 히트 16.7/행이 최근 8장으로 잘려 먼저 끼어든 과제 프레임이 밀려남 → Multi 기권 19/61, 답한 과제 1.07개(vis 1.48, full 1.87).
Resume frame-only 처방 실측(260925, $2.06): 시간 균등 선택 + 태그 캡션 → Avg 20.5(Single 26.0 / Multi 11.5) = 원 런 22.4 와 동률(p=.74), vis-pure 30.4 열세(p=.04). Multi 는 살아났으나(두 과제 답 21→37/61, 기권 19→4) Single 이 32→26 으로 떨어짐 — 최근 프레임이 빠져 남은 개수를 못 센다. 8장 안에서 최근성과 커버리지를 동시에 못 만족; vis-pure writer 의 큐레이션이 이를 해결. 표는 원 런 유지. 병합 runs/resume_frameST_merged.json.

결론: frame-only 열세는 routine 만 실제이고, 원인은 질의 물체 이름에 묶인 태그 검색이 범주 수준 시범을 회수하지 못하는 것(노출 시 정확도 동일). restore 는 동률이며 writer 태그 커버리지가 병목. 분석 tmp/tagabl/frame_vs_vis.py.