Index
2026-05-20 — Experiment

B1 Oracle vs Baseline Side-by-side — 88.36% → 89.42% (+1.06pp)

memer | scene-mem v2 Sub-project A §9-4/5

TL;DR

B1 harness에 defect-12(per-turn structure assert가 oracle의 door-grounded turn 수 변경을 m1 산출 전에 차단) 발견·수정 — assert n_mem==len(gt.memory_chain)aligned 플래그 전환, unaligned은 m2 skip·m1 정상 산출. 8-GPU bash fan-out sharding으로 ~6h → ~45min. Orchestrator 독립 재카운트: baseline 88.36%(167/189) 정확 재현(코드경로 동일성), oracle 89.42%(169/189, +1.06pp, +2 scenario).

88.36%
baseline (167/189)
89.42%
oracle (169/189)
+1.06pp
delta
165/189
divergent
~45min
8-GPU sharding

1 배경/목적 (왜)

Oracle LoRA(eval_loss 0.0087) 학습 완료 후 B1 harness로 side-by-side를 돌리려 했으나, harness에 두 문제가 발견됐다.

defect-12 핵심: oracle door-grounding이 의도적으로 turn 수를 변경(§9-2 −4126)하는데, per-turn assert가 이를 "구조 불일치"로 차단해 m1(최종질의 정답률)까지 못 내는 false negative. byte-guard는 옳게 동작(oracle rebuild 정확)하지만 assert가 과잉 강제.

2 작업 내용 (어떻게)

Defect-12 Fix — per-turn assert 분리

CPU Byte-Guard 독립검증 (모델 없이)

Oracle 경로(task_subtasks_oracle + manifest) vs oracle val.jsonl: byte-guard 8/8 PASS. Baseline 경로(no manifest) vs baseline val.jsonl: 8/8 PASS(harness 변경이 baseline 경로 byte-불변 = 재평가 시 88.36% 재현 보장). TDD: test_m1_independent_of_structural_divergence_m2_skips_unaligned 포함 pytest 49 passed.

8-GPU Bash Fan-out Sharding

# eval_b1_sharded.sh (srun → bash 백그라운드로 재작성) for i in 0..7: CUDA_VISIBLE_DEVICES=$i python eval_scene_mem_benchmark.py \ --num-shards 8 --shard-index $i ... & pids[$i]=$! wait: PID별 exit 명시 검증 → 1개라도 실패 시 merge 안 하고 loud abort (불완전 집합 절대 미병합) merge → --mode score_only 분할: 189 = 24×5 + 23×3 (contiguous slice, 병합 시 전수·순서 보존)

srun 버전(5636/5637)이 --ntasks=1 템플릿 때문에 1s 실패, bash fan-out으로 재작성. job 5643(oracle) + 5644(baseline).

3 결과 (수치)

Orchestrator 독립 재카운트 (predictions.jsonl final_match, metrics==recount 양쪽 True)

평가m1 final-querydivergentparse_fail비고
baseline 재평가 (수정 harness, baseline 경로)167/189 = 88.36%0/1890코드경로 동일성 확정
oracle (door-grounded, oracle task_subtasks + manifest)169/189 = 89.42%165/1890+1.06pp (+2 scenario)
코드경로 동일성 확정: baseline이 수정 harness(defect-12 fix + 새 인자 + 8-GPU sharding)로 정확히 88.36%(167/189) 재현 → harness 변경이 기존 평가를 shift하지 않음. oracle vs baseline 비교가 apples-to-apples.

Oracle 165/189 divergent 해석

165/189 samples의 turn 구조가 oracle과 baseline에서 다름 — 설계 동작(door-grounding이 turn 수 의도적 변경). 이 중 m1(최종질의 답)은 구조 독립적으로 채점. 최종 +2 scenario 개선은 이 165개 중에서 발생.

정직한 평가 — delta modest, 개선 본질은 다른 곳

+1.06pp (+2/189)는 실재하지만 통계적 강신호가 아니다(이진 n=189). 이번 작업의 실제 가치는 m1 소폭 상승이 아니라:

  • 학습 데이터 1946/2604(75%)의 물리적 정확성 회복 (닫힌 cabinet 앞 Open 누락 수정)
  • 858/858 coverage baseline parity (577 data-loss 위기 해소)
  • baseline/HF byte-불변 (benchmark 원본 무변경)
  • B1 비회귀 (88.36% 재현 → 하락 없음)

m1 점프를 과대포장하지 않는 것이 올바른 보고.

4 Takeaway

door-grounded oracle 데이터로 학습한 모델이 baseline 대비 m1 +1.06pp 달성 + baseline 완전 재현(비회귀). 더 중요한 것은 eval-contract-trust 원칙이 defect-12를 조기에 잡아냈다는 점 — byte-identity guard가 oracle rebuild 정확성을 보장했고, per-turn assert 분리가 m1/m2 채점을 구조 독립적으로 분리했다.

8-GPU bash sharding 패턴(fan-out + per-PID exit 검증 + 불완전 집합 abort)은 향후 대규모 eval의 재사용 템플릿.

5 Next Steps