Logo GH

ML моделдерин жайгаштыруу

1) ролу жана максаттары

Жайгаштыруу = RG/AML/Юридикалык жана бюджеттерди сактоо менен продукт жана иш-жылы ишенимдүү жеткирүү.
Максаттары: төмөн латенттүүлүк, жогорку жеткиликтүүлүк, кайра ойнотуу, коопсуздук жана тез артка кайтаруу (rollback).

2) Архитектура Serving

2. 1 Үлгүлөр

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

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

Single Model Service → жөнөкөй жана тез.
Ensemble/Graph (router → preprocess → model → postprocess) → татаал пайплайн.
Sidecar Feature Fetcher → кэшден онлайн чүчүкулак чыгарат (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"]
Server (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 жана автоскейлинг

Деплоймент (фрагмент):
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) Онлайн/оффлайн чүчүкулак: эквиваленттүүлүк

Трансформациялардын бирдиктүү китепканасы жана Feature Store (онлайн + оффлайн).
Эквиваленттик сыноо: MAE/MAPE онлайн жана эталондук үлгүдөгү оффлайн стандарттын ортосунда.
Cache fich: Redis/Scylla, терезе белгилери үчүн TTL; тайм жана fallbacks.

8) байкоо, SLO жана alerting

8. 1 SLI/SLO багыттары

Жашыруун: p95 ≤ 150 мс (жекелештирүү), p99 ≤ 300 мс; RG/AML Алерт ≤ 5 менен end-to-end.
Жеткиликтүү: ≥ 99. 9%.
жүрөктүн катасы: ≤ 0. 5% 5xx; coverage ≥ 99%.
Дрейф: PSI fich/skora <босого, 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 коопсуздук жана коопсуздук саясаты

Pre-/Post-filter: тыюу салынган иш-маска (көрсөтүү жыштыгы, cooldown, агрессивдүү offers тыюу).
Policy Shielding: RG → жумшак интервенция/тыныгуу босогосунан жогору ылдамдык.
Аудит: логин 'policy _ id', 'propensity', 'mask', 'decision', 'reason'.
PII жана резиденттүүлүк: ЭЭА/UK/BR боюнча ID, жеке шифрлөө жана кластердин ордуна белгилер; негизсиз кросс-региондук join's тыюу салуу.
Secrets: 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) Наркы-инженердик жана аткаруу

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

13) Коопсуз релиздер жана шайкештик

Прод-даярдык критерийлери: SLO shadow жашыл, эч кандай дрейф/агып, картаны модели толтурулган, нормалдуу fairness-слайддар.
жөнгө салуучу: WORM-релизи Archive (салмагы, калибрлөө, босоголор, өлчөө, сыноо Логи), өзгөрүлбөс экспорттук отчеттор.
DSAR/RTBF: кэштерден/логдордон/fich белгилүү бир колдонуучунун изин алып салуу жол-жоболору.

14) сордуруп чейин QA

Интеграциялык тесттер: API келишими, схемалар, "бош/экстремалдык" учурлар.
Жүк: p99, куйруктары бөлүштүрүү, бурст-трафик.
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}
Ден соолук модели (EndPoint):
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-ишке мониторинг p95/5xx/drift, сыноо барабар fich.

3. Canary 10% → 50% → 100% autoscript кайтаруу жана alerts менен.

4. Карта модели, калибрлөө, expected-cost босого жана Guardrails v1.

2-этап (6-12 жума):
  • Фича-кэш, circuit breakers, runbooks/DR-машыгуулар.
  • Автоскейлинг боюнча RPS/latency, cost-dashboard жана chargeback.
  • Слайс мониторинг fairness, WORM-релиздер архиви.
Этап 3 (12-20 жума):
  • Count Serving (талапкерлер → re-rank), slate-логин пропенсити.
  • Көп аймак, резиденттүүлүк (EEA/UK/BR) өзүнчө ачкычтар менен.
  • Auto-жылдыруу/drift, autogenic сапаты отчеттор/калибрлөө.

18) Прод-даярдыктын чек-тизмеси

  • Модель картасы толтурулган; маалыматтар/чиптер/калибрлөө/босоголор версияланган.
  • Fich келишимдер жана онлайн/offline барабар сыноо - жашыл.
  • SLO: p95, 5xx, coverage - жашыл көлөкө жана 10% canary ≥ 24 саат.
  • Алерт жана dashboard (жашыруун/каталар/drift/expected-cost) кирет.
  • Guardrails RG/AML жана чечимдерди текшерүү активдүү; PII/резиденттүүлүк сакталат.
  • Бир-click rollback жана runbook окуялар сыналган.
  • наркы бюджетке туура келет; HPA жана кэш орнотулган.

19) Анти-үлгүлөрү жана тобокелдиктер

Реестрсиз жана иммутабелдүү артефактсыз кол менен чыгаруулар.
Макулдашылбаган онлайн/оффлайн чүчүкулак → продукт айырмачылыктар.
Жок shadow/canary → жашыруун регрессия.
босого expected cost эмес, эч кандай калибрлөө.
убакыт/кэш жок синхрондуу тышкы lookups.
Эч кандай DR/rollback, эч кандай WORM-релиз Archive.

20) Жыйынтык

ML Production "чакырык модели" эмес, жана инженердик платформа болуп саналат: реестр жана нускалары, коопсуз кайра (shadow/canary/blue-green), тартип fich жана калибрлөө, байкоо жана SLO, RG/AML үчүн guardrails жана так кайра план. Бул ойнотмо ээрчип, Сиз туруктуу контролдонуучу наркы менен бизнес баалуулугун алып тез, ишенимдүү жана комплаенс inference алат.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.