모델 드리프트 및 데이터 업데
1) 왜 중요한가
iGaming에서 트래픽, 지불 및 게임 행동의 배포가 빠르게 변화하고 있습니다 (계절, 공급자, 주식, 규제 규칙). 체계적인 드리프트 제어가 없으면 예상되는 오류 비용이 증가하고 있습니다: 순 수익 손실, 잘못된 RG/AML 개입 및 보너스 남용 증가. 목표는 드리프트를 조기에 감지하고 원인을 진단하며 데이터 및 모델을 안전하게 업데이트하는 것입니다.
2) 드리프트 분류법 ("플로트" 할 수있는 것)
공변량 드리프트 (X): 기능이 변경되었습니다 (예: 모바일/ASN 점유율, 공급자 혼합).
라벨/결과 드리프트 (Y): 이벤트베이스 (차지 백 속도, 클릭/변환율) 가 변경되었습니다.
3) 신호 및 임계 값 (랜드 마크)
PSI (인구 안정성 지수): 0. 10–0. 20 경고> 0. 20-드리프트 이벤트.
KL- 발산/JS: 주요 기능/속도에 의한 임계 값으로의 성장.
요율 (레이블 아래) 에 대한 KS: CDF 불일치 증가.
ECE (보정):> 0. 05 경고,> 0. 07-행동.
예상 비용 @ 임계 값: 기본 모델로의 X% 성장.
적용 범위 및 누락률: <99% 적용 범위 감소, 누락/시간 초과> 임계 값 성장.
슬라이스 메트릭: 시장/장치 별 PR-AUC/ECE/예상 비용; 드롭 트리거> Y%.
창 선택: 작동 - 1 시간/6 시간/24 시간 (슬라이딩), 보고 - D + 1/D + 7 (지연된 라벨 설명).
4) 윈도 및 레이블 (지연)
빠른 프록시 레이블: 조기 평가를 위해 클릭, 입금 7d, 완료된 RG 사례.
보유 레이블: 회고 검증 및 임계 값/보정 조정을 위해 차지 백 (45-90d), 이탈/LTV.
현재 분야: "미래의 사건" 이라는 기능이나 레이블이 없습니다.
5) 근본 원인 진단 (RCA 점검표)
1. 데이터: 최상위 기능 별 PSI/KL, 누락/지연, 스키마 확산, 새로운 범주.
2. 출처: 공급자 알림 (PSP/게임 제공 업체), API/타임 아웃 오류.
3. 계절성/프로모션: 피크 미션/토너먼트, RTP/카탈로그 변경.
4. 지역/거주: 시장 간 교통 이동, 새로운 KYC/RG 규칙.
5. 기술: 피처 캐시의 저하, 느린 CDC, 작은 파일 폭풍.
6. 참고 문헌/환율/달력: 구식? (FX/공휴일).
7. 공정성: 특정 조각의 품질 저하.
6) 드리프트 액션 플레이 북
6. 1 공변량/기능 드리프트
빠른: 교정 업데이트 (Platt/Isotonic D + 1), 예상 비용에 따라 임계 값을 조정하십시오.
중기: 부분 개조 (안정적인 집계/창), 시간 인식 CV로 TE/WOE 업데이트.
장기: 새로운 선택/창으로 재교육하면 필요한 경우 기능의 아키텍처를 수정하십시오.
6. 2 라벨/결과 드리프트
새로운 레이블 (D + 1, D + 7) 로 임계 값을 다시 계산하고 다시 교정하십시오.
가드 레일을 수정합니다 (공격적인 행동을 안정화로 제한).
6. 3 개념 드리프트
최신 데이터에서 새 버전의 섀도우 교육 → 카나리아 → 전체 출시.
도메인 분해 (세그먼트/시장 별 별도 모델) 를 고려하십시오.
6. 4 스키마/운영 드리프트
이중 v1/v2 스키마 항목, 온라인/오프라인 등가 테스트 사용.
소스를 수정하고 캐시/폴백을 활성화하며 백필 간격을 보상하십시오.
6. 5 공정성 드리프트
임시 슬라이드 임계 값/보정, 대상 재교육/재조정 기능, 프록시 변수 감사.
6. 6 에스컬레이션
킬 스위치 (가드 레일 위반) → 안전한 폴백/이전 버전.
5xx/대기 시간/예상 비용으로 한 번 클릭하십시오.
7) 데이터 업데이트 정책
7. 1 증가 및 CDC
안정적인 워터 마크/로그 복제; dempotent MERGE/UPSERT.
7. 2 백필/재 처리
백필: 범위에 대한 Dogon (할당량 및 창문 포함).
재 처리: 논리 변경/오류가 수정되면 다시 계산합니다.
'logic _ version', 'reprocessed _ at', 'reason'; 영향 보고서 (메트릭/비용).
7. 3 시간 여행/WORM
ACID 테이블 (Delta/Iceberg/Hudi), 보고서/릴리스의 WORM 아카이브.
"날짜와 같이": 규제보고의 재현성.
7. 4 디렉토리/FX/달력
자동 업데이트, 서명, 버전 및 신선도 점검 (대기 시간 및 연령에 대한 SLO).
8) 측정 항목 및 경고 (최소 세트)
데이터: 최고 기능 별 PSI/KL, 누락 된 속도, 기능 가져 오기 대기 시간.
품질: PR-AUC/KS (프록시 라벨), ECE, 예상 비용 @ thr.
작업: p95/p99 대기 시간, 5xx, 적용 범위, 자동 검사, 비용/요청.
공정성: 슬라이스 패널 (시장/기기/공급자).
계약: 스키마 위반, 온라인/오프라인 동등성 테스트.
9) 모델 업데이트 절차
1. 그림자: 쿼리 사본, 대기 시간/품질/비용 비교의 새로운 모델.
2. 카나리아: 녹색 SLO에서 5-10% → 25% → 50% → 100%.
3. 임계 값/보정: D + 1 계산; 임계 값-레지스트리에서 설정
4. 문서: 모델 카드 (데이터, 창, 지표, 위험, 공정성).
5. 아카이브: WORM 릴리스 (가중치, 교정, 테스트 로그, 드리프트 보고서).
10) 예 (조각)
10. SQL 아이디어의 1 PSI (사전 준비)
sql
-- ref_dist(bin, p_ref), prod_dist(bin, p_prod) для фичи amount_base
SELECT SUM((p_prod - p_ref) LN((p_prod + 1e-9)/(p_ref + 1e-9))) AS psi
FROM (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_prod
FROM prod_binned GROUP BY bin
) p
JOIN (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_ref
FROM ref_binned GROUP BY bin
) r USING (bin);
10. 2 예상 비용 임계 값 조정 (의사 코드)
python thr_grid = np. linspace(0. 01, 0. 99, 99)
costs = [expected_cost(y_true, y_prob >= t, c_fp, c_fn) for t in thr_grid]
thr_best = thr_grid[int(np. argmin(costs))]
10. 3 온라인/오프라인 기능 동등성
python diff = np. abs(f_online. values - f_offline. values)
assert np. quantile(diff, 0. 95) < MAX_ABS_DIFF_95
10. 4 하중 제한이있는 백필 (오케스트레이션 아이디어)
yaml job: backfill_gold_ggr limits: {concurrency: 1, max_partitions_per_run: 4}
guards:
- window: "02:00-06:00"
- markets: ["EEA","UK"]
- budget: "compute_hours<=50"
11) 테스트 및 변경 제어
계약 체계/기능: 소비자 중심 테스트, 이중 입력 v1/v2.
지표의 회귀 테스트: 공차를 넘어 PR-AUC/ECE/예상 비용을 악화시키지 마십시오.
온라인/오프라인 동등성 테스트: 참조 샘플.
혼돈 테스트: 캐시 고장, 소스 타임 아웃, 버스트 트래픽 기능.
12) 공정성과 준수
슬라이스 보고서 (이종 충격, 동일한 확률), 슬라이스 임계 값/보정.
PII 최소화, 거주 (EEA/UK/BR), DSAR/RTBF, 법률 보유.
감사 결정: '정책 _ id', '임계 값', 중재 사유, WORM 로그.
13) 비용과 성능
비용 대시 보드: 비용/요청, 비용/기능, 주정부 크기 стри
최적화: 무거운 오프라인 기능, 핫 윈도 캐시, INT8/FP16의 품질이 동일합니다.
쿼타: 백필/리플레이 제한, 시장/팀별 예산 재교육.
14) RACI
R (책임): MLops (모니터링/레지스트리/킥 아웃), Data Eng (데이터/CDC/백필/계약), 데이터 과학 (진단/보정/재교육/공정성).
A (책임): 데이터/CDO 책임자.
C (컨설팅): 준수/DPO (PII/RG/AML/DSAR), 보안 (KMS/감사), SRE (SLO/Value), 재무 (예산/ROI).
I (정보): 제품/마케팅/운영/지원.
15) 로드맵
MVP (2-4 주):1. 최고의 기능과 점수 별 PSI/KL, ECE, 프록시 레이블에 예상 비용.
2. 대시 보드 적용 범위/누락/기능 지연, 경고 및 런북 '및.
3. 재 보정 절차 (D + 1) 및 임계 값; 새로운 모델의 그림자 경로.
4. 계획 계약/기능 및 온라인/오프라인 동등성 테스트.
2 단계 (4-8 주):- RCA 패널, 슬라이스/공정성 모니터링, 할당량이있는 백필 계획.
- 자동 롤 보정/임계 값, 임계 값 시뮬레이터 (What-if).
- 드리프트 보고서 및 릴리스의 WORM 아카이브.
- 드리프트 이벤트 (카나리아), 다중 지역 정책에 대한 자동 재교육.
- 비용 할당량/차지 백, 혼돈/DR 연습, 자동 문서.
16) 사전 판매 점검표
- SLI/SLO 및 경고가 구성됩니다 (PSI/ECE/예상 비용/적용 범위/대기 시간/5xx).
- 스키마 계약/기능 및 v1/v2 이중 항목은 녹색입니다.
- 재정의/임계 값 업데이트 절차가 문서화되고 자동화됩니다.
- 원 클릭 롤백이있는 섀도우/카나리아 체크.
- 할당량과 창으로 백필/재 처리-준비; WORM 아카이브가 활성화되었습니다.
- 슬라이스/공정성 패널 및 세그먼트 소유자가 할당됩니다.
- PII/DSAR/RTBF/법률 보유 정책 시행; 감사가 활성화되었습니다.
- 통제 대상 비용 (비용/요청, 비용/기능), 캐시/TTL 구성.
17) 반 패턴 및 위험
우리는 높은 PSI를 보았습니다. RCA와 교정없이 즉시 "맹목적으로" 재교육했습니다.
지연된 레이블에 대한 설명은 없습니다. → 잘못된 결론, 매일 "소잉 임계 값".
온라인/오프라인 동등성 테스트 부족 → "이중 현실".
공정성 무시: 시장/장치 실패는 보이지 않습니다.
할당량/창이없는 백필 → 비용 및 SLA 적중.
임계 값은 계절에 따라 "영원히" → 예상 비용 증가로 고정됩니다.
18) 결론
드리프트 관리는 일회성 재교육이 아니라 프로세스입니다. 관찰 가능성 → 진단 → 최소 위험 조치 (보정/임계 값) → 안전한 재교육/완화 → 비용 관리 및 감사. 이 분야에서 플레이어, 제공자 및 시장 행동이 변화하더라도 모델은 정확하고 윤리적이며 준수합니다.