콘텐츠로 이동

5-2. 점수 분포와 예측 분포 연결하기

입력 분포가 달라졌다면 다음 질문은 모델의 점수와 최종 예측이 어떻게 움직였는가입니다. 점수(score)는 모델이 입력을 high_risk 쪽으로 보는 정도를 연속된 값으로 나타내고, 예측(prediction)은 그 점수를 임계값과 비교해 정한 최종 클래스입니다. 별도의 점수 보정 근거가 없다면 점수를 실제 발생 확률로 해석하지 않습니다.

두 분포를 따로 보면 변화가 모델에서 시작됐는지, 임계값에서 증폭됐는지 구분하기 쉽습니다. 점수는 조금 움직였지만 임계값 근처에 사례가 몰려 있으면 high_risk 예측 비율은 크게 바뀔 수 있습니다.

비교 전에 고정할 세 가지

  • 같은 모델 profile·version·임계값
  • 5교시 팀 수집 기록에 적힌 절대 UTC 범위와 환경·모델 정보
  • baseline과 current-shift처럼 명시한 입력 시나리오

앞에서 본 세 자료는 같은 사건을 설명하지만 표본과 역할이 다릅니다. 숫자를 한 시계열처럼 이어 붙이지 않습니다. 이 페이지는 6교시 요청 단위 조사에서 입력·점수·예측의 연결을 확인하는 보조 읽기이며, 새 트래픽 수집을 대신하지 않습니다.

자료 표본과 범위 이 절에서 맡는 역할
앞선 출발 신호 같은 기준 모델의 준비된 100건, high_risk 3→6·점수 P95 0.3859→0.5133 처음 조사할 질문을 엶
5-1 통제 입력 비교 별도로 통제한 로컬 100건 입력 조건 변화 가설을 확인함
5교시 팀 수집 기록 이번 live 수집 범위 또는 baseline·current-shift 각 60건과 invalid 3건인 offline 묶음 6교시 대시보드와 대표 요청을 분석할 실제 범위를 고정함

앞선 출발 신호의 100건과 5-1의 로컬 100건은 각각 출발 질문과 통제 입력 비교를 위한 자료입니다. 5교시 팀 수집 기록의 baseline 60건, current-shift 60건, invalid 3건은 별도 운영 관측 자료입니다. 세 자료의 표본·시간·분모를 하나의 추세로 합치지 않습니다.

/v1/model은 프로필·버전·임계값을 반환하지만 전체 모델 SHA-256을 반환하지 않습니다. version 끝의 짧은 문자열은 모델을 빠르게 대조하기 위한 접두사이며 전체 해시값이 아닙니다. 전체 SHA-256은 배포 선언, 모델 패키지 메타데이터 또는 게시 기록에서 따로 확인합니다.

두 분포가 답하는 질문

점수 분포는 모델이 요청을 어느 정도의 위험도로 보았는지 보여 줍니다. 평균과 95백분위(P95), 구간별 빈도를 비교하면 높은 점수 쪽 꼬리가 길어졌는지, 전체가 함께 이동했는지 살펴볼 수 있습니다.

예측 분포는 임계값을 적용한 뒤 low_risk와 high_risk가 각각 몇 건인지 보여 줍니다. 운영에서 처음 관측한 high_risk 예측 비율은 이 분포의 요약값이며, 정답과 비교한 재현율이나 정밀도와는 다른 값입니다.

두 분포를 비교할 때는 모델 정보와 임계값을 먼저 고정합니다. 비교 기준 모델과 Candidate B는 모델도 다르고 임계값도 다를 수 있으므로, 입력 변화의 효과를 보려는 비교에 후보 교체 결과를 섞으면 원인을 분리하기 어렵습니다.

관측값 계산 시점 답할 수 있는 질문 답할 수 없는 질문
점수 평균, P95, 구간별 빈도 임계값 적용 전 점수의 중심과 높은 값의 꼬리가 달라졌는가 실제 정답을 얼마나 잘 맞혔는가
high_risk 예측 비율 임계값 적용 후 최종 분류 구성이 달라졌는가 재현율과 정밀도가 달라졌는가
422, 5xx 비율 API 응답 뒤 입력 거부와 서비스 실패가 늘었는가 모델 분류 품질이 나빠졌는가
재현율, 정밀도 정답과 예측 비교 뒤 오류 유형이 기준을 통과했는가 현재 운영 요청의 정답이 없는 경우 새로 계산할 수 없음

이 구분을 유지하면 대시보드의 예측 비율 증가를 모델 성능 저하로 바꾸어 쓰지 않게 됩니다. 정답이 없는 운영 구간에서는 분포 변화와 추가 조사 필요성까지만 기록합니다.

대시보드에서 같은 범위 비교하기

6교시에는 5교시 팀 수집 기록을 열고 요청 단위 원인 조사 절에서 범위를 복원합니다. 수강생은 요청 건수와 상태, 5xx, 지연 P95, high_risk 비율, 점수 P95, 결측 P95를 baseline, current-shift, invalid 순서로 확인합니다. 이 페이지는 그 조사에서 입력 변화가 점수와 최종 예측으로 어떻게 이어지는지 정리하는 보조 읽기입니다. 별도의 미니 강의처럼 대시보드 계약 노트북을 다시 실행하거나 트래픽을 다시 보내지 않고, 같은 6교시 안에서 5-3 요청 한 건에서 원인 후보 추적하기로 대표 요청의 로그와 처리 경로를 확인합니다.

5교시 팀 수집 기록에서는 다음 값을 한 묶음으로 가져옵니다.

  • live 또는 offline 구분과 environment
  • 대시보드 URL 또는 준비된 자료 ID
  • 5교시 실행의 예측 응답에서 확인한 model_identity의 프로필·버전·임계값
  • baseline·current-shift·invalid의 실행 ID와 상태별 건수
  • 요청을 보낸 시작·종료 시각을 포함하는 절대 UTC 조회 범위
  • 수집 확인 결과와 아직 비어 있는 신호

model_identity는 5교시 실행의 /v1/predict 응답에서 가져와 세 시나리오 동안 같은지 확인한 값입니다. 별도로 실행한 /v1/model 응답은 개인 관찰 기록의 출처와 확인 시각을 따로 남기며, 수집 매니페스트에 없는 checked_at을 만들지 않습니다.

실시간 경로에서는 목록의 절대 UTC 범위를 그대로 대시보드에 설정합니다. 시간이 지나면 함께 움직이는 기본 상대 범위로 돌아가면 앞서 수집한 자료가 사라질 수 있으므로 상대 범위로 바꾸지 않습니다. 오프라인 경로에서는 준비된 자료의 고정 시나리오 시간을 사용하고, 실제 발생 시각이나 실시간 수집 성공으로 바꾸어 쓰지 않습니다.

비교 조건 반드시 같아야 하는 값 달라지는 값 기록할 결과
입력 변화 확인 API의 프로필·버전·임계값, API 경로, 수집 범위 baseline과 current-shift 입력 점수 P95, high_risk 비율, 결측 P95, 요청 상태별 건수
후보 모델 확인 입력 표본, 평가 조건, 정답, 계산 규칙 비교 기준 모델과 Candidate B 재현율, 정밀도, PR-AUC, 미탐 수
배포 뒤 운영 확인 선택한 Candidate B의 전체 SHA-256을 담은 배포 근거, 시나리오 정의 배포 전후 시간대 API 모델 정보, 지연 시간, 5xx, 점수, 예측 분포

서로 다른 비교를 한 그래프에 겹칠 수는 있지만 결론은 따로 써야 합니다. 입력 변화, 후보 모델 차이, 배포 환경 차이를 한 원인으로 묶지 않아야 후속 담당자가 필요한 자료를 정확히 찾을 수 있습니다.

관측 결과 해석하기

관측 조합은 다음처럼 해석합니다.

  • 점수 P95와 high_risk 비율이 함께 오르면 높은 점수 쪽 요청이 늘었거나 입력 조건이 달라졌을 가능성이 커집니다.
  • 점수는 비슷한데 예측 비율만 달라지면 임계값과 실제 API 모델 정보를 먼저 대조합니다.
  • 5xx·지연 증가가 분포 변화와 함께 나타나면 실행 환경 또는 수집 누락을 별도 후보로 둡니다.
  • 실패 요청이 분포 계산에서 빠졌는지 확인하고, 성공 요청의 분포와 전체 요청 상태를 나누어 기록합니다.
관측 조합 우선 확인할 원인 후보 현재 쓸 수 있는 판단 필요한 다음 근거
입력 분포, 점수 P95, 예측 비율이 같은 방향으로 변화 요청 구성이나 입력 조건 변화 입력 변화 후보 강화 대표 요청과 시간대별 입력 요약
점수는 비슷하고 예측 비율만 변화 임계값 또는 모델 정보 불일치 실행 설정 확인 필요 /v1/model, 배포 선언, 임계값
5xx, 지연 증가와 분포 변화가 동시 발생 실행 환경 또는 수집 누락 운영 신뢰성 후보 강화 요청 ID, 로그, 추적 기록
준비된 오프라인 자료만 분석 실시간 환경 자료 미준비 scope=static; 실제 수집 상태는 미확인 대상 URL, 모델 정보, 절대 UTC 조회 범위

관측 결과는 다음에 확인할 원인 후보로 마무리합니다. 새 재현율, 정밀도, 미탐 수는 실제 정답을 확보한 별도 평가에서 계산합니다.

세 시나리오 비교를 마치면 같은 6교시의 5-3 요청 한 건에서 원인 후보 추적하기로 이어 볼 실행 ID와 요청 ID를 하나 고릅니다. 선택 기준은 “결론에 잘 맞는 요청”이 아니라 변화한 패널과 같은 시나리오·시간 범위에 있고, 로그와 trace로 연결할 수 있는 요청입니다. 개인 관찰 기록에는 5교시 팀 수집 기록의 유형과 식별값, 자신이 비교한 패널, 선택한 요청, 관측 한계를 기록합니다.

실패했을 때 확인할 점

다음 상황에서는 그래프보다 확인 범위를 먼저 고칩니다.

  • Grafana 설정이 없으면: 누락한 URL·데이터 소스 ID·접속 자격 자료와 정적 노트북 검사 결과를 분리해 기록합니다.
  • 그래프가 비어 있으면: 5교시 팀 수집 기록의 환경·절대 UTC 범위·시나리오·데이터 소스를 확인하고, 조회 범위를 무작정 넓히거나 트래픽을 다시 보내지 않습니다.
  • 모델 정보나 임계값이 없으면: 분포 비교 결론을 보류하고, 필요한 식별값·담당자·재비교 조건을 기록합니다.
  • 5교시 인계 점검에서 오프라인 경로로 전환했다면: 6교시에 다시 연결을 시도하지 않고 준비된 자료의 범위 안에서 분석합니다.