scene-mem v2 LoRA (eval_loss 0.0066, job 3993)가 실제로 압축-메모리에서 subtask를 recall하는지 robocasa sim / Pi0.5 없이 정량화. 핵심 질문: "prior task 영상을 메모리로 보고, 최종 질의를 자기 메모리만으로 올바른 fine subtask로 답하는가."
V1에는 GT fine 라벨이 없어 정확도 측정 자체가 불가능했다. V2가 검증된 fine_subtasks.json(858 scenario)을 만들어 비로소 B1 offline eval이 가능해졌다.
260516-scene_mem_v2_b1_eval.html은 초기 buggy rollout 결과 (m1 ~0.6%, chunked ~1%) — 방법론 결함으로 인한 artifact로 취소됨. 본 카드는 교정 후 최종 결과를 다룬다.Held-out val 57 scenario / 189 test sample (train 801 scenario로만 학습 → train leak 0, 런타임 assert).
신뢰 가능한 숫자를 얻으려면 eval이 학습과 동일한 contract를 따라야 한다. 핵심 설계 결정:
지표가 신뢰 가능하려면 contract가 학습과 일치해야 한다. orchestrator 독립검증(에이전트 self-report 불신)으로 5회 결함 차단:
| Metric | 측정 대상 | 판정 기준 |
|---|---|---|
| m1 final-query | 모든 prior memory 소비 후 최종 턴 current_subtask 정확도 | semantic scorer: verb-class + 모든 GT 객체 + GT fixture 전부 일치 |
| m2 narration | 모든 memory 턴 narration 정확도 | 동일 scorer, fine/composite 분리. composite 81%(긴 verbatim exact — 정상) |
| m3 keyframe | 모델 emit keyframe_positions vs 빌더 GT | P/R/IoU + final turn emission rate |
| m4 chunked | 진짜 압축-memory recall — target이 PnP regex 매치 → FIFO 실제 통과 | 동일 scorer. "진짜 메모리 recall" |
| m4 notchunked | FIFO에 없는 케이스 — 학습 prior로만 답 가능 | 동일 scorer. "추측 floor" |
| Eval | Overall | Chunked (진짜 memory) | Notchunked (prior) | 비고 |
|---|---|---|---|---|
| Tier-3a (30-sample) | 97.9% (허수) | — | — | long-context bypass, 진짜 memory loop 아님 |
| Tier-3b (30-sample) | 64.9% | 100% | 17.1% | dusting LoRA, PnP regex 커버리지 버그 |
| V2 B1 (189 val) | 88.4% | 97.2% | 77.1% | V2 LoRA, held-out val, autoregressive |
| Job | Contract | m1 | m3 KF Rate | 결론 |
|---|---|---|---|---|
| 4039 | Teacher-forced replay | ~100% (artifact) | — | 취소 |
| 4050 | OOD 카메라 (agv L+R 320×180) | ~1.75% | — | 취소 |
| 4071 | Continuous rollout | ~0.6% | 6.9% | 취소 |
| 4192 | Builder-structure autoregressive | 88.4% | 100% | 최종 |
추세: 129 → 142 → 189 증분에서 m1 89.2% → 89.4% → 88.4%로 안정 수렴. 마지막 배치에서 미세 하락(정상 분산).
V2 LoRA는 세 가지 eval 오류(teacher-forced / OOD 카메라 / continuous rollout)에서 각각 ~100% / ~2% / ~0.6%를 보였다. 올바른 builder-structure autoregressive contract에서 88.4%가 나왔다. 같은 모델, 같은 체크포인트다. 숫자를 결론으로 받아들이기 전에 방법론을 검증해야 한다는 것의 구체적 사례.
chunked(진짜 압축-memory recall)는 tier3b와 동급(97~100%). 차이는 notchunked(메모리에 없는 케이스)에서 나왔다 — 17% → 77%. 이 케이스는 모델이 학습 prior로 답하는 구간이다. V2의 95.7% fine 라벨이 prior 추론 품질까지 끌어올렸다는 직접 증거. V1의 ~7% 가비지가 이 구간을 망가뜨리고 있었을 것으로 추정된다.
Pi0.5 cascade에 대한 의미: m1(88.4%)은 Pi0.5에 전달되는 atomic subgoal 한 줄의 정확도다. scene-mem benchmark에서 모델이 한 번도 안 본 scenario(held-out val)에서 이 정확도가 나온다면, cascade의 "planner 정확도" 병목은 최소화됐다고 볼 수 있다.
B1은 sim/Pi0.5 없이 subtask 텍스트 정확도만 측정했다. B2는 MemER subgoal(88.4% 정확)을 Pi0.5 low-level policy에 실제로 전달해 robocasa sim에서 task 완료 여부(memory_success)를 측정한다. 병목이 planner(MemER)인지 executor(Pi0.5)인지 분리된다. 사용자 Pi0.5 V2 fine 재학습이 선행 조건.
notchunked 케이스(83개)는 target이 FIFO를 통과하지 않아 모델이 학습 prior로 답한다. 77%는 prior 한계의 기저 성능이다. 이 케이스에서 틀린 23%의 패턴을 분석해 — instruction 표현 변형인지, task 클래스 편향인지 — V3 학습 데이터 방향을 결정할 수 있다.
composite narration(§7 verbatim 27 task)의 81%는 긴 원문을 semantic scorer가 exact match로 요구하는 구조적 특성으로 인한 것 — 실제 품질 저하 아님. 단, composite 입도 memory turn이 fine turn 대비 recall 신호를 약화시키는지 cascade 단계에서 별도 검증 예정.