Logo GH

Ҷойгиркунии моделҳои ML

1) Нақш ва ҳадафҳо

Ҷойгиркунӣ = Таҳвили боэътимод ба маҳсулот ва амалиёт ҳангоми қонеъ кардани RG/AML/ҳуқуқӣ ва буҷа.
Ҳадафҳо: таъхири кам, дастрасии баланд, репродуктивӣ, бехатарӣ ва суръати тез.

2) Хизматрасонии меъморӣ

2. 1 Намунаҳо

Онлайн (дар вақти воқеӣ): REST/gRPC, p95 50-150 ms барои фардикунонӣ; ≤ 2 -5 s барои огоҳиҳои RG/AML.
Вақти воқеӣ: микро-бозии 1-5 дақиқа (OLAP-намоишҳо).
Партия/офлайн: Намоишҳои шаби тиллоӣ, содироти WORM барои танзимгар.
Баҳодиҳии ҷараён: ворид кардани модели нур ба хидмат (таъхири кам).
Serverless: хусусиятҳои оғози хунук барои вазифаҳои нодир.

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

Хадамоти ягонаи моделӣ → оддӣ ва зуд.
Ансамбль/График (роутер → preprocess → model → postprocess) → қубурҳои мураккаб.
Sidecar Feature Fetcher → хусусиятҳои онлайнро аз кэшҳо мегирад (Редис/Скилла).

3) Сабти моделҳо ва версияҳо

Феҳрист: 'model _ id', 'version', 'stage = {Марҳила, Истеҳсол, бойгонӣ}', артефактҳо (вазн, протсессор, калибрченкунӣ), талабот (CPU/GPU/хотира), корти намунавӣ (маълумот, ченакҳо, хатарҳо, адолат).
Артефактҳои тағйирнопазир: мундариҷа-ҳаш; Нусхаҳои 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"]

Сервер (Fast

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) Кубернетес/Ҳелм ва Автоскалинг

Ҷойгиркунӣ (порча):
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) Стратегияҳои паҳнкунӣ

Соя: модели нав нусхаҳои дархостҳоро коркард мекунад, ҷавобҳо нодида гирифта мешаванд; муқоисаи ченакҳо/ниҳонӣ/арзиш.
Канария: 1-10% трафик → 25% → 50% → 100% бо SLO-ҳои сабз; бозгашти худкор ба таназзул.
Кабуд-Сабз: стекҳои параллелӣ; гузариши фаврии масир.
Парчами тадриҷии хусусият: Масири бозор/иҷорагир/дастгоҳ.
A/B/n: таҷрибаҳои онлайн бо санҷиши пайдарпай.

Масир (идея):
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) Хусусияти онлайн/офлайн: эквивалент

Китобхонаи ягонаи трансформатсия ва мағозаи хусусият (онлайн + офлайн).
Санҷиши эквивалентӣ: MAE/MAPE байни хусусиятҳои онлайн ва истинодҳои офлайнӣ дар намунаҳои истинод.
Хусусияти кэш: Redis/Scylla, TTL барои хусусиятҳои тиреза; танаффус ва камбудиҳо.

8) Мушоҳида, SLO ва ҳушдордиҳӣ

8. 1 Нишондиҳандаҳои SLI/SLO

Таъхир: p95 ≤ 150 ms (фардикунонӣ), p99 ≤ 300 ms; Огоҳии RG/AML ≤ 5 бо хотима.
Мавҷудият: ≥ 99. 9%.
Хулосаи хато: ≤ 0. 5% 5xx; фарогирӣ ≥ 99%.
Дрифт: Хусусияти PSI <ҳадди ниҳоӣ, ECE (калибрченкунӣ) устувор аст.
Бизнес: боло бурдани даромади холис, қаллобӣ сарфа, мудохилаи вақт.

8. 2 Метрика (Прометей)

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

Трейсинг: Open. Telemetry - span 'suy' feature _ fetch ',' хол ',' postprocess ',' Guardrail '.

9) Гвардияи RG/AML ва сиёсати амният

Филтри пешакӣ/пас аз филтр: ниқобҳои амалҳои манъшуда (басомади таассурот, сардшавӣ, манъи пешниҳодҳои хашмгин).
Муҳофизати сиёсат: суръат аз ҳадди RG → дахолати мулоим/таваққуф.
Аудит: сабти 'policy _ id', 'майл', 'ниқоб', 'қарор', 'сабаб'.
PII ва истиқомат: нишонаҳо ба ҷои ID, калидҳои алоҳида ва кластерҳо дар EEA/UK/BR; манъи пайвастшавӣ ба минтақа бидуни асос.
Асрҳо: KMS/CMK, Менеҷери Махфӣ; PII дар гузоришҳо/роҳҳо нест.

10) Калибрченкунӣ, ҳудудҳо ва сиёсати қарор

Калибрченкунӣ (Платт/Изотоникӣ) ҳамчун артефакт.
Ҳадди ниҳоӣ бо арзиши пешбинишуда; танзимшаванда дар парчами сабти ном/хусусият.
Сарпӯшҳои бехатарӣ: маҳдудиятҳои амали болоӣ/поёнӣ, дастӣ барои мувофиқат бекор карда мешаванд.

11) Рӯйдодҳо, таназзул ва DR

Бозгашти як клик - Хатсайрро ба 'model _ version' -и қаблӣ иваз мекунад.
Runbook: скриптҳои "latentnost *", "5xx) хатогиҳо", "дрифт/калибрченкунӣ шикастанд", "провайдери хусусияти беруна дастнорас".
Ҷудокунии хатогӣ: вайронкунандаи ноҳиявӣ, такрорӣ/ақибмонӣ, кэши ҳалли охирини эътибор.
DR: нусхаҳои артефактҳо/феҳристҳо, нусхабардорӣ ба минтақаи "гарм", машқҳо.

Қатъи гардиш (псевдокод):
python try:
features = fetch_features(timeout=30)
except TimeoutError:
features = last_known_good(user_id) # fallback

12) Муҳандисӣ ва иҷрои хароҷот

Профили роҳ: хусусиятҳо (30-60%), модел (20-40%), шабака/IO (10-30%).
Кам кардани хароҷот: кэши хусусиятҳои гарм, квотаи такрорӣ, моделҳои сабук, INT8/FP16 (агар лозим бошад), танбалӣ-постпросесс.
HPA оид ба RPS/CPU/ниҳонӣ, маҳдудияти андозаи давлатӣ дар хусусияти ҷараён.
Пардохт: арзиш/дархост, арзиш/хусусият; буҷа барои бозорҳо/дастаҳо.

13) Варақаҳои бехатар ва мувофиқат

Меъёрҳои омодагии маҳсулот: SLO сабз дар соя, ғусса/ихроҷ нест, корти намунавӣ пур аст, иловаро одилона муқаррарӣ аст.
Танзимкунанда: WORM-бойгонии озодкунӣ (вазнҳо, калибрченкунӣ, ҳудудҳо, ченакҳо, гузоришҳои санҷишӣ), гузоришҳои тағйирнопазири содирот.
DSAR/RTBF: тартиби аз байн бурдани нишонаҳои корбари мушаххас аз кэш/гузоришҳо/хусусиятҳо.

14) QA пеш аз ролик

Санҷишҳои ҳамгироӣ: шартномаи API, диаграммаҳои хос, ҳолатҳои холӣ/шадид.
Сарборӣ: p99, думҳои тақсимот, ҳаракати нақлиёт.
Санҷиши эквиваленти онлайн/офлайн.
Санҷишҳои бесарусомонӣ: хомӯш кардани хусусияти кэш/пойгоҳ, таъхири хидматҳои беруна.

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 (Масъул): MLOps (хидматрасонӣ/оркестр/мушоҳида), Data Eng (хусусиятҳо/кэшҳо/шартномаҳо), Илми маълумот (кортҳои намунавӣ/калибрченкунӣ/ҳудудҳо).
A (Ҳисоботдиҳанда): Роҳбари маълумот/CDO.
C (Машварат): Мувофиқат/DPO (PII/RG/AML/DSAR), Амният (KMS/Асрҳо/Аудит), SRE (SLO/Ҳодисаҳо), Молия (ROI/Буҷаҳо).
I (Маълумот): Маҳсулот/Маркетинг/Амалиёт/Дастгирӣ.

17) Харитаи роҳсозӣ

MVP (3-6 ҳафта):

1. Феҳристи намунавӣ ва артефактҳои тағйирнопазир; Хидмати Fast-API/GRPC + K8s/Helm.

2. Оғози соя бо мониторинги p95/5xx/drift, санҷиши эквиваленти хусусият.

3. Canary 10% → 50% → 100% бо баргардонидани худкори скрипт ва огоҳиҳо.

4. Корти намунавӣ, калибрченкунӣ, ҳадди интизорраванда ва Guardrails v1.

Марҳилаи 2 (6-12 ҳафта):
  • Хусусияти кэш, схемаҳо, дафтарчаҳо/машқҳои DR.
  • Autoscaling оид ба RPS/ниҳонӣ, панели хароҷот ва пардохт.
  • Мониторинги буридаи одилона, бойгонии WORM.
Марҳилаи 3 (12-20 ҳафта):
  • Графикаи хидматрасонӣ (номзадҳо → аз нав дараҷа), майли шифер.
  • Бисёр минтақаҳо, истиқомат (EEA/UK/BR) бо калидҳои инфиродӣ.
  • Ҳисоботи худкор/overdrive, сифати автоген/калибрченкунӣ.

18) Рӯйхати назорати таҳвил

  • Корти намунавӣ пур аст; маълумот/хусусиятҳо/калибрченкунӣ/ҳудудҳо санҷида мешаванд.
  • Хусусияти шартномаҳо ва санҷиши эквиваленти онлайн/офлайнӣ сабз мебошанд.
  • SLO: p95, 5xx, фарогирӣ - сабз дар соя ва 10% канарӣ ≥ 24 соат.
  • Огоҳиҳо ва панели панелҳо (таъхир/хатогиҳо/дрифт/арзиши пешбинишуда) дохил карда мешаванд.
  • Гвардиячиёни RG/AML ва аудити ҳалли онҳо фаъоланд; PII/истиқомат мулоқот карданд.
  • Ҳодисаҳои як клик ва дафтарчаи санҷишӣ санҷида шуданд.
  • Хароҷот ба буҷа мувофиқат мекунад; HPA ва кэш танзим карда мешаванд.

19) Анти-намунаҳо ва хатарҳо

Тарҳҳои дастӣ бидуни сабти ном ва артефактҳои тағйирнопазир.
Хусусиятҳои номувофиқи онлайн/офлайнӣ → номувофиқатӣ дар фурӯш.
Не соя/канарӣ → регрессияи пинҳон.
Ҳадди ниҳоӣ интизор нест, калибрченкунӣ вуҷуд надорад.
Ҷустуҷӯи берунаи синхронӣ бидуни танаффус/кэш.
Не DR/rollback, ягон бойгонии баромади WORM нест.

20) Сатри поён

Истеҳсоли ML на "мушкилоти моделӣ", балки платформаи муҳандисӣ мебошад: феҳрист ва версияҳо, тарҳҳои бехатар (соя/канарӣ/кабуд-сабз), интизоми хусусият ва калибрченкунӣ, мушоҳида ва SLO, посбонҳо барои RG/AML ва нақшаи равшани бозгашт. Бо пайравӣ аз ин китоби бозӣ, шумо як хулосаи зуд, боэътимод ва мувофиқро мегиред, ки пайваста арзиши тиҷоратро бо арзиши назоратшаванда таъмин мекунад.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Telegram
@Gamble_GC
Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.