Logo GH

ML modellərinin yerləşdirilməsi

1) Rolu və məqsədləri

Yerləşdirmə = RG/AML/Legal və büdcələrə uyğun olaraq məhsula və əməliyyatlara etibarlı inferens çatdırılması.
Məqsədlər: aşağı gecikmə, yüksək mövcudluq, təkrarlanabilirlik, təhlükəsizlik və sürətli geri dönüş (rollback).

2) Servinq memarlığı

2. 1 Nümunələr

Online (real-time): REST/gRPC, p95 50-150 ms, RG/AML-alertlər üçün ≤ 2-5 ms.
Near-real-time: mikrobatçi 1-5 dəq (OLAP-vitrinlər).
Batch/offline: Gold gecə vitrinləri, tənzimləyici üçün WORM ixracı.
In-process scoring: Light modelinin xidmətə daxil edilməsi (aşağı gecikmə).
Serverless: nadir vəzifələr üçün soyuq başlanğıc funksiyaları.

2. 2 Topologiyalar

Single Model Service → asan və sürətli.
Ensemble/Graph (router → preprocess → model → postprocess) → mürəkkəb paylaynlar.
Sidecar Feature Fetcher → cache (Redis/Scylla) online ficks çıxarır.

3) Model reyestri və versiyası

Registry: 'model _ id', 'version', 'stage = {Staging, Production, Archived}', artefaktlar (çəkilər, presessor, kalibrləmə), tələblər (CPU/GPU/yaddaş), model kartı (məlumatlar, metriklər, risklər, fairness).
Immutable artefaktlar: content-hash; WORM buraxılışlarının surətləri.
Çıxış siyasəti: yalnız reyestr və deklarativ manifestlər vasitəsilə.

4) Konteynerləşdirmə və qablaşdırma

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, ideya):
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 və avtoskeylinq

Deployment (fraqment):
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 ilə):
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) Geri qaytarma strategiyaları

Shadow (qaranlıq başlanğıc): yeni model sorğuların surətlərini emal edir, cavablara məhəl qoyulmur; metrik/gizli/dəyər müqayisə.
Canary: 1-10% trafik → 25% → 50% → 100% yaşıl SLO; deqradasiya zamanı avtomatik yuvarlanma.
Blue-Green: paralel yığınlar; ani marşrutlaşdırma switch.
Gradual Feature Flag: bazarlar/tenantlar/cihazlar üzrə marşrut.
A/B/n: sequential testing ilə online təcrübələr.

Marşrutlaşdırma (ideya):
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) Online/offline: ekvivalentlik

Vahid transformasiya kitabxanası və Feature Store (online + offline).
Ekvivalentlik testi: Referans nümunəsində onlayn fich və oflayn etalon arasında MAE/MAPE.
Cache fich: Redis/Scylla, pəncərə əlamətləri üçün TTL; taymaut və fallbacks.

8) Müşahidə, SLO və alertinq

8. 1 SLI/SLO göstəriciləri

Gecikmə: p95 ≤ 150 ms (personalizasiya), p99 ≤ 300 ms; RG/AML alert ≤ 5 ilə end-to-end.
Mövcudluq: ≥ 99. 9%.
Sızma səhvi: ≤ 0. 5% 5xx; coverage ≥ 99%.
Drift: PSI fich/skor <eşik, ECE (kalibrləmə) sabitdir.
Бизнес: 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
Alertlər (fraqment):
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 mühafizə və təhlükəsizlik siyasəti

Pre-/Post-filter: maskalar qadağan hərəkətləri (tezliklər, cooldown, təcavüzkar offfers qadağan).
Policy Shielding: RG → yumşaq müdaxilə/fasilə həddindən yuxarı sürətli.
Audit: loging 'policy _ id', 'propensity', 'mask', 'decision', 'reason'.
PII və rezidentlik: ID əvəzinə tokenlər, EEA/UK/BR-də fərdi şifrələmə və klaster açarları; əsas olmadan cross-regional join 'oların qadağan edilməsi.
Secrets: KMS/CMK, Secret Manager; log/tracks heç bir PII.

10) Kalibrləmə, eşik və həll siyasəti

Kalibrləmə (Platt/Isotonic) artefakt kimi.
expected cost üçün eşik; reyestr/fiça bayrağında konfiqurasiya edilə bilər.
Safety caps: üst/alt hərəkət sərhədləri, uyğunluq üçün əl override.

11) Geri çəkilmə, deqradasiya və DR

One-click rollback: əvvəlki 'model _ version' marşrutu keçid.
Runbook: ssenarilər «gecikmə ↑», «səhvlər 5xx ↑», «drift/kalibrləmə qırıldı», «xarici fich provayder mövcud deyil».
Uğursuzluqların izolyasiyası: circuit breaker, retry/backoff, son etibarlı həll cache.
DR: artefaktların/reyestrin arxa planları, «isti» bölgəyə replikasiya, təlimlər.

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

12) Cost mühəndisliyi və performans

Profil yolu: Fich (30-60%), model (20-40%), şəbəkə/IO (10-30%).
Qiymətin azaldılması: caching hot phic, replay kvotaları, lightweight modelləri, INT8/FP16 (uyğun olarsa), lazy-postprocess.
RPS/CPU/latency üçün HPA, stream-fich state-size limiti.
Chargeback: cost/request, cost/feature; bazarlar/komandalar üçün büdcələr.

13) Təhlükəsiz buraxılışlar və uyğunluq

Hazırlıq meyarları: SLO shadow-da yaşıl, sürüklənmə/sızma yoxdur, model kartı doludur, fairness slaydları normaldır.
Tənzimləyici: WORM-reliz arxivi (çəki, kalibrləmə, eşik, metrika, test qeydləri), dəyişməz ixrac hesabatları.
DSAR/RTBF: caches/log/fich xüsusi istifadəçi izlərini silmə prosedurları.

14) QA yuvarlanmadan əvvəl

İnteqrasiya testləri: API müqaviləsi, sxemlər, «boş/həddindən artıq» hallar.
Yükləmə: p99, paylama quyruqları, burst trafiki.
Online/offline ekvivalent testi.
Chaos testləri: Fich cache/bazanın söndürülməsi, xarici xidmətlərin vaxtları.

15) Konfiqurasiya nümunələri

Kanarya marşrutu ilə Ingress (ideya):
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 sağlamlığı (end-point):
python
@app. get("/healthz")
def health():
return {"ok": True, "model_version": "1. 8. 3", "registry_sig_ok": verify_signature()}

16) Proseslər və RACI

R (Responsible): MLOps (servinq/orkestr/müşahidə), Data Eng (fiçlər/keşlər/müqavilələr), Data Science (model kartları/kalibrləmə/eşiklər).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/Secrets/Audit), SRE (SLO/Insidents), Finance (ROI/Büdcələr).
I (Informed): Məhsul/Marketinq/Əməliyyatlar/Dəstək.

17) Tətbiqi yol xəritəsi

MVP (3-6 həftə):

1. Model reyestri və immutable artefaktlar; FastAPI/gRPC xidməti + K8s/Helm.

2. p95/5xx/drift monitorinqi ilə Shadow-start, fich ekvivalentlik testi.

3. Canary 10% → 50% → 100% autoscript geri və alert ilə.

4. Kart model, kalibrləmə, expected-cost eşik və Guardrails v1.

Faza 2 (6-12 həftə):
  • Ficha-cache, circuit breakers, runbooks/DR-təlimlər.
  • RPS/latency, cost-dashboard və chargeback.
  • Slays-monitorinq fairness, WORM-relizlər arxivi.
Faza 3 (12-20 həftə):
  • Count serving (namizədlər → re-rank), slate-log propensiti.
  • Multi-region, ayrı açarları ilə rezidentlik (EEA/UK/BR).
  • Auto-perekat/drift, autogen keyfiyyət hesabatları/kalibrləmə.

18) Hazırlıq yoxlama siyahısı

  • Model kartı doldurulur; data/fich/kalibrləmə/eşik versiyası.
  • Fich müqavilələri və online/offline ekvivalent testi - yaşıl.
  • SLO: p95, 5xx, coverage - gölgədə yaşıl və 10% canary ≥ 24 saat.
  • Alerts və dashbords (gizli/səhvlər/drift/expected-cost) daxildir.
  • Guardrails RG/AML və həll auditləri aktivdir; PII/rezidentlik qorunur.
  • Bir-click rollback və runbook hadisələr test edilmişdir.
  • Xərclər büdcəyə uyğundur; HPA və cache özelleştirilmiş.

19) Anti-nümunələr və risklər

Reyestr və immutable artefaktlar olmadan əl çıxarılması.
Razılaşdırılmamış online/offline ficies → məhsulda uyğunsuzluqlar.
No shadow/canary → gizli reqressiya.
Eşik expected cost deyil, heç bir kalibrasiya.
Vaxt/cache olmadan sinxron xarici lookups.
No DR/rollback, No WORM-reliz arxivi.

20) Yekun

ML istehsalı «model çağırışı» deyil, mühəndislik platformasıdır: reyestr və versiyalar, təhlükəsiz çıxışlar (shadow/canary/blue-green), fich və kalibrləmə intizamı, müşahidə və SLO, RG/AML üçün qoruyucular və aydın geri dönüş planı. Bu pleybuku izlədikdən sonra, davamlı olaraq nəzarət olunan dəyərlə biznes dəyəri gətirən sürətli, etibarlı və komplayent bir inferens əldə edəcəksiniz.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.