ML үлгілерін орналастыру
(Бөлім: Технологиялар және Инфрақұрылым)
Қысқаша түйіндеме
ML сенімді продакшн-өрістету - бұл қайталанатын артефактілердің (модель/токенайзер/ ), стандартталған сервингтің (Triton/KServe/vLLM), қауіпсіз релиз-процестің (канарилер/блю-грин/shadow), бақылаудың (латенттілік, сапа, дрейф) және оқиғаларға runbook-тар. iGaming үшін төмен кідіріс (антифрод/дербестендіру), қатаң SLO, PII/комплаенс және құнын бақылау өте маңызды.
1) Өрістету режимдері
Batch (офлайн): түнгі/сағаттық тапсырмалар (скоринг ретроспективалары, сегменттерді жаңарту). Арзан, болжамды.
Online (синхронды API): антифрод, дербестендіру, ұсыныстар, LLM-кеңестер. p95 SLA талап етеді (мысалы, 100-300 мс ≤).
Stream (near-real-time): CRM сигналдары мен триггерлері үшін 1-60 сек (Flink/Spark/Kafka Streams) терезелері.
Гибрид: онлайн жылдам өрескел скорер + офлайн қайта есептеу/калибрлеу.
2) Артефактілер және орау
Модельдік артефактілер: салмақтар, токенизатор, препроцессинг/постпроцессинг конфигалары, датасет/код нұсқасы.
Пішімдер: PyTorch/TF SavedModel, үйлесімділік үшін ONNX, жеделдету үшін TensorRT-engine, LLM-кванталау үшін GGUF/awq/gptq.
Контейнерлер: Docker OCI-pinned тәуелділіктері бар бейнелер; көп платформалы тегтер (CPU/GPU).
Immutable-релиздер: тегтеу 'model: fraud-v3. 2. 1`, `image: fraud:3. 2. 1`.
3) Сервинг платформасы
Triton Inference Server: мультимодельді, динамикалық батчинг, ensemble-pipelines.
KServe (K8s-native): авто-скейл (HPA/KPA), канари/шадоу, жеке runtime.
vLLM/TGI (LLM): continuous batching, KV-кэш, алыпсатарлық декодинг.
Фичестор: online (мс-SLA) + offline фич (feature parity) үйлесімділігі үшін.
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) Релиздер стратегиялары
Blue-Green: екі бірдей стек, трафикті бірден ауыстырып қосу, қарапайым кері қайтару.
Canary: SLO/сапасы бойынша трафикті біртіндеп арттыру (1% → 5% → 25% → 100%).
Shadow: жаңа модель трафиктің көшірмесін алады, жауаптар ештеңеге әсер етпейді - қауіпсіз бағалау.
A/B-тесттер: бизнес-метриканы (конверсия, ұстап қалу), статистикалық маңыздылығын өлшейміз.
map $request_id $route {
default old;
"~ canary" new; # 5-15% by flag/cook/feature-toggle
}
5) SLO және жұмыс бюджеттері
Онлайн антифрод/дербестендіру: p95 ≤ 100-150 мс, p99 ≤ 250-400 мс.
LLM кеңестер (128-512 токендер): p95 ≤ 300-800 мс алғашқы токендер генерациясы, нысаналы ≥ tokens/s.
Қолжетімділік: 99 ≥. сыни жолдар үшін 9%.
Сапасы: AUC/PR-AUC/Top-K @N ≥ табалдырық;% улы/қате жауаптар ≤ X.
Құны: $/1k сұрау немесе $/1k токендер - бюджет шегінде.
6) Модельдерге арналған CI/CD
Конвейер:1. Тізілімдегі Train/finetune → моделі (метадеректер: деректер/код/метрика/лицензия).
2. Pack & Validate: unit-тесттер препроц ./постпроц., үйлесімділік API, жүктеме тестілері (latency/tokens/s).
3. Canary Deploy: 1-5% трафик; бақылау (SLO/сапа/құн).
4. Критерийлердің гейттері бойынша Promote/Rollback.
GitHub Actions фрагментінің мысалы (идея):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) Кідіруді оңтайландыру және өткізу
Батчинг/микробатчинг (Triton/vLLM), сұрау параллелизмі, CPU pre-/post-processing.
Калибрлеумен кванталау (INT8/FP8/INT4); TensorRT/ONNX Runtime құрастыру.
Кэштеу: фич (online-фичестор/Redis), нәтижелер және LLM үшін KV-кэш.
Warmup: деплой кезінде таразыны/кэштерді жылыту; автоскейл үшін «жылы» поды.
Тайм-бюджет: ерте тоқтау, белгілерді шектеу/beam, температураның бейімделуі.
8) Бақылау қабілеті: телеметрия, дрейф, сапа
SRE-метриктер: RPS, p50/p95/p99, қателер (5xx/4xx), GPU/CPU util, жады, кезек, batch-fill.
ML-метриктер: AUC/PR-AUC, calibration error, coverage, tokens/s, жауап ұзындығы, кэш-хит.
Дрейф: PSI/JS-кіріс/фич бойынша дивергенция, бөлудің жылжуын мониторингілеу; алерта.
Онлайн сапасы: бақылау алтын мысалдары, жауаптар семплингі, автоматты RAG-score/LLM үшін уыттылығы.
Журналға түсіру: промпт/жауап (анонимдеумен), trace_id, модель нұсқасы.
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) Фичтерді басқару және келісу
Feature-parity: сол offline/online түрлендіру; фичтерді код ретінде нұсқалаңыз.
Онлайн фичестор: мс-SLA, TTL, upsert, idempotency; кэш сервингке жақын.
Backfill/refresh: онлайн-скоринг офлайн-метрикалармен үйлеспеуі үшін жоспар.
10) Қауіпсіздік, PII және лицензиялар
PII: токенизация/бүркемелеу, өңірлер бойынша сегменттеу (EU/TR/LATAM), тыныштықта/транзитте шифрлау.
Құпиялар/кілттер: KMS/Secrets Manager, суреттерде құпия емес.
LLM саясаттары: мазмұн сүзгілері, қауіпсіз тоқтатқыштар, red-teaming.
Лицензиялар: күннің/салмақтың шарттарын, редистрибуцияға/коммерцияға тыйым салуларды тексеріңіз.
Оқшаулау: namespace-RBAC, квоталар, GPU пулдар үшін taints/tolerations.
11) Автоскейл және QoS
Autoscaling: RPS/кезек бойынша/latency/GPU-util; min-ready-pods.
QoS сыныптар: сыни онлайн (anti-fraud)> LLM чат> эксперименттер. Preemption сыни пайдасына.
Мультирегион: latency-based routing, қыздырылған салмақ кэштері, фич репликациясы.
12) Runbooks және оқиғалар
p99 өсуі: тексеру batch-fill, кезек, GPU-util, кэш-miss; агрессивті батчингті қосу/beam/токендерді төмендету.
Сапасы төмендеді: алдыңғы нұсқасына кері қайту, shadow қосу, дрейф көздерін бекіту.
Құны өсуде :/TensorRT кванталауды қосу, батч арттыру, фичи/кэшті оңтайландыру, RAG/нәтиже-кэш арқылы LLM генерацияларының жиілігін төмендету.
PII-инцидент: дереу stop-the-line, артефактілерді кері қайтарып алу, қол жеткізу аудиті, рәсім бойынша реттеушіге есеп беру.
13) Үлгі үлгілері
Triton - dynamic batching (үзік):text dynamic_batching { preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000 }
instance_group { kind: KIND_GPU count: 2 }
vLLM іске қосу (идеялар):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
API (жалған құжат) үйлесімділігін тексеру:
python resp = client. score({"features": f}) # v3. 2. 1 assert set(resp. keys()) >= {"score","version","latency_ms"}
14) Енгізу чек-парағы
1. SLO/SLA (latency/availability/quality/cost) анықтаңыз.
2. Артефактілерді және модельдер тізілімін (нұсқалар, метадеректер) стандарттаңыз.
3. Сервинг-стек (Triton/KServe/vLLM) және фичестор таңдаңыз.
4. Канарийлерді/блю-грин/shadow және автоматты гейттерді теңшеңіз.
5. CI/CD: үйлесімділік, перф-регрессия, қауіпсіз промоушен тестілерін жасаңыз.
6. Бақылау (SRE + ML-метриктер), дрейф-мониторинг және алерталарды қосыңыз.
7. PII/қауіпсіздік/лицензиялар мен аудитті қамтамасыз етіңіз.
8. Автоскейл/QoS және көп аймақтық саясатты теңшеңіз.
9. Runbook-ты дайындап, game-day өткізіңіз.
10. Бағаны басқаруды енгізіңіз: батчинг, квантизация, кэш, RAG.
15) Антипаттерндер
Деплой «қалай» канариясыз/бақылаусыз → күтпеген оқиғалар.
Келісілмеген фичтер offline/online → метриктер айырмашылығы.
Перф-тесттер мен лимиттердің болмауы → p99 «жүзеді».
Промпттарды/жауаптарды анонимдеусіз логирлеу → PII тәуекел.
Бір жалпы GPU пулы барлық үшін жоқ QoS → сыни онлайн зардап шегеді.
Артефактілердің қайтарылуы мен снапшоттары жоқ → ұзақ тұрып қалулар.
ML-модельдерді табысты өрістету - бұл контейнерленген артефакттар, стандартталған сервинг, қауіпсіз релиз-процесс (canary/blue-green/shadow), қатты SLO және сапа/дрейф/құн бақылауы. Фичестор, перф-гейттері бар CI/CD, PII гигиенасы, автоскейл және QoS қосыңыз - және сіздің антифрод/персоналдандыру/LLM қызметтеріңіз p99 және бюджет бойынша болжамды болып қала отырып, iGaming-тің ең жоғары жүктемелерін тұрақты ұстайды.