OPE 배포 게이트 플레이북 — 참값 없이 "믿는다/못 믿는다/A/B"를 판정하기
새 정책을 A/B 에 태우기 전, 로그만으로 그 가치를 추정하는 것이 off-policy evaluation(OPE)이다. 그런데 실무의 진짜 질문은 ” 가 얼마인가”가 아니라 **“이 추정을 지금 믿고 배포 결정에 써도 되는가”**다 — 참값은 아무도 모르기 때문이다. 이 노트는 ope-to-decision 벤치마크가 만든 배포 게이트의 운영 규칙을 큐레이션한다.
지위. 이 게이트·battery 규칙은 벤치마크 레포의 제안(문헌에 산발적으로 존재하는 folklore 관행의 체계화 시도)이지 확립된 표준이 아니다. 모든 수치는 repo 의 정본 수치 원장 (docs/LEDGER.md)에 등재된 값의 축약 전사이며, 원값·정밀도·생성 실험의 정본은 repo 다.
1. 판정 절차 — 두 무대
실무자가 밟는 절차(본편)는 전부 로그 층만 요구한다. 그 절차를 믿을 근거(백스테이지 채점)는 참값을 아는 무대 — 합성 DGP·전 라벨 분류 데이터·ZOZO 실로그의 근사 참값 — 에서 blind-then-reveal 로 실측되었다: 판정을 먼저 커밋하고, 참값은 채점에서만 공개한다.
2. 게이트 v1 — 진단 3종의 3-way 판정
로그만으로 계산하는 진단 3종 — ESS(유효 표본 크기)/n · max importance weight · support proxy — 을 사전등록 임계값에 걸어 세 갈래로 판정한다:
- trust — 추정을 결정에 사용한다(단 비교형 우선 + confounding 면책 병기).
- distrust — 이 로그 × 이 정책 조합의 추정을 기각하고 교정 경로로 보낸다.
- ab_fallback — 추정 자체가 불성립 — 온라인 A/B 로 후퇴한다.
백스테이지 채점: trust 판정의 대오차율(상대오차 >10%) 4.6% vs A/B 회귀 판정의 44.4% — 진단은 분산측 위험을 실제로 예보한다. 단 support proxy 는 구조적 결핍에 전면 blind 였다 (신호 0 vs 참 결핍 0.143) — 형식은 유지하되 신뢰하지 않는다고 명시한다.
3. validity battery — 필요조건 검사 (gate v2, 제안)
게이트 v1 에 병렬로 합류하는 검사 4종. 전부 로그 층만 입력받고, 임계는 실험 전에 커밋(사전등록) 후 평가만 했다(무튜닝):
| arm | 무엇을 잡나 | 검사 원리 |
|---|---|---|
| E[w] | 곱셈 misrecording(발화율 1.0) · 구조적 support 결핍(기대값 수준 회수) | Horvitz–Thompson 항등: 기록 propensity 가 참이면 E[w]=1 |
| harmonic | action 수준 기록↔경험 빈도 비정합 — 전역 신호가 전멸한 국소 결핍까지 회수 | per-action T(a*)=mean(1[a=a*]/pscore), E[T]=1 |
| placebo | weight 기계가 무신호에서 신호를 제조하는지 | 분석가 생성 독립 noise 보상 — 구성상 참값 0 |
| disagreement | weighting 계열 점추정 스프레드 | 주의: agreement 는 validity 증거가 아니다 — 일관되게 틀릴 때 최소 |
결합 규칙(사전등록): harmonic fail → ab_fallback / E[w]·placebo·disagreement fail → distrust / 그 외 gate v1 판정 유지. 결정은 SNIPS 신뢰구간 vs 같은-로그 mean(r) 비교로 GO/NO-GO/A/B.
검사 자체는 이 레포의 발명이 아니다 — harmonic 검사는 Li et al.(WWW 2015)이 “Bottou et al., private communication” 으로 귀속해 공간(公刊)한 folklore 이고, E[w]≈1 은 Lefortier et al.(2016)의 sanity check, placebo 는 역학의 negative control 이식이다. 기여는 조합이다: 사전등록 battery 로 체계화하고, 예보력 자체를 blind-then-reveal 로 falsification 대상 삼고, 못 보는 경계를 구성적으로 전시한 것.
4. 실측 — battery 는 무엇을 잡고 무엇을 놓치나

- 잡는다: propensity noise(발화 1.0 — 이론 예측 방향 정합), 구조적 support 결핍 (전역 통계가 침묵하는 곳까지 per-action harmonic 이 1.0 으로 커버).
- 실데이터 replication: 같은 검사가 실제 공변량(UCI 4종 주입 실험)에서도 재현 — 그리고 사전등록 예상의 반증 1건을 그대로 등재했다: 합성에선 준-null 이던 in-sample 추정 propensity 가 실데이터의 이중-softmax 기하에선 전 데이터셋 발화.
- 못 잡는다(원리): 기록 pscore 가 참 marginal 인 confounding — 관측 동등성에 의해 어떤 로그 통계도 구별 불가. 실측: battery 발화 0/240 인 채 bias 만 −0.073 까지 성장.
- 비용: 무해한 주입에도 발화하는 over-caution(A/B 유예)·소표본 harmonic 오경보(0.275) — 안전의 비용은 유예로 지불된다.
5. Λ-감도 증명서 — 못 잡는 것에 대한 정직한 출구
battery 가 원리적으로 못 보는 confounding 에 대해서는, “이 결론이 뒤집히려면 기록 propensity 가 얼마나 왜곡돼 있어야 하는가”를 계산한다(marginal sensitivity model 의 worst-case 구간 — Kallus & Zhou 2018 의 도구 시연, 이 레포의 제안 아님). breakdown 중앙값 ≈1.07/≈1.04 (합성 시연) — confounding 이 셀수록 더 작은 감도 가정에서 순위 단정이 무너졌다. 는 데이터에서 식별되지 않는 가정 스케일이므로 는 robustness 인증서가 아니라 취약성 보고서다: 관측 동등성 세계에서 는 1.31→1.05 로 수축하며 “결론이 이유를 모른 채 취약해진다”만 보고한다.
6. 결정 가치 — naive 점추정 대비

후보 정책까지 로그에서 구축(진짜 나쁜 후보 포함)한 끝-대-끝 실험: 오염 로그에서 naive IPS 점추정은 나쁜 후보에 false-go 0.9(평균 regret 0.21)를 내지만, 프로토콜은 battery 발화로 0.0(전량 A/B 회귀). 건강한 로그에선 결정적이다 — 좋은 후보 go 0.95·나쁜 후보 no-go 0.9, 오류 0. 실전(ZOZO 실로그)에서는 harmonic 이 실발화해 AB-FALLBACK·fragile 로 떨어졌고, 그 판정의 정오를 확인할 채점표는 존재하지 않는다 — 그것이 실전의 정의다.
7. 운영 수칙 요약
- 비교형 우선 — 절대 임계(V̂ > T)보다 같은-로그 Δ 비교(공통 오차 상쇄). 혼합 비교 금지·경계 근방은 불확실성 구간으로.
- battery 예보력은 실패 유형별로만 읽는다 — pooled 발화율 단독 인용 금지(유형 구성비 종속).
- 모든 “통과”에 면책 병기 — 기록 propensity 기반 신호 전부(ESS·E[w]·harmonic)는 calibrated confounding 에 공동 blind. 기록을 신뢰할 수 없는 로그(수기 개입·미기록 개인화 의심)는 판정과 무관하게 ab_fallback 취급.
- “모른다”는 정당한 출력이다 — inconclusive·A/B 유예는 프로토콜의 실패가 아니라 기능.
- 임계값 이식 금지 — 사전등록·무튜닝 값이며 이 벤치마크 family 조건부다. 다른 도메인은 재교정 없이 무근거.
전체 규칙·근거 수치·한계 목록의 정본: docs/PLAYBOOK.md · 실행 과정은 노트북 6권 (본편 00→03→05 / 백스테이지 01→02→04).