Skip to main content
수정을 설계하는 데 쓴 같은 데이터로 평가하면 품질 숫자가 부풀려짐. 그것이 “오버피팅” 문제 한 문장. 홀드아웃 은 개선 플로우가 만질 수 없는 데이터 하위집합. 시뮬레이션이 여기에 실행. 여기 통과하는 시그널은 정직성 바 통과.
홀드아웃은 opt-in. 기본으로 시뮬레이션·최적화는 실패한 클러스터만 (cluster-local) 측정. 일반화 시그널 원할 때 홀드아웃 켜고 강도 (light / full) 선택. 작은 팀은 종종 없이 시작하고 개선 플로우가 출시 가능 수정을 정기 생산할 때 추가.

홀드아웃 만들기

데이터셋에서 Split → Create holdout 클릭. 옵션:
  • Random N% — 무작위 20% (기본).
  • By tag — 특정 태그의 모든 것 홀드아웃 (예: hard 예시 홀드아웃).
  • By date range — 컷오프 후 추가된 예시 홀드아웃 (미래 방어력 평가).
  • Manual pick — 개별 예시 체크.
홀드아웃이 별도 데이터셋이 됨. 소스 데이터셋에 교차 참조.

홀드아웃 강제

표시되면 개선 플로우의 제안 생성이 홀드아웃 예시를 읽을 수 없음. 진단·근본 원인 분석·레버 선택이 비홀드아웃 부분만 사용. 하지만 시뮬레이션은 제안을 부분에 실행:
  • Train 부분 — 개선이 설계된 곳. “in-distribution” 개선 표시.
  • Holdout 부분 — 정직한 시그널. 일반화 표시.
둘 사이 큰 갭 = 오버피팅.

오버피팅 경고

제안이 train 성능은 대규모 개선하지만 holdout 성능을 움직이지 않으면 Nora 가 경고:
이 제안이 train 점수를 +12% 이동시켰지만 holdout 은 +0.5%. 개선 플로우에 사용된 실패 예시에 오버피트 가능성. 개선 패턴 넓히기 고려.
경고는 블록 안 함 — 여전히 출시 가능 — 하지만 강한 힌트.

로테이션

홀드아웃은 로테이션해야 함. 같은 예시가 항상 홀드아웃이면 오래됨 — 개선 플로우가 테스트하는 패턴 커버 불가. 권장:
  • 월간 (또는 분기별) 홀드아웃 로테이션.
  • 새 실패 고쳐지면 새 홀드아웃 예시 추가.
  • 사소해진 (항상 통과) 홀드아웃 예시 은퇴.
로테이션은 수동 (여러분이 결정). Nora 가 변경 없이 > 60일이면 “holdout age” 인디케이터 표시.

홀드아웃 ≠ 회귀 스위트

둘 다 테스트 전용. 차이:
  • Holdout — 트래픽의 일반 대표 샘플. 넓은 커버리지.
  • 회귀 스위트 — 영원히 방어할 특정 알려진 실패. 좁고 방어적.
별도 유지. 변경이 하나 통과하고 다른 것 실패할 수 있고 해석이 다름.

Enterprise: 프로덕션 홀드아웃

고위험 Flow 는 Nora 를 지속 홀드아웃으로 프로덕션 트래픽의 일부 샘플 하도록 설정 가능. 실행이 자동으로 데이터셋에 착지, 오프라인으로 사람 주석 (또는 판사 주석), 홀드아웃 유기적 확장. Flow 설정 → Sampling → Production holdout 에서 켬.

분할과 시뮬레이션

시뮬레이션이 각 부분별 별도 리포트:
  • Train: 47/50 통과.
  • Holdout: 18/20 통과.
  • Overall: 65/70 통과.
전체 숫자는 편리. 두 부분 개별이 중요한 것 — 델타가 일반화에 대한 여러분 위치를 말함.