एमएल मॉडल तैनात करना
1) भूमिका और लक्ष्य
तैनाती = आरजी/एएमएल/कानूनी और बजट की बैठक करते हुए उत्पाद और संचालन के लिए मज़बूती से अनुमान वितरित करें।
उद्देश्य: कम विलंबता, उच्च उपलब्धता, प्रजनन योग्यता, सुरक्षा और तेजी से रोलबैक।
2) वास्तुशिल्प की सेवा करना
2. 1 पैटर्न
ऑनलाइन (वास्तविक समय): REST/gRPC, निजीकरण के लिए p95 50-150 ms; RG/AML अलर्ट के लिए ≤2 -5 s।
नियर-रियल-टाइम: माइक्रो-मैच 1-5 मिनट (OLAP-शोकेस)।
बैच/ऑफ़लाइन: गोल्ड नाइट शोकेस, WORM नियामक के लिए निर्यात करता है।
इन-प्रक्रिया स्कोरिंग: प्रकाश मॉडल को सेवा (कम विलंबता) में एम्बेड करना।
सीवरलेस: दुर्लभ कार्यों के लिए ठंडी शुरुआत सुविधाएँ।
2. 2 टोपोलॉजी
एकल मॉडल सेवा - सरल और तेज।
पहनावा/ग्राफ (राउटर → प्रीप्रोसेस → मॉडल → पोस्टप्रोसेस) → जटिल पाइपलाइनें।
Sidecar Featcher → कैश (Redis/Scylla) से ऑनलाइन सुविधाएँ खींचता है।
3) मॉडल रजिस्टर और संस्करण
रजिस्ट्री: 'मॉडल _ आईडी', 'संस्करण', 'चरण = {स्टेज, उत्पादन, संग्रह}', कलाकृतियां (वजन, प्रीप्रोसेसर, अंशांकन), आवश्यकताएं (सीपीयू/जीपीयू/मेमोरी), मॉडल कार्ड (डेटा, मैट्रिक्स, जोखिम, निष्स)।
अपरिवर्तनीय कलाकृतियाँ: सामग्री-हैश; WORM रिलीज की प्रतियां।
आउटपुट नीति: केवल रजिस्ट्री और घोषणात्मक प्रकट के माध्यम से।
4) कंटेनराइजेशन और पैकेजिंग
डॉकरफाइल: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) कुबर्नेट्स/हेल्म और ऑटोस्कलिंग
तैनाती (टुकड़ा):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}
एचपीए (आरपीएस/सीपीयू द्वारा):
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%; गिरावट पर स्वचालित रोलबैक।
ब्लू-ग्रीन: समानांतर ढेर; त्वरित रूटिंग स्विच।
क्रमिक सुविधा ध्वज: बाजार/किरायेदार/उपकरण रूटिंग।
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) अवलोकन, एसएलओ और सतर्कता
8. 1 SLI/SLO बेंचमार्क
विलंबता: p95 ≤ 150 ms (निजीकरण), p99 ≤ 300 ms; आरजी/एएमएल अलर्ट ≤ 5 एंड-टू-एंड के साथ।
उपलब्धता: ≥ 99। 9%.
त्रुटि निष्कर्ष: ≤ 0। 5% 5xx; कवरेज ≥ 99%।
बहाव: पीएसआई विशेषता/दर <दहलीज, ईसीई (अंशांकन) स्थिर है।
Бизнес: नेट रेवेन्यू का उत्थान, धोखाधड़ी से बचाया, समय-से-हस्तक्षेप।
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
Трейсинг: OpenTelemetry - span'ы 'feath _ featch', 'स्कोर', 'पोस्टप्रोसेस', 'रेलिंग'।
9) आरजी/एएमएल रेलिंग और सुरक्षा नीति
प्री-/पोस्ट-फ़िल्टर: निषिद्ध कार्यों के मुखौटे (छापों की आवृत्ति, शीतलन, आक्रामक प्रस्तावों का निषेध)।
नीति परिरक्षण: आरजी सीमा के ऊपर गति → नरम हस्तक्षेप/ठहराव।
ऑडिट: लॉगिंग 'पॉलिसी _ आईडी', 'प्रवृत्ति', 'मास्क', 'निर्णय', 'कारण'।
पीआईआई और रेजिडेंसी: आईडी के बजाय टोकन, ईईए/यूके/बीआर पर अलग एन्क्रिप्शन और क्लस्टर कुंजी; क्रॉस-रीजन पर प्रतिबंध लगाना औचित्य के बिना जुड़ ता है।
राज: केएमएस/सीएमके, सीक्रेट मैनेजर; लॉग/ट्रैक में कोई पीआईआई नहीं।
10) कैलिब्रेशन, थ्रेसहोल्ड और निर्णय नीति
कलाकृति के रूप में अंशांकन (प्लाट/आइसोटोनिक)।
अपेक्षित लागत से दहलीज; रजिस्ट्री/सुविधा ध्वज में विन्यस्त।
सुरक्षा कैप: ऊपरी/कम कार्रवाई सीमा, अनुपालन के लिए मैनुअल ओवरराइड।
11) रोलबैक, गिरावट और डीआर
वन-क्लिक रोलबैक - मार्ग को पिछले 'मॉडल _ संस्करण' में बदल देता है।
रनबुक: स्क्रिप्ट "latentnost↑", "5xx↑ त्रुटियां", "बहाव/अंशांकन टूट गया", "बाहरी सुविधा प्रदाता अनुपलब्ध"।
गलती अलगाव: सर्किट ब्रेकर, रीट्री/बैकऑफ, अंतिम वैध समाधान का कैश।
डीआर: कलाकृतियों/रजिस्ट्री का बैकअप, "गर्म" क्षेत्र की प्रतिकृति, अभ्यास।
सर्किट ब्रेकर (स्यूडोकोड):python try:
features = fetch_features(timeout=30)
except TimeoutError:
features = last_known_good(user_id) # fallback
12) लागत इंजीनियरिंग और प्रदर्शन
पथ प्रोफाइलिंग: सुविधाएँ (30-60%), मॉडल (20-40%), नेटवर्क/आईओ (10-30%)।
लागत में कमी: गर्म सुविधाओं, रीप्ले कोटा, हल्के मॉडल, INT8/FP16 (यदि उपयुक्त हो), आलसी-पोस्टप्रोसेस को कैश करना।
आरपीएस/सीपीयू/विलंबता पर एचपीए, स्ट्रीम फीचर पर राज्य-आकार प्रतिबंध।
चार्जबैक: लागत/अनुरोध, लागत/सुविधा; बाजारों/टीमों के लिए बजट।
13) सुरक्षित रिलीज और अनुपालन
उत्पाद तत्परता मानदंड: छाया पर एसएलओ हरा, कोई बहाव/रिसाव नहीं, मॉडल कार्ड भरा हुआ है, निष्पक्षता स्लाइस सामान्य हैं।
नियामक: रिलीज का WORM-संग्रह (वजन, अंशांकन, थ्रेसहोल्ड, मेट्रिक्स, परीक्षण लॉग), अपरिवर्तनीय निर्यात रिपोर्ट।
DSAR/RTBF: कैश/लॉग/फीचर्स से किसी विशिष्ट उपयोगकर्ता के निशान हटाने की प्रक्रिया।
14) रोल आउट करने से पहले क्यूए
एकीकरण परीक्षण: एपीआई अनुबंध, सुविधा आरेख, खाली/चरम मामले।
लोड: p99, वितरण पूंछ, फट यातायात।
ऑनलाइन/ऑफ़लाइन समतुल्यता परीक्षण।
अराजकता परीक्षण: फीचर कैश/बेस को बंद करना, बाहरी सेवाओं का समय।
15) कॉन्फ़िगरेशन उदाहरण
कैनरी रूटिंग के साथ अंतर्ग्रेस (विचार):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) प्रक्रियाएं और आरएसीआई
आर (जिम्मेदार): MLOps (सेवारत/ऑर्केस्ट्रेशन/अवलोकन), डेटा इंग (सुविधाएँ/कैश/अनुबंध), डेटा विज्ञान (मॉडल कार्ड/अंशांकन/थ्रेसहोल्ड)।
ए (जवाबदेह): डेटा के प्रमुख/सीडीओ।
सी (परामर्श): अनुपालन/डीपीओ (पीआईआई/आरजी/एएमएल/डीएसएआर), सुरक्षा (केएमएस/रहस्य/लेखा परीक्षा), एसआरई (एसएलओ/घटनाएं), वित्त (आरओआई/बजट)।
I (सूचित): उत्पाद/विपणन/संचालन/सहायता।
17) कार्यान्वयन रोडमैप
एमवीपी (3-6 सप्ताह):1. मॉडल रजिस्ट्री और अपरिवर्तनीय कलाकृतियां; FastAPI/gRPC सेवा + K8s/Helm।
2. P95/5xx/बहाव निगरानी के साथ छाया लॉन्च, समानता परीक्षण की सुविधा।
3. ऑटो-स्क्रिप्ट रोलबैक और अलर्ट के साथ कैनरी 10% → 50% → 100%।
4. मॉडल कार्ड, अंशांकन, अपेक्षित-लागत सीमा और गार्ड v1।
चरण 2 (6-12 सप्ताह):- फीचर कैश, सर्किट ब्रेकर, रनबुक/डीआर अभ्यास।
- आरपीएस/विलंबता, लागत-डैशबोर्ड और चार्जबैक पर ऑटोस्कलिंग।
- निष्पक्षता स्लाइस मॉनिटरिंग, WORM रिलीज़ संग्रह।
- सेवारत (उम्मीदवारों → री-रैंक), स्लेट-लॉगिंग प्रवृत्ति का ग्राफ।
- व्यक्तिगत कुंजी के साथ बहु-क्षेत्र, निवास (EEA/UK/BR)।
- ऑटो-रोल/ओवरड्राइव, ऑटोजीन गुणवत्ता/अंशांकन रिपोर्ट।
18) डिलीवरी चेकलिस्ट
- मॉडल कार्ड भरा हुआ है; डेटा/सुविधाएँ/अंशांकन/थ्रेसहोल्ड बहुत लंबवत हैं।
- अनुबंध सुविधा और ऑनलाइन/ऑफ़लाइन समतुल्यता परीक्षण हरे रंग के हैं।
- SLO: p95, 5xx, कवरेज - छाया पर हरा और 10% कैनरी ≥ 24 h।
- अलर्ट और डैशबोर्ड (विलंबता/त्रुटियां/बहाव/अपेक्षित-लागत) शामिल हैं।
- गार्ड आरजी/एएमएल और समाधान ऑडिट सक्रिय हैं; पीआईआई/रेजीडेंसी से मुलाकात हुई।
- वन-क्लिक रोलबैक और रनबुक घटनाओं का परीक्षण किया।
- लागत बजट में फिट बैठती है; एचपीए और कैश कॉन्फ़िगर किए गए हैं।
19) एंटी-पैटर्न और जोखिम
रजिस्ट्री और अपरिवर्तनीय कलाकृतियों के बिना मैनुअल रोलआउट।
असंगत ऑनलाइन/ऑफ़लाइन सुविधाएँ - बिक्री में विसंगतियाँ।
कोई छाया/कैनरी → छिपे हुए रीग्रेशन नहीं।
सीमा की अपेक्षा लागत नहीं है, कोई अंशांकन नहीं है।
टाइमआउट/कैश के बिना तुल्यकालिक बाहरी लुकअप।
कोई DR/रोलबैक, कोई WORM रिलीज़ आर्काइव नहीं।
20) नीचे की रेखा
एमएल उत्पादन एक "मॉडल चुनौती" नहीं है, बल्कि एक इंजीनियरिंग मंच है: रजिस्ट्री और संस्करण, सुरक्षित रोलआउट (छाया/कैनरी/ब्लू-ग्रीन), सुविधा और अंशांकन अनुशासन, अवलोकन और एसएलओ, आरजी/एएमएल के लिए रोलबैक। इस प्लेबुक का अनुसरण करके, आपको एक तेज, विश्वसनीय और अनुपालन निष्कर्ष मिलता है जो लगातार नियंत्रित लागत पर व्यावसायिक मूल्य प्रदान करता है।