ML modellərinin yerləşdirilməsi
(Bölmə: Texnologiya və Infrastruktur)
Qısa xülasə
ML-nin etibarlı prodakşn yerləşdirilməsi: təkrarlanan artefaktların (model/tokenayzer/ ), standartlaşdırılmış servinqin (Triton/KServe/vLLM), təhlükəsiz buraxılış prosesinin (kanari/blue-green/shadow), müşahidə olunma (latentlik, keyfiyyət, sürüklənmə) və hadisə runbook. iGaming üçün aşağı gecikmə (antifrod/personalizasiya), ciddi SLO, PII/uyğunluq və dəyər nəzarəti vacibdir.
1) Yerləşdirmə rejimləri
Batch (oflayn): gecə/saat tapşırıqları (retrospektivlər, seqmentlərin yenilənməsi). Ucuz, proqnozlaşdırıla bilən.
Online (sinxron API): antifrod, personalizasiya, tövsiyələr, LLM ipuçları. p95 SLA tələb edir (məsələn, ≤ 100-300 ms).
Stream (near-real-time): siqnallar və CRM tetikləyiciləri üçün 1-60 saniyə (Flink/Spark/Kafka Streams) pəncərələri.
Hibrid: online sürətli kobud scorer + oflayn yenidən hesablama/kalibrləmə.
2) Artefaktlar və qablaşdırma
Model artefaktları: çəki, tokenizator, processing/post-processing konfiqləri, dataset/kod versiyası.
Formatlar: PyTorch/TF SavedModel, uyğunluq üçün ONNX, sürətləndirmə üçün TensorRT-engine, LLM kvantlaşdırma üçün GGUF/awq/gptq.
Konteynerlər: Docker OCI şəkilləri ilə pinned asılılıqlar; çox platformalı etiketlər (CPU/GPU).
Immutable-relizlər: etiketləmə 'model: fraud-v3. 2. 1`, `image: fraud:3. 2. 1`.
3) Serving platforması
Triton Inference Server: multimodel, dinamik batching, ensemble-pipelines.
KServe (K8s-native): avto skayl (HPA/KPA), kanari/shadow, öz runtime.
vLLM/TGI (LLM): continuous batching, KV cache, spekulyativ dekoding.
Fichestor: online (ms-SLA) + fich (feature parity) uyğunluğu üçün offline.
yaml apiVersion: serving. kserve. io/v1beta1 kind: InferenceService metadata: { name: fraud }
spec:
predictor:
canaryTrafficPercent: 15 model:
modelFormat: { name: triton }
storageUri: s3://models/fraud/v3. 2. 1/
resources: { limits: { nvidia. com/gpu: "1" } }
4) Buraxılış strategiyaları
Blue-Green: iki eyni yığın, ani trafik keçid, sadə geri dönüş.
Canary: SLO/keyfiyyət geytləri ilə tədricən artan trafik (1% → 5% → 25% → 100%).
Shadow: Yeni model trafikin bir nüsxəsini alır, cavablar heç nəyə təsir etmir - təhlükəsiz qiymətləndirmə.
A/B testləri: biznes metriklərini (çevirmə, saxlama), statistik əhəmiyyəti ölçürük.
map $request_id $route {
default old;
"~ canary" new; # 5-15% by flag/cook/feature-toggle
}
5) SLO və iş büdcələri
Online antifrod/personalizasiya: p95 ≤ 100-150 ms, p99 ≤ 250-400 ms.
LLM İpuçları (128-512 token): p95 ≤ 300-800 ms ilk token, tokens/s ≥ hədəf.
Mövcudluq: ≥ 99. Kritik yollar üçün 9%.
Keyfiyyət: AUC/PR-AUC/Top-K @N ≥ eşik;% zəhərli/səhv cavablar ≤ X.
Qiymət: $/1k sorğular və ya $/1k tokenlər - büdcə daxilində.
6) CI/CD modelləri üçün
Konveyer:1. Reyestrdə Train/finetune → model (metadata: məlumat/kod/metrika/lisenziya).
2. Pack & Validate: Unit Tests Prepros ./Post., API uyğunluğu, yük testləri (latency/tokens/s).
3. Canary Deploy: 1-5% trafik; müşahidə (SLO/keyfiyyət/dəyəri).
4. Kriteriya geytlərinə görə Promote/Rollback.
GitHub Actions fraqmentinin nümunəsi (ideya):yaml jobs:
build-serve:
steps:
- run: make export_onnx && make docker_build
- run: pytest tests/serve --maxfail=1
- run: python perf_check. py --p95 120 --fail-on-regress
- run: kubectl apply -f kserve-canary. yaml
7) Gecikmə və keçid optimallaşdırılması
Batching/mikrobatching (Triton/vLLM), istəklərin paralelliyi, CPU-da pre-/post-processing.
Kalibrləmə ilə kvantlaşdırma (INT8/FP8/INT4); TensorRT/ONNX Runtime kompilyasiya.
Caching: phich (online-fichestor/Redis), nəticələr və LLM üçün KV cache.
Warmup: deploye zamanı tərəzi/cache qızdırılması; «isti» pod üçün avtoskeyl.
Vaxt-büdcə: erkən dayandırılması, token/beam məhdudlaşdırılması, temperatur adaptasiyası.
8) Müşahidə: telemetriya, sürüklənmə, keyfiyyət
SRE metrləri: RPS, p50/p95/p99, səhvlər (5xx/4xx), GPU/CPU util, yaddaş, növbə, batch-fill.
ML-metriklər: AUC/PR-AUC, calibration error, coverage, tokens/s, cavab uzunluğu, cash-hit.
Drift: PSI/JS-divergence giriş/çıxış, paylanma sürüşmə monitorinqi; alertlər.
Online keyfiyyət: nəzarət qızıl nümunələri, cavab sampling, LLM üçün avtomatik RAG-score/toksiklik.
Jurnallaşdırma: prompt/cavab (anonimləşdirmə ilə), trace_id, model versiyası.
inference_latency_ms_bucket{model="fraud-v3. 2. 1",le="100"} 12345 inference_qps{model="fraud-v3. 2. 1"} 450 tokens_per_second{model="llm-help-v1"} 210
9) Fiçlərin idarə edilməsi və uyğunluğu
Feature-parity: offline/online eyni transformasiya; bir kod kimi fici versiyası.
Online fichestor: ms-SLA, TTL, upsert, idempotency; xidmət daha yaxın cache.
Backfill/refresh: Onlayn skorun oflayn metrlərdən ayrılmaması üçün plan.
10) Təhlükəsizlik, PII və lisenziyalar
PII: tokenizasiya/maskalama, regionlara görə seqmentləşdirmə (EU/TR/LATAM), dinc/tranzit şifrələmə.
Secrets/açarları: KMS/Secrets Manager, şəkillərdə heç bir sirr yoxdur.
LLM siyasətləri: məzmun filtrləri, təhlükəsiz stoper, red-teaming.
Lisenziyalar: dataset/çəki şərtlərini, redistribution/ticarət qadağalarını yoxlayın.
İzolyasiya: namespace-RBAC, kvotalar, GPU hovuzları üçün taints/tolerations.
11) Avtoskeyl və QoS
Autoscaling: RPS/növbə/latency/GPU-util; qaynar xətt üçün min-ready-pods.
QoS sinifləri: kritik online (anti-fraud)> LLM chat> təcrübələr. Preemption kritik lehinə.
Multiregion: latency-based routing, qızdırılmış çəki caches, phich replication.
12) Runbooks və hadisələr
Böyümə p99: batch-fill, növbə, GPU-util, cash-miss; aqressiv batching daxil/beam/token aşağı.
Keyfiyyət düşdü: əvvəlki versiyası geri, shadow daxil, drift mənbələri qeyd.
Qiymət artır: kvantizasiya/TensorRT daxil, batch artırmaq, fici/cache optimallaşdırmaq, RAG/nəticə-cache vasitəsilə LLM-generation tezliyini azaltmaq.
PII-insident: dərhal stop-the-line, artefaktların geri çağırılması, giriş auditi, prosedur üzrə tənzimləyiciyə hesabat.
13) Nümunə nümunələri
Triton - dynamic batching (fraqment):text dynamic_batching { preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000 }
instance_group { kind: KIND_GPU count: 2 }
vLLM başlanğıc (fikirlər):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
API uyğunluğunun yoxlanılması (psevdokod):
python resp = client. score({"features": f}) # v3. 2. 1 assert set(resp. keys()) >= {"score","version","latency_ms"}
14) Giriş çek siyahısı
1. SLO/SLA (latency/availability/quality/cost) müəyyən edin.
2. Artefaktları və model reyestrini (versiyalar, metadata) standartlaşdırın.
3. Bir xidmət yığını (Triton/KServe/vLLM) və fichestor seçin.
4. Kanari/blu-yaşıl/shadow və avtomatik geytaları konfiqurasiya edin.
5. CI/CD qurun: uyğunluq testləri, perf-reqressiya, təhlükəsiz promosyon.
6. Müşahidə (SRE + ML-metriklər), sürüklənmə monitorinqi və alertləri daxil edin.
7. PII/təhlükəsizlik/lisenziya və audit təmin edin.
8. Autoscale/QoS və multi-regional siyasətləri konfiqurasiya.
9. Runbook və game-day hazırlayın.
10. Dəyər idarəetməsini daxil edin: batching, kvantizasiya, cache, RAG.
15) Antipattern
Deploy «olduğu kimi» olmadan kanari/müşahidə → gözlənilməz hadisələr.
Razılaşdırılmamış fice offline/online → metrik uyğunsuzluq.
Perf testlərin və limitlərin olmaması → p99 «üzür».
Anonimləşdirmədən prompps/cavabların loqosu → risk PII.
QoS olmadan hər şey üçün bir ümumi GPU hovuz → kritik online zərər.
Artefaktların geri qaytarılması və snapshotları yoxdur → uzun fasilələr.
Nəticələr
ML modellərinin uğurlu yerləşdirilməsi konteynerləşdirilmiş artefaktlar, standartlaşdırılmış xidmət, təhlükəsiz buraxılış prosesi (canary/blue-green/shadow), sərt SLO və keyfiyyət/drift/dəyər müşahidə olunur. Fichestor, perf-gates, PII-gigiyena, avtoskeyl və QoS ilə CI/CD əlavə edin - və antifrod/personalizasiya/LLM xidmətləri p99 və büdcədə proqnozlaşdırıla bilən olaraq iGaming-in pik yüklərini sabit saxlayacaq.