Logo GH

نشر نماذج ML

1) الدور والأهداف

النشر = تقديم استنتاج موثوق به للمنتجات والعمليات مع تلبية النمو الحقيقي/مكافحة غسل الأموال/الشؤون القانونية والميزانيات.
الأهداف: انخفاض زمن الوصول، وارتفاع التوافر، وقابلية التكاثر، والسلامة، والتراجع السريع.

2) خدمة البنى

2. 1 أنماط

عبر الإنترنت (في الوقت الفعلي): REST/gRPC، p95 50-150 ms للتخصيص ؛ ≤2 -5 s لتنبيهات RG/AML.
في الوقت الفعلي تقريبًا: مباريات صغيرة 1-5 دقائق (OLAP-showcases).
الدفعة/غير متصلة بالإنترنت: معارض ذهبية ليلية، صادرات WORM للجهة التنظيمية.
التسجيل أثناء العملية: تضمين نموذج الضوء في الخدمة (زمن انتقال منخفض).
بدون خادم: ميزات البداية الباردة للمهام النادرة.

2. 2 طوبولوجيا

خدمة نموذج واحد → بسيطة وسريعة.
مجموعة/رسم بياني (جهاز توجيه → قبل المعالجة → نموذج → بعد المعالجة) → خطوط أنابيب معقدة.
يسحب Sidecar Feature Fetcher → الميزات عبر الإنترنت من المخابئ (Redis/Scylla).

3) السجل النموذجي والنسخ

Registry: 'model _ id', 'version', 'staging = {Staging, Production, Archived}', 'articles (weights, preprocessor, calibration), contributions (CPU/GPU U U P/reMemory), Mare, Mart.
القطع الأثرية الثابتة: تجزئة المحتوى ؛ نسخ 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 and Autoscaling

النشر (شظية):
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٪ مع SLOs الخضراء ؛ التراجع التلقائي عن التحلل.
الأزرق الأخضر: أكوام متوازية ؛ مفتاح التوجيه الفوري.
علم الميزة التدريجي: توجيه السوق/المستأجر/الجهاز.
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

Трейсинг: OpenTelemetry - span'ы 'feature _ girtch', 'score', 'postprocess',' guardrail'.

9) حواجز حماية RG/AML والسياسة الأمنية

Pre-/Post-filter: أقنعة الأفعال المحظورة (تواتر الانطباعات، والتهدئة، وحظر العروض العدوانية).
درع السياسة: السرعة فوق عتبة النمو الحقيقي → التدخل الناعم/التوقف المؤقت.
مراجعة الحسابات: تسجيل 'سياسة _ معرف'، 'ميل'، 'قناع'، 'قرار'، 'سبب'.
PII والإقامة: رموز بدلاً من بطاقة الهوية، وتشفير منفصل ومفاتيح عنقودية على EEA/UK/BR ؛ حظر الانضمام عبر المناطق دون مبرر.
الأسرار: KMS/CMK، مدير سري ؛ لا يوجد PII في السجلات/المسارات.

10) سياسة المعايرة والعتبات والقرار

المعايرة (بلات/إيزوتونيك) كقطعة أثرية.
العتبة حسب التكلفة المتوقعة ؛ قابلة للتكوين في السجل/علم الميزة.
الحدود القصوى للسلامة: الحدود القصوى/الدنيا للإجراءات، والتجاوز اليدوي للامتثال.

11) التراجع والتدهور و DR

رجوع بنقرة واحدة - يحول المسار إلى «الطراز _ الإصدار» السابق.
كتاب التشغيل: نصوص «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/latency، تقييد حجم الدولة على ميزة التيار.
رد التكاليف: التكلفة/الطلب، التكلفة/الخاصية ؛ ميزانيات الأسواق/الأفرقة.

13) الإطلاقات الآمنة والامتثال

معايير الاستعداد للمنتج: SLO الأخضر في الظل، بدون انجراف/تسرب، بطاقة الطراز ممتلئة، شرائح الإنصاف طبيعية.
المنظم: أرشيف WORM للإصدار (الأوزان، المعايرة، العتبات، المقاييس، سجلات الاختبار)، تقارير التصدير غير القابلة للتغيير.
DSAR/RTBF: إجراءات لإزالة آثار مستخدم معين من المخابئ/السجلات/الميزات.

14) QA قبل طرحها

اختبارات التكامل: عقد واجهة برمجة التطبيقات، مخططات مميزة، حالات فارغة/متطرفة.
الحمل: 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) العمليات و RACI

R (مسؤول): MLOps (خدمة/تنسيق/قابلية للرصد)، Data Eng (ميزات/مخابئ/عقود)، Data Science (بطاقات نموذجية/معايرة/عتبات).
ألف (مسؤول): رئيس قسم البيانات/المدير التنفيذي.
جيم (استشاري): الامتثال/إدارة شؤون الإعلام (PII/RG/AML/DSAR)، الأمن (KMS/الأسرار/التدقيق)، SRE (SLO/الحوادث)، المالية (ROI/الميزانيات).
I (معلومات): المنتج/التسويق/العمليات/الدعم.

17) خارطة طريق التنفيذ

أفضل لاعب (3-6 أسابيع):

1. السجل النموذجي والتحف غير القابلة للتغيير ؛ خدمة FastAPI/gRPC + K8s/Helm.

2. إطلاق الظل مع مراقبة p95/5xx/الانجراف، اختبار تكافؤ الميزات.

3. كناري 10٪ → 50٪ → 100٪ مع تراجع النص التلقائي والتنبيهات.

4. بطاقة الطراز والمعايرة وعتبة التكلفة المتوقعة و Guardrails v1.

المرحلة 2 (6-12 أسبوعاً):
  • ميزة ذاكرة التخزين المؤقت، قواطع الدوائر، كتيبات التشغيل/تمارين DR.
  • القياس التلقائي على RPS/زمن الوصول ولوحة القيادة ذات التكلفة ورد التكاليف.
  • مراقبة شريحة الإنصاف، أرشيف إصدار WORM.
المرحلة 3 (12-20 أسبوعاً):
  • رسم بياني للخدمة (المرشحون → إعادة الترتيب)، ميول تسجيل الأرقام.
  • إقامة متعددة المناطق (EEA/UK/BR) بمفاتيح فردية.
  • تقارير جودة/معايرة autogene.

18) قائمة التسليم المرجعية

  • البطاقة النموذجية ممتلئة ؛ وتحرر البيانات/الخصائص/المعايرة/العتبات.
  • ميزة العقود واختبار المعادلة عبر الإنترنت/غير متصل بالإنترنت خضراء.
  • SLO: p95، 5xx، تغطية - أخضر على الظل و 10٪ كناري ≥ 24 ساعة.
  • يتم تضمين التنبيهات ولوحات القيادة (وقت الانتهاء/الأخطاء/الانجراف/التكلفة المتوقعة).
  • تعمل عمليات تدقيق RG/AML والحلول ؛ اجتمعت PII/الإقامة.
  • اختبار حوادث التراجع والكتيب بنقرة واحدة.
  • تتناسب التكلفة مع الميزانية ؛ تم تكوين HPA و cache.

19) الأنماط والمخاطر المضادة

طرح يدوي بدون تسجيل وقطع أثرية غير قابلة للتغيير.
ميزات غير متسقة عبر الإنترنت/غير متصلة بالإنترنت → التناقضات في المبيعات.
لا ظل/كناري → تراجعات خفية.
العتبة ليست التكلفة المتوقعة، ولا توجد معايرة.
مراقبون خارجيون متزامنون بدون مهلات/مخبأ.
لا DR/التراجع، لا أرشيف إصدار WORM.

20) خلاصة القول

إنتاج ML ليس «تحديًا نموذجيًا»، ولكنه منصة هندسية: التسجيل والإصدارات، والطرح الآمن (الظل/الكناري/الأزرق الأخضر)، وانضباط الميزة والمعايرة، وقابلية الملاحظة و SLO، وحواجز الحماية لـ RG/AML، و خطة التراجع الواضحة. من خلال اتباع دليل اللعبة هذا، تحصل على استنتاج سريع وموثوق ومتوافق يوفر باستمرار قيمة العمل بتكلفة خاضعة للرقابة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.