Logo GH

ML үлгілерін орналастыру

1) Рөлі мен мақсаттары

Өрістету = RG/AML/Legal және бюджеттерді сақтай отырып, инференсті өнімге және операцияларға сенімді жеткізу.
Мақсаттары: төмен жасырындылық, жоғары қолжетімділік, қайталану, қауіпсіздік және жылдам қайтымдылық (rollback).

2) Сервинг сәулеті

2. 1 Үлгілер

Online (real-time): REST/gRPC, p95 персоналдандыру үшін 50-150 мс; RG/AML-алерттер үшін 2-5 с ≤.
Near-real-time: микробатчи 1-5 мин (OLAP-витриналар).
Batch/offline: Gold түнгі витриналар, реттегіш үшін WORM-экспорт.
In-process scoring: лайт моделін сервиске кірістіру (төмен кідіріс).
Serverless: сирек тапсырмалар үшін суық бастау функциялары.

2. 2 Топологиялар

Single Model Service → оңай және жылдам.
Ensemble/Graph (router → preprocess → model → postprocess) → күрделі пайплайндар.
Sidecar Feature Fetcher → кэштен online-фичтерді шығарады (Redis/Scylla).

3) Модельдік тізілім және нұсқалар

Registry: 'model _ id', 'version', 'stage = {Staging, Production, Archived}', артефакттар (салмақтар, препроцессор, калибрлеу), талаптар (CPU/GPU/жад), модель карточкасы (деректер, метрика, тәуекелдер, fairness).
Иммутабельді артефактілер: content-hash; WORM көшірмелері.
Шығару саясаты: тек тізілім және декларативтік манифесттер арқылы.

4) Контейнерлеу және орау

Dockerfile (нобай):
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"]
Сервер (FastAPI + gRPC, идея):
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 және автоскейлинг

Deployment (үзік):
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 бойынша):
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) Қайтарып алу стратегиялары

Shadow (қараңғы іске қосу): жаңа үлгі сұраулардың көшірмелерін өңдейді, жауаптар еленбейді; метриканы/жасырындылықты/құнды салыстыру.
Canary: 1-10% трафик → 25% → 50% → 100% жасыл SLO; тозу кезінде автоматты түрде домалату.
Blue-Green: параллель ағындар; жедел бағыттау свитші.
Gradual Feature Flag: нарықтар/тенанттар/құрылғылар бойынша бағыттау.
A/B/n: sequential testing бар онлайн эксперименттер.

Бағыттау (идея):
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 фичтері: баламалылығы

Бірыңғай трансформациялар кітапханасы және Feature Store (online + offline).
Баламалық тест: онлайн-фич пен эталондық іріктемедегі офлайн-эталон арасындағы MAE/MAPE.
Кэш фич: Redis/Scylla, терезе белгілеріне арналған TTL; таймауттар мен fallbacks.

8) Бақылау, SLO және алертинг

8. 1 SLI/SLO бағдарлары

Жасырындылығы: p95 ≤ 150 мс (дербестендіру), p99 ≤ 300 мс; RG/AML алерты ≤ 5 с end-to-end.
Қолжетімділік: 99 ≥. 9%.
Инференс қатесі: ≤ 0. 5% 5xx; coverage ≥ 99%.
Дрейф: PSI фич/скора <табалдырық, ECE (калибрлеу) тұрақты.
Бизнес: uplift Net Revenue, fraud saved, time-to-intervene.

8. 2 Өлшемдер (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
Алерталар (фрагмент):
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 және қауіпсіздік саясаты

Pre-/Post-filter: тыйым салынған әрекеттер маскалары (көрсету жиілігі, cooldown, агрессивті офферлерге тыйым салу).
Policy Shielding: RG → жұмсақ интервенция/үзіліс табалдырығынан жоғары.
Аудит: 'policy _ id', 'propensity', 'mask', 'decision', 'reason'.
PII және резиденттілік: ID орнына токендер, EEA/UK/BR-дағы жеке шифрлау және кластер кілттері; негізсіз кросс-өңірлік join 'оларға тыйым салу.
Құпиялар: KMS/CMK, Secret Manager; логдарда/трестерде PII жоқ.

10) Калибрлеу, табалдырықтар және шешімдер саясаты

Калибрлеу (Platt/Isotonic) артефакт ретінде.
expected cost бойынша шегі; тізілімде/фича-жалауда конфигурацияланатын.
Safety caps: әрекеттің жоғарғы/төменгі шегі, комплаенс үшін қолмен override.

11) Кері қайту, тозу және DR

One-click rollback: бағытты алдыңғы 'model _ version' дегенге ауыстыру.
Runbook: сценарийлер «жасырындылық ↑», «қателер 5xx ↑», «дрейф/калибрлеу сынған», «сыртқы фич-провайдер қол жетімді емес».
Ақауларды оқшаулау: circuit breaker, retry/backoff, соңғы валидті шешімнің кэші.
DR: артефактілердің/тізілімнің бэкаптары, «жылы» аймаққа репликалау, оқу-жаттығулар.

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

12) Cost-инжиниринг және өнімділік

Жолды бейіндеу: фичи (30-60%), модель (20-40%), желі/IO (10-30%).
Құнын төмендету: ыстық фичтерді кэштеу, реплеяларға квоталар, lightweight-модельдер, INT8/FP16 (егер орынды болса), lazy-postprocess.
RPS/CPU/latency үшін HPA, стрим-фичте state-size шектеу.
Chargeback: cost/request, cost/feature; нарықтарға/командаларға арналған бюджеттер.

13) Қауіпсіз релиздер және сәйкестігі

Өнімділік-дайындық критерийлері: SLO shadow-да жасыл, дрейф/ағым жоқ, модель карточкасы толтырылған, fairness-слайстар қалыпты.
Реттегіш: WORM-релиз мұрағаты (салмақ, калибрлеу, табалдырықтар, өлшемдер, тест логтары), өзгермейтін экспорттық есептер.
DSAR/RTBF: кэштерден/лог/фич.

14) QA домалату алдында

Интеграциялық тесттер: келісімшарт API, сызбалар, «бос/шеткі» кейстер.
Жүктемелі: p99, бөлу қалдықтары, burst-трафик.
Баламалық тест online/offline.
Chaos-тесттер: фич-кэшті/базаны өшіру, сыртқы сервистердің таймауттары.

15) Конфигурация мысалдары

Канареялық маршрутизациясы бар Ingress (идея):
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}
Модель денсаулығы (эндпоинт):
python
@app. get("/healthz")
def health():
return {"ok": True, "model_version": "1. 8. 3", "registry_sig_ok": verify_signature()}

16) Процестер және RACI

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

17) Енгізу жол картасы

MVP (3-6 апта):

1. Модельдік тізілім және иммутабельді артефактілер; FastAPI/gRPC-сервис + K8s/Helm.

2. Shadow-мониторинг р95/5хх/дрейфі бар ұшыру, фич.

3. Canary 10% → 50% → 100% автоскрипт пен алертпен.

4. Модель карточкасы, калибрлеу, expected-cost табалдырығы және Guardrails v1.

2-фаза (6-12 апта):
  • Фича-кэш, circuit breakers, runbooks/DR-жаттығулар.
  • Автоскейлинг RPS/latency, cost-дашборд және chargeback.
  • Fairness слайс-мониторингі, WORM-релиздер мұрағаты.
3-фаза (12-20 апта):
  • Сервинг бағаны (кандидаттар → re-rank), пропенситті slate-логирлеу.
  • Жеке кілттері бар көп өңір, резиденттік (ЕЭА/UK/BR).
  • Сапа/калибрлеу есептерінің автогені, дрейфі бойынша автоматтандырылған/аударылған.

18) Өнiм дайындығының чек-парағы

  • Модель карточкасы толтырылған; деректер/фичтер/калибрлеу/табалдырықтар нұсқаланған.
  • Келісімшарттар фич және online/offline баламалық тесті - жасыл.
  • SLO: p95, 5xx, coverage - shadow жасыл және 10% canary ≥ 24 сағ.
  • Алерттар мен дашбордтар (жасырындылық/қателер/дрейф/expected-cost) қосылған.
  • Guardrails RG/AML және шешімдердің аудиттері белсенді; PII/резиденттік сақталған.
  • One-click rollback және runbook оқиғалар сыналған.
  • Құны бюджетке жазылады; HPA және кэш теңшелді.

19) Анти-паттерндер және тәуекелдер

Тізілімсіз және иммутабельді артефактілерсіз қолмен шығару.
Келісілмеген online/offline фичи → өнімдегі алшақтықтар.
shadow/canary → жасырын регрессия жоқ.
Шекті expected cost бойынша емес, калибрлеу жоқ.
Таймаусыз/кэшсіз синхронды сыртқы lookups.
DR/rollback жоқ, WORM архиві жоқ.

20) Қорытынды

ML шығарылымы - бұл «модельді шақыру» емес, инженерлік платформа: тізілім және нұсқалар, қауіпсіз шығулар (shadow/canary/blue-green), фич және калибрлеу тәртібі, бақылау және SLO, RG/AML үшін guardrails және нақты кері қайтару жоспары. Осы плейбукке сүйене отырып, сіз тез, сенімді және комплаентті инференске ие боласыз, ол тұрақты түрде бақыланатын құнмен бизнес-құндылық әкеледі.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.