← all posts
AI 2026.05.03 · 14 min read Advanced

Ground Truth 없이도 모델을 믿을 수 있는가

레이블 도착 지연부터 예측 드리프트, 캘리브레이션, 공정성 불가능 정리, 알림 시스템 설계까지 — production ML monitoring의 다섯 가지 층위를 추적한다.


Production ML 시스템의 근본 문제는 단순하다 — 모델이 예측한 결과가 맞는지 즉시 알 수 없다. 사기 탐지는 수주, 이탈 예측은 수개월, 대출 연체는 수년이 지나야 ground truth가 도착한다. 이 지연이 monitoring의 모든 패러다임을 뒤집는다. 그렇다면 정확도를 직접 측정할 수 없는 환경에서 모델을 어떻게 신뢰하는가?

Ground Truth 지연과 간접 신호의 논리

레이블이 오지 않는다면 간접 신호에 의존해야 한다. 세 전략이 있다.

Proxy metric은 최종 레이블 대신 중간 신호를 사용한다. 광고 전환율을 직접 측정하기 어렵다면 체류 시간을 proxy로 삼는다. 이 전략의 핵심 가정은 Pr⁡(y∣z)\Pr(y \mid z)가 시간에 따라 안정적이라는 것이다. proxy 자체가 drift하면 신호가 misleading해진다 — proxy도 정기적으로 검증해야 한다.

Distribution-based monitoring은 입력 xx 또는 예측 y^\hat{y}의 분포 변화를 신호로 사용한다. ground truth 없이 즉시 측정 가능하다는 장점이 있다. 그러나 분포가 변해도 정확도가 정상일 수 있다 — covariate shift가 모델의 robust 방향으로 발생했다면 성능에 영향이 없다. drift signal만으로 retrain을 트리거하는 건 과잉 반응이다.

Surrogate label은 규칙 기반 heuristic으로 y~\tilde{y}를 생성한다. 노이즈가 있지만 즉시 사용 가능하다. confident learning으로 노이즈를 정제할 수 있다.

τgt=tl−tp≥0\tau_{\text{gt}} = t_l - t_p \geq 0

이 지연이 클수록 세 전략의 결합이 필수다. 예측 drift signal s(t)s(t)와 실제 성능 A(t)A(t) 사이의 lagged correlation r(ℓ)=Corr(s(t), A(t+ℓ))r(\ell) = \mathrm{Corr}(s(t),\ A(t+\ell))을 주기적으로 갱신하면, drift가 성능 저하에 몇 단계 앞서는지 정량화할 수 있다.

예측 드리프트 — 인과 체인과 그 단절

input drift → prediction drift → performance drop의 인과 체인은 직관적이지만 세 곳 모두에서 끊어질 수 있다.

input drift ──► prediction drift ──► performance drop
   p(x)              p(ŷ)               ground truth

모델이 drift에 robust하면 input drift가 prediction drift로 이어지지 않는다. concept drift만 있으면 p(x)p(x)는 그대로이고 p(y∣x)p(y \mid x)만 변하므로 prediction drift 신호가 약하다. 반대로 prediction drift가 크더라도 drift가 모델이 무시하는 방향(관련 없는 feature)으로 발생했다면 성능은 정상이다.

명제 1 · Prediction Drift Upper Bound

모델 ff가 1-Lipschitz이면 input drift의 upper bound가 prediction drift를 지배한다.

W1(py^, qy^)≤W1(px, qx)W_1(p_{\hat{y}},\ q_{\hat{y}}) \leq W_1(p_x,\ q_x)
▷ 증명

1-Lipschitz 조건 ∥f(x)−f(x′)∥≤∥x−x′∥\|f(x) - f(x')\| \leq \|x - x'\|에서 Wasserstein 거리의 수송 계획을 그대로 사용하면 prediction 공간의 transport cost가 input 공간의 cost를 초과할 수 없다. 모델이 입력 변화의 일부를 흡수하는 만큼 prediction drift는 input drift보다 작아진다.

∎

Hard prediction drift(class 분포 변화)보다 Soft confidence drift(예측 확률의 entropy/평균 변화)가 더 민감한 신호다. 경계 근처 sample이 늘어나면 class 분포는 변하지 않아도 confidence는 이미 떨어져 있다.

Calibration — 확률의 의미를 지키는 것

정확도와 calibration은 독립적이다. AUC가 0.95여도 ECE가 0.2인 모델은 순위는 맞히지만 확률의 의미가 틀리다. “90% 확률로 양성”이라고 했을 때 실제로 100명 중 90명이 양성이어야 한다 — 이것이 perfect calibration의 요구다.

E[y∣p^(x)=p]=pfor all p∈[0,1]\mathbb{E}[y \mid \hat{p}(x) = p] = p \quad \text{for all } p \in [0, 1]

ECE는 bin별 신뢰도와 정확도의 차이를 가중 평균한다.

ECE=∑b=1B∣Bb∣n ∣conf(Bb)−acc(Bb)∣\mathrm{ECE} = \sum_{b=1}^{B} \frac{|B_b|}{n}\,\big|\mathrm{conf}(B_b) - \mathrm{acc}(B_b)\big|
⚠ Modern NN의 Over-confidence

Guo et al. (2017)은 depth와 width가 증가할수록 NN이 더 over-confident해짐을 보였다. Cross-entropy로 학습된 softmax는 logit을 크게 만들어 confidence를 1에 몰아붙이는 경향이 있다. Temperature scaling — logit을 상수 T>1T > 1로 나누는 단순한 사후 보정 — 이 가장 효과적인 첫 번째 조치다.

Platt scaling은 2개 파라미터로 안정적이지만 표현력이 제한된다. isotonic regression은 큰 sample에서 더 강력하지만 overfit 위험이 있다. 핵심은 calibration 보정이 discrimination(AUC)을 건드리지 않는다는 것이다 — 확률의 의미만 교정한다.

시간에 따른 ECE 추적을 drift의 한 형태로 포함해야 한다. calibration이 무너지면 threshold 기반 의사결정(의료, 금융)의 근거 자체가 흔들린다.

공정성 불가능 정리

공정성 criterion은 세 가지가 경쟁한다.

  • Demographic Parity: Pr⁡(y^=1∣A=a)=Pr⁡(y^=1∣A=b)\Pr(\hat{y}=1 \mid A=a) = \Pr(\hat{y}=1 \mid A=b)
  • Equalized Odds: TPR과 FPR 모두 group-invariant
  • Predictive Parity: group별 calibration이 성립
정리 2 · Chouldechova 2017 Impossibility

Group별 base rate πa≠πb\pi_a \neq \pi_b이면 Predictive Parity, Equal FPR, Equal FNR을 동시에 만족하는 classifier는 존재하지 않는다.

▷ 증명

Confusion matrix의 항등식에서 π=TPR⋅π+FPR⋅(1−π)\pi = \mathrm{TPR} \cdot \pi + \mathrm{FPR} \cdot (1-\pi)가 성립한다. Predictive Parity가 성립하면 이 관계가 각 group에 대해 동일한 (TPR, FPR) 쌍을 요구하게 된다. 그러나 πa≠πb\pi_a \neq \pi_b이면 같은 (TPR, FPR)에서 PPV가 두 group 사이에 다르므로 Predictive Parity를 동시에 만족할 수 없다. □\square

∎

이 불가능 정리의 귀결은 기술적 문제가 아니라 정책적 선택이다. 어느 fairness가 도메인 맥락에 부합하는지 사전에 결정해야 한다. Hardt et al. (2016)은 어떤 모델에도 group별 threshold 조정으로 Equalized Odds를 사후 만족시킬 수 있음을 보였다 — 단, 정확도 손실을 동반한다.

Production monitoring에서는 protected attribute별 TPR/FPR/PPV의 시계열을 추적하고, disparate impact ratio가 0.8 미만이면 즉시 알림을 발생시켜야 한다.

알림 시스템 — 통계적 기초

좋은 metric도 알림이 잘못 설계되면 운영자에게 무용지물이다. 너무 민감하면 fatigue로 모든 알림이 무시되고, 너무 보수적이면 silent degradation이 누적된다.

Multi-level threshold는 우선순위를 분리한다. PSI 기준으로 0.10 미만은 정상, 0.10~0.25는 warn(Slack), 0.25 이상은 page(PagerDuty), 그 이상은 critical(자동 롤백) 수준으로 분리한다.

Persistence는 false alarm을 통계적으로 제어한다. 단일 point의 false alarm rate를 α\alpha로 두면, kk 연속 위반 시 trigger의 false alarm rate는 αk\alpha^k로 감소한다.

trigger(t)=∏i=0k−11[m(t−i)>τ]\text{trigger}(t) = \prod_{i=0}^{k-1} \mathbb{1}[m(t-i) > \tau]

k=3,α=0.05k=3, \alpha=0.05이면 false alarm이 0.0001250.000125 수준으로 떨어진다. 대가는 detection latency — 처음 2개 point를 놓친다.

✎ 트레이드오프

Multiple testing 누적: mm개 feature × TT일 검정의 누적 false alarm 확률은 1−(1−α)mT≈mTα1-(1-\alpha)^{mT} \approx mT\alpha다. feature 50개 × 30일이면 기대 false alert이 75건이다. Bonferroni 또는 BH 보정으로 α\alpha를 mTmT로 나눠야 한다. 단, 보정이 너무 강하면 sensitivity가 떨어진다 — 핵심 feature만 strict 보정하고 나머지는 완화하는 계층적 접근이 실용적이다.

채널 분리는 필수다. drift, performance, system health를 같은 채널에 모으면 alert rate에 반비례해 응답률이 떨어진다. Runbook의 첫 단계는 항상 “어떤 drift type인가” 진단이어야 한다 — drift 유형에 따라 retrain, rollback, data fix 중 처방이 다르다.

정리

  • Ground truth 지연 환경에서는 proxy + distribution + surrogate의 결합이 유일한 답이다. 단일 신호만으로 retrain을 트리거하지 않는다.
  • Prediction drift는 선행 지표 후보지만 concept drift는 잡지 못한다. hard + soft(confidence) 두 측면을 함께 추적한다.
  • Calibration은 정확도와 직교한다. threshold 기반 의사결정이 있는 시스템에서는 ECE의 시계열 추적이 필수다.
  • Chouldechova의 불가능 정리는 기술 문제가 아니다. 어느 fairness를 우선할지 배포 전에 결정해야 한다.
  • 알림 시스템은 multi-level × persistence × 채널 분리 × multiple testing 보정의 곱이다.

모든 챕터를 관통하는 공통 원칙은 하나다 — 단일 신호는 믿지 않는다. 간접 신호들의 교차점에서만 실제 degradation을 구별할 수 있다.

REF
Chouldechova, A. · 2017 · On Fairness and Calibration · FAccT
REF
Hardt, M., Price, E., Srebro, N. · 2016 · Equality of Opportunity in Supervised Learning · NeurIPS