Logo GH

ML modellarini joylashtirish

1) Roli va maqsadlari

Tarqatish = RG/AML/Legal va byudjetlarga rioya qilgan holda infensi mahsulot va operatsiyalarga ishonchli yetkazib berish.
Maqsadlar: past latentlik, yuqori ochiqlik, takrorlanuvchanlik, xavfsizlik va tezkor qaytaruvchanlik (rollback).

2) Serving arxitekturasi

2. 1 Pattern

Online (real-time): REST/gRPC, p95 personallashtirish uchun 50-150 ms; RG/AML-alertlar uchun 2-5 s ≤.
Near-real-time: mikrobatchi 1-5 min (OLAP-vitrinalar).
Batch/offline: Gold tungi vitrinalar, WORM-eksport regulyator uchun.
In-process scoring: light modelini xizmatga kiritish (past kechikish).
Serverless: noyob vazifalar uchun sovuq boshlash funksiyalari.

2. 2 Topologiyalar

Single Model Service → oson va tez.
Ensemble/Graph (router → preprocess → model → postprocess) → murakkab payplaynlar.
Sidecar Feature Fetcher → onlayn-chichlarni keshdan (Redis/Scylla) tortib oladi.

3) Model reyestri va versiyasi

Registry:’model _ id’,’version’,’stage = {Staging, Production, Archived}’, artefaktlar (og’irlik, preprotsessor, kalibrlash), talablar (CPU/GPU/xotira), model kartochkasi (ma’lumotlar, metriklar, xavflar, fairness).
Immutable artefaktlar: content-hash; Relizlarning WORM nusxalari.
Chiqish siyosati: faqat reyestr va deklarativ manifestlar orqali.

4) Konteynerlashtirish va qadoqlash

Dockerfile (eskiz):
dockerfile
FROM python:3. 11-slim
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY requirements. txt.
RUN pip install -r requirements. txt --no-cache-dir
COPY artifacts/./artifacts/
COPY src/./src/
CMD ["python", "src/serve. py"]
Server (FastAPI + gRPC, gʻoya):
python serve. py from fastapi import FastAPI import joblib, time app = FastAPI()
model = joblib. load("artifacts/model. joblib")
scaler = joblib. load("artifacts/scaler. joblib")

@app. post("/score")
def score(payload: dict):
t0 = time. time()
x = preprocess(payload, scaler)
y = float(model. predict_proba([x])[0,1])
return {"score": y, "latency_ms": int((time. time()-t0)1000), "model_version": "1. 8. 3"}

5) Kubernetes/Helm va avtoskeyling

Deployment (parcha):
yaml apiVersion: apps/v1 kind: Deployment metadata: {name: ml-score, labels: {app: ml-score}}
spec:
replicas: 3 selector: {matchLabels: {app: ml-score}}
template:
metadata: {labels: {app: ml-score}}
spec:
containers:
- name: api image: registry/ml-score:1. 8. 3@sha256:...
ports: [{containerPort: 8080}]
resources:
requests: {cpu: "500m", memory: "512Mi"}
limits:  {cpu: "2",  memory: "2Gi"}
envFrom: [{secretRef: {name: ml-secrets}}]
readinessProbe: {httpGet: {path: /healthz, port: 8080}, periodSeconds: 5}
livenessProbe: {httpGet: {path: /livez,  port: 8080}, periodSeconds: 10}
HPA (RPS/CPU bo’yicha):
yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: {name: ml-score-hpa}
spec:
scaleTargetRef: {apiVersion: apps/v1, kind: Deployment, name: ml-score}
minReplicas: 3 maxReplicas: 50 metrics:
- type: Pods pods:
metric: {name: requests_per_second}
target: {type: AverageValue, averageValue: "15"}
- type: Resource resource: {name: cpu, target: {type: Utilization, averageUtilization: 70}}

6) Qaytarib olish strategiyasi

Shadow (qorong’u ishga tushirish): yangi model so’rovlarning nusxalarini ko’rib chiqadi, javoblar e’tiborsiz qoldiriladi; metrik/latentlik/qiymatni solishtirish.
Canary: 1-10% trafik → 25% → 50% → 100% yashil SLOda; degradatsiyada avtomatik ravishda to’xtatib qo’yish.
Blue-Green: parallel stakanlar; tezkor marshrutlash svitch.
Gradual Feature Flag: bozorlar/tenantlar/qurilmalar bo’yicha marshrutlash.
A/B/n: sequential testing bilan onlayn tajribalar.

Marshrut (g’oya):
yaml routes:
- match: {tenant: "EEA"} # feature-flags/rules to: {model: "1. 8. 3", weight: 20}
- match: {tenant: "EEA"}
to: {model: "1. 7. 9", weight: 80}

7) Fichi online/offline: ekvivalentlik

Yagona transformatsiyalar kutubxonasi va Feature Store (online + offline).
Ekvivalentlik testi: MAE/MAPE onlayn fichlar va etalon namunasidagi oflayn etalon o’rtasida.
Kesh fich: Redis/Scylla, oyna belgilari uchun TTL; taymautlar va fallbacks.

8) Kuzatish, SLO va alerting

8. 1 SLI/SLO mo’ljallari

Latentlik: p95 ≤ 150 ms (personallashtirish), p99 ≤ 300 ms; RG/AML alert ≤ 5 s end-to-end.
Foydalanish imkoniyati: 99 ≥. 9%.
Inferens xatosi: ≤ 0. 5% 5xx; coverage ≥ 99%.
Dreyf: PSI fich/skora <chegara, ECE (kalibrlash) barqaror.
Бизнес: uplift Net Revenue, fraud saved, time-to-intervene.

8. 2 Metrika (Prometheus)

yaml
- http_request_duration_seconds{quantile="0. 95"}
- http_requests_total{code=~"5.."}
- model_inference_latency_ms_bucket
- feature_fetch_latency_ms_bucket
- model_score_distribution_bucket
- psi_feature_{name}
- expected_cost_live
Alertlar (parcha):
yaml
- alert: HighP95Latency expr: histogram_quantile(0. 95, sum(rate(model_inference_latency_ms_bucket[5m])) by (le)) > 0. 15 for: 10m
- alert: DriftDetected expr: psi_feature_amount_base > 0. 25 for: 15m

Трейсинг: OpenTelemetry — span’ы `feature_fetch`, `score`, `postprocess`, `guardrail`.

9) RG/AML guardrails va xavfsizlik siyosati

Pre-/Post-filter: taqiqlangan harakatlar niqoblari (ko’rsatuv chastotalari, cooldown, tajovuzkor offerlarni taqiqlash).
Policy Shielding: RG chegarasidan yuqori tezlik → yumshoq intervensiya/pauza.
Audit: loging’policy _ id’,’propensity’,’mask’,’decision’,’reason’.
PII va rezidentlik: ID o’rniga tokenlar, EEA/UK/BRdagi alohida shifrlash va klaster kalitlari; asossiz kross-mintaqaviy join’onlarni taqiqlash.
Sirlar: KMS/CMK, Secret Manager; log/treyslarda PII yo’q.

10) Yechimlarni kalibrlash, chegaralari va siyosati

Kalibrlash (Platt/Isotonic) artefakt sifatida.
expected cost bo’yicha chegara; reyestrda/fich-bayroqda konfiguratsiya qilinadigan.
Safety caps: harakatlarning yuqori/pastki chegaralari, komplayens uchun qoʻlda override.

11) Orqaga qaytish, degradatsiya va DR

One-click rollback: yo’nalishni oldingi’model _ version’ga o’tkazish.
Runbook: skriptlar «latentlik ↑», «xatolar 5xx ↑», «dreyf/kalibrlash buzilgan», «tashqi fich-provayder mavjud emas».
Muvaffaqiyatsizliklarni izolyatsiya qilish: circuit breaker, retry/backoff, oxirgi valid yechim kesh.
DR: artefaktlar/reyestr arxaplari, «iliq» mintaqaga replikatsiya qilish, mashqlar.

Circuit breaker (psevdokod):
python try:
features = fetch_features(timeout=30)
except TimeoutError:
features = last_known_good(user_id) # fallback

12) Cost-injiniring va unumdorlik

Yo’lni profillash: chi (30-60%), model (20-40%), tarmoq/IO (10-30%).
Qiymatni pasaytirish: issiq fichlarni keshlash, repleylarga kvotalar, lightweight-modellar, INT8/FP16 (agar o’rinli bo’lsa), lazy-postprocess.
RPS/CPU/latency uchun HPA, strim-fich uchun state-size chegarasi.
Chargeback: cost/request, cost/feature; bozorlar/jamoalar uchun budjetlar.

13) Xavfsiz relizlar va muvofiqlik

Prod-tayyorlik mezonlari: SLO shadow da yashil, dreyf/oqish yo’q, model kartasi to’ldirilgan, fairness-slayslar normal.
Regulyator: WORM-reliz arxivi (og’irlik, kalibrlash, bostirma, metrika, test loglari), o’zgarmas eksport hisobotlari.
DSAR/RTBF: kesh/log/fich.

14) Ko’tarishdan oldin QA

Integratsiya testlari: API kontrakti, fich sxemalari, «bo’sh/haddan tashqari» keyslar.
Yuklama: p99, taqsimot dumlari, burst-trafik.
Online/offline ekvivalentlik testi.
Chaos-testlar: fich-kesh/bazani o’chirish, tashqi xizmatlarning taymautlari.

15) Konfiguratsiya namunalari

Kanar yo’nalishi bo’lgan Ingress (g’oya):
yaml
- match: [headers: {x-exp: "canary"}]
route:
- destination: {host: ml-score-v1-8-3, weight: 20}
- destination: {host: ml-score-v1-7-9, weight: 80}
Model salomatligi (endpint):
python
@app. get("/healthz")
def health():
return {"ok": True, "model_version": "1. 8. 3", "registry_sig_ok": verify_signature()}

16) Jarayonlar va RACI

R (Responsible): MLOps (serving/orkestr/kuzatuv), Data Eng (fichi/kesh/kontraktlar), Data Science (model kartochkalari/kalibrlash/chegara).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/sirlar/audit), SRE (SLO/hodisalar), Finance (ROI/byudjetlar).
I (Informed): Mahsulot/Marketing/Operatsiyalar/Qo’llab-quvvatlash.

17) Joriy etish yo’l xaritasi

MVP (3-6 hafta):

1. Model reyestri va immunutable artefaktlar; FastAPI/gRPC-servis + K8s/Helm.

2. Shadow-r95/5xx/dreyf monitoringi bilan ishga tushirish, fich ekvivalentlik testi.

3. Canary 10% → 50% → 100% otskript va alertlar bilan.

4. Model kartochkasi, kalibrlash, expected-cost chegara va Guardrails v1.

2-faza (6-12 hafta):
  • Ficha-kesh, circuit breakers, runbooks/DR-mashqlar.
  • RPS/latency, cost-dashboard va chargebackda avtoskeyling.
  • Slays-monitoring fairness, WORM-relizlar arxivi.
3-faza (12-20 hafta):
  • Serving grafigi (nomzodlar → re-rank), propensitni slate-loglash.
  • Ko’p mintaqa, alohida kalitli rezidentlik (EEA/UK/BR).
  • Avtotransport/dreyf bo’yicha qayta ishlangan, avtogen sifat/kalibrlash hisobotlari.

18) Oziq-ovqat tayyorgarligi chek-varaqasi

  • Model kartochkasi to’ldirilgan; ma’lumotlar/fichlar/kalibrlash/chegaralar versiyalangan.
  • Kontraktlar fich va ekvivalentlik testi online/offline - yashil.
  • SLO: p95, 5xx, coverage - shadow da yashil va 10% canary ≥ 24 soat.
  • Alertlar va dashbordlar (yashirin/xato/dreyf/expected-cost) kiritilgan.
  • Guardrails RG/AML va yechimlar auditlari faol; PII/rezidentlikka rioya qilingan.
  • One-click rollback va runbook hodisalari sinovdan o’tkazildi.
  • Qiymati budjetga to’g "ri keladi; HPA va kesh oʻrnatilgan.

19) Anti-patternlar va xavflar

Reyestrsiz qo’lda chiqishlar va immutable artefaktlar.
Kelishilmagan online/offline fichlari → mahsulotdagi tafovutlar.
Shadow/canary → yashirin regressiyalar mavjud emas.
Chegara expected cost emas, kalibrlash yoʻq.
Taymaut/keshsiz sinxron tashqi lookups.
Hech qanday DR/rollback, hech qanday WORM arxivi mavjud emas.

20) Jami

ML ishlab chiqarish - bu «model muammosi» emas, balki muhandislik platformasi: reyestr va versiyalar, xavfsiz chiqishlar (shadow/canary/blue-green), fich va kalibrlash intizomi, kuzatuv va SLO, RG/AML uchun guardrails va aniq orqaga qaytish rejasi. Ushbu pleybukga amal qilib, siz tezkor, ishonchli va qulay inferens olasiz, bu esa nazorat qilinadigan qiymatda barqaror biznes qiymatini keltiradi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.