ML Modellerini Dağıtma
(Bölüm: Teknoloji ve Altyapı)
Kısa Özet
Güvenilir ML üretim dağıtımı aşağıdakilerden oluşan bir koleksiyondur: tekrarlanabilir eserler (model/tokenizer/config), standartlaştırılmış sörf (Triton/KServe/vLLM), güvenli serbest bırakma işlemi (kanarya/mavi yeşil/gölge), gözlemlenebilirlik (gecikme, kalite, kayma) ve olaylarla ilgili çalışma kitapları. Düşük gecikme süresi (dolandırıcılıkla mücadele/kişiselleştirme), sıkı SLO, PII/uyumluluk ve maliyet kontrolü iGaming için kritik öneme sahiptir.
1) Dağıtım modları
Toplu (çevrimdışı): gece/saat görevleri (geriye dönük puanlama, segmentleri güncelleme). Ucuz, tahmin edilebilir.
Online (senkron API): Dolandırıcılıkla mücadele, kişiselleştirme, öneriler, LLM ipuçları. P95 SLA gerektirir (örneğin, ≤ 100-300 ms).
Akış (neredeyse gerçek zamanlı): CRM sinyalleri ve tetikleyicileri için 1-60 sn pencereler (Flink/Spark/Kafka Akışları).
Hibrit: çevrimiçi hızlı kaba skor + çevrimdışı yeniden hesaplama/kalibrasyon.
2) Eserler ve paketleme
Model artefaktları: ağırlıklar, tokenizer, ön işleme/postprocessing yapılandırmaları, veri kümesi/kod sürümü.
Formatlar: PyTorch/TF SavedModel, uyumluluk için ONNX, hızlanma için TensorRT-motoru, LLM kuantizasyonu için GGUF/awq/gptq.
Konteynerler: Sabitlenmiş bağımlılıklara sahip docker OCI görüntüleri; Çoklu platform etiketleri (CPU/GPU).
Değişmez sürümler: etiketleme 'modeli: dolandırıcılık-v3. 2. 1 ',' resim: dolandırıcılık: 3. 2. 1`.
3) Hizmet platformu
Triton Çıkarım Sunucusu: çok modelli, dinamik butching, ensemble-pipelines.
KServe (K8s-native): Otomatik ölçeklendirme (HPA/KPA), kanarya/gölge, kendi çalışma zamanı.
vLLM/TGI (LLM): sürekli gruplama, KV önbellek, spekülatif kod çözme.
Fichestor: çevrimiçi (ms-SLA) + özellik paritesi için çevrimdışı.
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) Serbest bırakma stratejileri
Mavi-Yeşil: iki özdeş yığın, anında trafik değiştirme, basit geri dönüş.
Kanarya: SLO/kalite kapıları arasında kademeli olarak artan trafik (%1 - %5 - %25 - %100).
Gölge: Yeni model trafiğin bir kopyasını alır, yanıtlar hiçbir şeyi etkilemez - güvenli bir tahmin.
A/B testleri: iş metriklerini (dönüşüm, elde tutma), istatistiksel anlamlılığı ölçeriz.
map $request_id $route {
default old;
"~ canary" new; # 5-15% by flag/cook/feature-toggle
}
5) SLO'lar ve işletme bütçeleri
Çevrimiçi dolandırıcılıkla mücadele/kişiselleştirme: p95 ≤ 100-150 ms, p99 ≤ 250-400 ms.
LLM ipuçları (128-512 belirteçleri): p95 ≤ 300-800 ms nesil ilk belirteçler, belirteçler/s ≥ hedef.
Kullanılabilirlik: ≥ 99. Kritik yollar için %9.
Kalite: AUC/PR-AUC/Top-K @ N ≥ eşiği; % toksik/yanlış yanıtlar ≤ X.
Maliyet: $/1k istekleri veya $/1k belirteçleri - bütçe dahilinde.
6) Modeller için CI/CD
Konveyör:1. Train/finetune - kayıt defterindeki model (meta veri: data/code/metrics/licenses).
2. Pack & Validate: birim testleri öncesi/sonrası, API uyumluluğu, yük testleri (gecikme/belirteçler/ler).
3. Kanarya Dağıtım: %1-5 trafik; Gözlenebilirlik (SLO/kalite/maliyet).
4. Kriter kapılarına göre Teşvik/Geri alma.
GitHub Eylemlerinin bir parçası örneği (fikir):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) Gecikme ve verim optimizasyonu
Triton/vLLM, eşzamanlılık isteği, CPU'da işlem öncesi/sonrası.
Kalibrasyon ile niceleme (INT8/FP8/INT4); TensorRT/ONNX Runtime derlemesi.
Önbelleğe alma: özellik (çevrimiçi özellik/Redis), sonuçlar ve LLM için KV önbelleği.
Isınma: damping sırasında terazileri/önbellekleri ısıtmak; "sıcak" otomatik ölçek ocakları.
Zaman bütçesi: erken durma, belirteç limiti/ışını, sıcaklık adaptasyonu.
8) Gözlemlenebilirlik: telemetri, sürüklenme, kalite
SRE metrikleri: RPS, p50/p95/p99, hatalar (5xx/4xx), GPU/CPU util, bellek, kuyruk, toplu doldurma.
ML metrikleri: AUC/PR-AUC, kalibrasyon hatası, kapsama alanı, belirteçler/ler, yanıt uzunluğu, önbellek isabeti.
Sürüklenme: Girişler/özellikler ile PSI/JS sapması, dağıtım kayması izleme; Uyarılar.
Çevrimiçi Kalite: Altın Test Durumları, Cevap Örnekleme, Otomatik RAG skoru/LLM Toksisitesi.
Günlük kaydı: istemi/yanıtı (anonimleştirilmiş), trace_id, model sürümü.
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) Özellik yönetimi ve tutarlılık
Özellik-paritesi: aynı çevrimdışı/çevrimiçi dönüşümler; versiyon kod olarak bulunur.
Online fichestor: ms-SLA, TTL, uppert, idempotency; Sörf yapmaya daha yakın.
Backfill/refresh: Çevrimiçi puanlamanın çevrimdışı metriklerden ayrılmasını önlemek için bir plan.
10) Güvenlik, PII ve Lisanslar
PII: tokenization/masking, bölgeye göre segmentasyon (EU/TR/LATAM), durgun/transit şifreleme.
Sırlar/anahtarlar: KMS/Secrets Manager, görüntülerde sır yok.
LLM politikaları: içerik filtreleri, güvenli durdurucular, kırmızı takım oluşturma.
Lisanslar: veri kümeleri/ağırlıklar, yeniden dağıtım/ticaret yasakları için koşulları kontrol edin.
İzolasyon: GPU havuzları için ad alanı-RBAC, kotalar, kirişler/toleranslar.
11) Autoscale ve QoS
Otomatik ölçekleme: RPS/kuyruk/gecikme/GPU-util ile; Yardım hatları için min-ready-pods.
QoS sınıfları: çevrimiçi kritik (dolandırıcılık karşıtı)> LLM sohbet> deneyler. Eleştirinin lehine ön alma.
Çok bölgeli: gecikme tabanlı yönlendirme, ısınmış ağırlık önbellekleri, özellik çoğaltma.
12) Runbook'lar ve olaylar
P99 büyüme: toplu doldurma, kuyruk, GPU-util, önbellek özledim kontrol; Agresif kasaplama/alt ışın/belirteçleri etkinleştirin.
Kalite düştü: önceki sürüme geri dönün, gölgeyi açın, sürüklenme kaynaklarını düzeltin.
Maliyet artıyor: kuantizasyonu/TensorRT'yi etkinleştirin, toplu artırın, özellik/önbelleği optimize edin, RAG/sonuç önbelleği aracılığıyla LLM nesillerinin frekansını azaltın.
PII olayı: acil hat durdurma, eser geri çağırma, erişim denetimi, regülatöre prosedür raporu.
13) Örnek şablonlar
Triton - dinamik gruplama (parça):text dynamic_batching { preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000 }
instance_group { kind: KIND_GPU count: 2 }
vLLM lansmanı (fikirler):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
API uyumluluk kontrolü (sözde kod):
python resp = client. score({"features": f}) # v3. 2. 1 assert set(resp. keys()) >= {"score","version","latency_ms"}
14) Uygulama kontrol listesi
1. SLO/SLA'yı tanımlayın (gecikme/kullanılabilirlik/kalite/maliyet).
2. Dışlayıcıları ve model kayıt defterini (sürümler, meta veriler) standartlaştırın.
3. Bir servis yığını (Triton/KServe/vLLM) ve bir fichester seçin.
4. Kanaryalar/mavi yeşil/gölge ve otomatik kapılar kurun.
5. CI/CD oluşturun: uyumluluk testleri, perf regresyon, güvenli promosyon.
6. Gözlemlenebilirlik (SRE + ML metrikleri), sürüklenme izleme ve uyarıları dahil edin.
7. PII/güvenlik/lisanslar ve denetim sağlayın.
8. Otomatik ölçeklendirme/QoS ve çok bölgeli ilkeleri yapılandırın.
9. Runbook hazırlayın ve bir oyun günü var.
10. Maliyet yönetimi girin: butching, niceleme, önbellek, RAG.
15) Antipatterns
Kanarya/gözlemlenebilirlik olmadan "olduğu gibi" dağıtın - beklenmedik olaylar.
Tutarsız çevrimdışı/çevrimiçi özellikler - metrik tutarsızlık.
Perf testlerinin ve sınırlarının olmaması - p99 "yüzer".
Loglama istemleri/yanıtları anonimleştirme olmadan - PII riski.
QoS olmadan her şey için ortak bir GPU havuzu - kritik çevrimiçi acı çekiyor.
Eserlerin geri dönüşü ve anlık görüntüleri yoktur - uzun kesinti süresi.
Özet
ML modellerinin başarılı bir şekilde konuşlandırılması, konteynerleştirilmiş eserler, standartlaştırılmış hizmet, güvenli bir serbest bırakma işlemi (kanarya/mavi-yeşil/gölge), sert SLO'lar ve kalite/sürüklenme/maliyet gözlemlenebilirliğidir. Fichestore, perf kapılı CI/CD, PII hijyeni, otomatik ölçeklendirme ve QoS ekleyin - ve sahtekarlıkla mücadele/kişiselleştirme/LLM hizmetleriniz sürekli olarak en yüksek iGaming yüklerini korurken, p99 ve bütçede öngörülebilir kalır.