← 목록으로

resume 꼬리 청크 분기 — writer 메모리를 컷까지 (SBENCH_CUT_TAIL)

2026-09-24 · scene_bench · experiment
flash · 손목 메모리 재사용 · 잡 153939/154051 · $10.04 · 오류 0
TL;DR writer 메모리(rf-v3·vis-pure·tagmem)는 30 s 완성 청크까지만 쓰고 질의 프레임·frames-uniform 은 컷까지 보던 비대칭을, 컷마다 꼬리를 writer 로 1회 더 써서 메웠다. rf-v3 .335→.460(+24/−4, p<.001), tagmem .441→.528(+20/−6, p=.009), vis-pure .323→.304(n.s.). 이득은 꼬리 안에서 행동 단위가 완료된 59행에서 전부 나왔고(rf-v3 +25pp·tagmem +14pp), 이미지 메모리는 원래 질의 프레임으로 꼬리를 보고 있었다. "vis 가 Single 에 강하다"는 하네스 인공물이었다.
.441 → .528
tagmem (p=.009)
.335 → .460
rf-v3 (p<.001)
.323 → .304
vis-pure (n.s.)
$10.04
꼬리 콜 183 + 읽기

1 무엇이 비대칭이었나

컷 시점 메모리 = chunk_end ≤ f1 접두사. 중간 컷 95/161행에 꼬리(중앙값 2.5 s, 평균 7.1 s, ≥10 s 55행)가 있었고 59행은 그 안에서 단위가 완료됐다. 질의 프레임은 컷 순간, frames-uniform 은 0~컷 균등 샘플 → writer 메모리만 뒤처짐. 텍스트 reader 는 장부를 질의 프레임보다 우선해 끝난 끼어들기를 미완료로 나열했다.

SBENCH_CUT_TAIL=1 (기본 끔 = 바이트 동일, 기준 해시로 검증) tail_chunk: (마지막 경계, 컷] 구간, 1 fps 비례 장수(최대 창 장수), 1장이면 컷 프레임; 첫 청크 전 컷은 [0, 컷] rf-v3 → 경계 요약 재작성 1회 · vis-pure → 보관분 KEEP/DROP 1회(cap 유지) · tagmem → STORE 1회(prefix + tail entries) 컷별 캐시(per_ctx[..]_tail) · 체크포인트 저장 · --memory-from 재사용 · 행 메타 cut_tail

2 결과

161행 resume_ok본표꼬리 분기ΔMcNemar
rf-v3.335.460+.124+24/−4 p<.001
vis-pure.323.304−.019+15/−18 p=.73
tagmem.441.528+.087+20/−6 p=.009
꼬리 안 완료 단위 있음 (59행)없음 (102행)
전략본표꼬리Δ본표꼬리Δ
rf-v3.305.559+.254 (p=.001).353.402+.049 (p=.18)
vis-pure.424.407−.017.265.245−.020
tagmem.424.559+.136 (p=.077).451.510+.059 (p=.11)

본표 부류(pending 과제 수) Single/Multi/Avg: rf-v3 34.0→53.0 / 32.8→34.4 / 33.5→46.0 · vis 41.0→39.0 / 18.0→16.4 / 32.3→30.4 · tagmem 42.0→55.0 / 47.5→49.2 / 44.1→52.8. 실패 유형 "끝난 과제를 미완료로": rf-v3 40→26 · tagmem 26→17 · vis 17→18.

해석: 텍스트 writer 가 컷까지 보게 하자 끝난 끼어들기 오판이 줄고 rf-v3·tagmem 이 크게 오른다. vis-pure 는 변화 없음 — 질의 프레임으로 이미 꼬리를 보고 있었다. 새 순위 tagmem > rf-v3 > vis > frames, Single 에서도 tagmem 55.0 > rf-v3 53.0 > vis 39.0.

3 다음 (사용자 결정)