GH GambleHub

Моніторинг моделей

1) Навіщо

Мета - підтримувати якість і безпеку рішень моделі в проді при дотриманні SLA/SLO, RG/AML/Legal і бюджетів. Моніторинг повинен ранньо виявляти деградації (дані, калібрування, latency, вартість), мінімізувати expected cost помилок і забезпечувати відтворюваність/аудит.


2) Області моніторингу (карта)

1. Доступність і продуктивність: latency p95/p99, error-rate, RPS, автоскейл.
2. Якість передбачень: PR-AUC/KS (на онлайн-лейблах), калібрування (ECE), expected-cost @threshold.
3. Дрейф і стабільність: PSI/KL за фічами і швидкістю, зміна розподілів/категорій.
4. Покриття та повнота: частка успішно обслужених запитів, частка «порожніх» фіч, hit-rate кешів.
5. Slice/Fairness: метрики по ринках/провайдерам/пристроям/віку аккаунта.
6. Guardrails (RG/AML): порушення політик, частоти інтервенцій, false positives/negatives.
7. Вартість: cost/request, cost/feature, GPU/CPU-часы, small-files/IO (для batch/near-RT).
8. Дані/контракти: схема фіч, версії, еквівалентність online/offline.


3) SLI/SLO (орієнтири для iGaming)

Latency p95: персоналізація ≤ 150 мс, RG/AML алерти ≤ 5 з e2e.
Availability: ≥ 99. 9%.
Error-rate 5xx: ≤ 0. 5% за 5 хв вікно.
Coverage: ≥ 99% запитів отримали валідний швидкість і рішення.
Freshness лейблів для online-оцінки: D + 1 (добова), для швидких проксі - ≤ 1 год.
Drift PSI: фічі/скор <0. 2 (warning с 0. 1).
Калібрування ECE: ≤ 0. 05.
Expected-cost_live: не вище базової моделі + X% (цільове X вибирає бізнес).


4) Сигнали і формули

4. 1 Дрейф

PSI: підсумовуємо по бінах різниці розподілів (train vs prod).
KL-дивергенція: чутлива до «тонких» хвостів; моніторити для ключових фіч/швидка.
KS для скорів (при наявності лейблів): різниця CDF для позитивів/негативів.

4. 2 Калібрування

ECE (Expected Calibration Error):predicted-prob − empirical-rateпо кошиках.
Reliability curve: графік точності vs ймовірність.

4. 3 Expected-Cost

Мінімізуємо (C = c_{fp}\cdot FPR + c_{fn}\cdot FNR) на робочому порозі; онлайн вважаємо в ковзному вікні з відкладеними лейблами.


5) Джерела лейблів

Онлайн-лейбли (швидкі проксі): подія «депозит в 7 днів», клік/конверсія, завершений кейс RG.
Відкладені лейбли: chargeback/фрод (45-90 днів), довгостроковий churn/LTV.
Правила: зберігати as-of час; не використовувати події «з майбутнього».


6) Дашборди (мінімальний склад)

1. Операційний: RPS, p50/p95/p99 latency, 4xx/5xx, saturation, autoscaling.
2. Якість: score-distribution, PR-AUC (на проксі-лейблах), ECE, expected-cost, KS.
3. Дрейф: PSI/KL за топ-фічами, novelty категорій, missing-rate, feature-fetch latency.
4. Slice/Fairness: PR-AUC/ECE/expected-cost по ринках/провайдерам/девайсам.
5. Guardrails: RG/AML порушень, інтервенції/1k запитів, false-stop rate.
6. Вартість: cost/request, CPU/GPU time, cache hit-rate, внешние lookups.


7) Алертінг (правила прикладу)

HighP95Latency: p95> 150 мс (5 хв) → page SRE/MLOps.
ErrorBurst: 5xx > 0. 5% (5 хв) → rollback-скрипт доступний.
PSI_Drift: PSI(amount_base) > 0. 2 (15 хв) → warm-up retrain/канарний відкат.
ECE_Bad: ECE > 0. 07 (30 хв) → перезібрати калібрування/пороги.
ExpectedCost_Up: + X% до бенчмарку (1 день) → розглянути відкат/перетрен.
Slice_Failure: PR-AUC в ринку R впав> Y% (1 день) → власнику домену тікет.
Guardrails_Breach: частка агресивних офферів> cap → негайний kill-switch.


8) Логування та трасування

Логи запиту (мінімум): `request_id`, `trace_id`, `model_id/version`, `feature_version`, `feature_stats` (missing%, extremes), `score`, `decision`, `threshold`, `policy_id`, `guard_mask`, `latency_ms`, `cost_estimate`, (опционально) объяснения (SHAP top-k).
OTel-трейси: спаны `feature_fetch` → `preprocess` → `score` → `postprocess` → `guardrail`.
PII: тільки псевдоніми/токени; маскування з політики, резидентність ключів.


9) Онлайн-оцінка якості

Ковзні вікна для PR-AUC/KS за швидкими лейблами (година/день).
Затримані лейбли: ретроспективні звіти D + 7/D + 30/D + 90, коригування expected-cost.
Калібрування: переоцінка Isotonic/Platt на D + 1, auto-refresh артефакту.


10) Поріг і політика рішень

Поріг тримаємо як конфіг в реєстрі; онлайн вважаємо expected-cost і коригуємо в межах допустимого діапазону (rate-limited).
Safety-caps: верхні/нижні межі дій; ручний override для комплаєнсу.
Backtesting порогів: nightly симуляція на вчорашніх даних.


11) Slice & Fairness

Сегменти: ринок/юрисдикція, провайдер, пристрій/ASN, вік аккаунта, депозит-сила.
Метрики: PR-AUC, ECE, expected-cost, FPR/TPR разницы (equalized odds), disparate impact.
Дії: калібрування/поріг по слайсах, перенавчання з вагами, перегляд фіч.


12) Еквівалентність online/offline

Тест рівності фіч: MAE/MAPE на контрольній вибірці; алерт при розбіжності> порогу.
Версіонування: `feature_spec_version`, `logic_version`; WORM-архів.
Контракти схем: breaking-change заборонений без подвійного запису (v1/v2).


13) Guardrails (RG/AML)

Pre-/Post-filter дій, частотні ліміти, cooldown, списки заборон.
Логи `policy_id/propensity/mask/decision`; звіт порушень.
Метрика time-to-intervene і false-intervention rate.


14) Інциденти і runbook

Сценарії та кроки:

1. Latency↑/5xx↑: перевірити зовнішні фіч-провайдери → включити кеш/таймаути → масштабування → при необхідності rollback.

2. PSI/ECE/Expected-cost погіршилися: freeze трафік (canary↓), включити fallback-пороги/модель, запустити retrain.

3. Slice провал: тимчасовий слайс-специфічний поріг, тікет власнику домену.

4. Guardrails breach: kill-switch, аудит кейсів, пост-морем.


15) Вартість і продуктивність

Профілювання: частка часу в feature-fetch vs score vs IO.
Кеш-стратегії: TTL/eviction, «гарячі» фічі в RAM, холодні - lazy.
Квантизація/оптимізація моделі: FP16/INT8 при збереженні якості.
Chargeback: cost/request, cost/feature за командами/ринками.


16) Приклади (фрагменти)

Поріг по expected-cost (псевдокод):
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[np.argmin(costs)]
Prometheus (ідеї метрик):
text model_inference_latency_ms_bucket feature_fetch_latency_ms_bucket model_request_total{code}
model_score_distribution_bucket psi_feature_amount_base ece_calibration expected_cost_live slice_pr_auc{slice="EEA_mobile"}
Алерт (ідея):
text
ALERT DriftDetected
IF psi_feature_amount_base > 0.2 FOR 15m

17) Процеси і RACI

R (Responsible): MLOps (спостережуваність/алерти/реєстр), Data Science (метрики якості/калібрування/поріг), Data Eng (фічі/контракти/еквівалентність).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/аудит), SRE (SLO/інциденти), Finance (вартість).
I (Informed): Продукт/Маркетинг/Операції/Підтримка.


18) Дорожня карта

MVP (2-4 тижні):

1. Базові SLI/SLO (latency/5xx/coverage) + дашборд.

2. PSI для топ-10 фіч і score-distribution; ECE і expected-cost на проксі-лейблах.

3. Логи рішень + OTel-трейси; тест еквівалентності online/offline.

4. Алерти HighP95Latency/PSI_Drift/ECE_Bad + runbook'і.

Фаза 2 (4-8 тижнів):
  • Slice/fairness-панелі, nightly backfill метрик на відкладених лейблах.
  • Авто-перезбір калібрування і симулятор порогів.
  • Cost-дашборд і квоти/ліміти на фічі/реплеї.
Фаза 3 (8-12 тижнів):
  • Авто-релаут/ретрейн по дрейфу з канарним контролем.
  • WORM-архіви звітів якості та артефактів.
  • Chaos-тести моніторингу та DR-навчання.

19) Чек-лист прод-готовності

  • SLI/SLO узгоджені і промоніторени на shadow/canary ≥ 24 ч.
  • PSI/KL, ECE, expected-cost і PR-AUC вважаються онлайн; пороги і алерти задані.
  • Slice/fairness-панелі включені; власники сегментів призначені.
  • Логи/трейси повні (рішення, пороги, маски), PII-маскування і резидентність дотримані.
  • Тест еквівалентності online/offline зелений; схеми фіч під контрактом.
  • Runbook'і і one-click rollback перевірені; kill-switch для guardrails.
  • Вартість вписується до бюджетів; кеш/квоти/ліміти активні.
  • WORM-архів метрик/артефактів і звітів якості збережений.

20) Анти-патерни і ризики

Відсутність online-лейблів і ретроспективної оцінки.
Моніторинг тільки ROC-AUC без expected-cost і калібрування.
Ігнор slice/fairness → приховані провали в регіонах/пристроях.
Немає еквівалентності online/offline фіч → «подвійна реальність».
Нуль guardrails: токсичні оффери, порушення RG/AML.
Немає планів відкату/DR, немає WORM-архіву.


21) Підсумок

Моніторинг моделей - це система раннього попередження та управління ризиком/вартістю, а не «подивитися раз на тиждень». Введіть SLO, вимірюйте дрейф/калібрування/expected-cost, відстежуйте слайси і guardrails, тримайте кнопки rollback/kill-switch, автоматизуйте звіти і ретрейни. Так моделі залишаться корисними, етичними і комплаєнтними при будь-якій турбулентності даних і трафіку.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.