Logo GH

ML 모델 배포

(섹션: 기술 및 인프라)

간략한 요약

신뢰할 수있는 ML 생산 배포는 반복 가능한 아티팩트 (모델/토 케니 저/설정), 표준화 된 서핑 (Triton/KServe/vLLM), 안전한 릴리스 프로세스 (카나리아/블루 그린/섀도우), 관찰 가능성 (대기 시간, 품질, 드리프트) 및 사건에 대한 책. 낮은 대기 시간 (사기 방지/개인화), 엄격한 SLO, PII/준수 및 비용 관리는 iGaming에 중요합니다.

1) 배포 모드

배치 (오프라인): 야간/시간 작업 (회고 점수, 세그먼트 업데이트). 저렴하고 예측 가능합니다.

온라인 (동기 API): 사기 방지, 개인화, 권장 사항, LLM 팁. p95 SLA가 필요합니다 (예:
  • 스트림 (거의 실시간): CRM 신호 및 트리거를위한 1-60 초 창 (Flink/Spark/Kafka Streams).
  • 하이브리드: 온라인 빠른 거친 점수 + 오프라인 재 계산/보정.

2) 유물 및 포장

모델 아티팩트: 가중치, 토커 니저, 사전 처리/사후 처리 컨피그, 데이터 세트/코드 버전.
형식: PyTorch/TF SavedModel, 호환성을위한 ONNX, 가속을위한 TensorRT 엔진, LLM 양자화를위한 GGUF/awq/gptq.
컨테이너: 종속성이 고정 된 Docker OCI 이미지; 다중 플랫폼 태그 (CPU/GPU).
불변의 릴리스: 태깅 '모델: 사기 -v3. 2. 1 ',' 이미지: 사기: 3. 2. 1`.

3) 서빙 플랫폼

Triton Inference Server: 멀티 모델, 다이나믹 버칭, 앙상블 파이프 라인.
KServe (K8s-native): 자동 스케일 (HPA/KPA), 카나리아/그림자, 자체 런타임.
vLLM/TGI (LLM): 연속 배치, KV 캐시, 투기 디코딩.
Fichestor: 기능 패리티를 위해 온라인 (ms-SLA) + 오프라인.

KServe-canary 예 (아이디어):
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: 두 개의 동일한 스택, 인스턴트 트래픽 전환, 간단한 롤백.
카나리아: SLO/품질 게이트에서 점차적으로 증가하는 트래픽 (1% → 5% → 25% → 100%).
그림자: 새로운 모델은 트래픽 사본을 얻습니다. 응답은 안전한 추정치에 영향을 미치지 않습니다.
A/B 테스트: 비즈니스 지표 (변환, 보존), 통계적 유의성을 측정합니다.

라우팅 규칙의 예 (pseudo-NGINX):

map $request_id $route {
default old;
"~ canary" new; # 5-15% by flag/cook/feature-toggle
}

5) SLO 및 운영 예산

온라인 사기 방지/개인화: p95 λ100-150 ms, p99 λ250-400 ms.

LLM 힌트 (128-512 토큰): 첫 번째 토큰, 토큰/s

가용성: 99 이상. 중요한 경로의 경우 9%.

품질: AUC/PR-AUC/Top-K @ N

비용: 예산 내 $/1k 요청 또는 $/1k 토큰.

6) 모델 용 CI/CD

컨베이어:

1. 레지스트리의 교육/finetune → 모델 (메타 데이터: 데이터/코드/메트릭/라이센스).

2. 팩 및 검증: 단위 테스트 전/포스트, API 호환성, 로드 테스트 (대기 시간/토큰/s).

3. 카나리아 배포: 1-5% 트래픽; 관찰 가능성 (SLO/품질/비용).

4. 기준 게이트별로/롤백을 홍보하십시오.

GitHub 액션 조각의 예 (아이디어):
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에서 동시성, 사전/사후 처리 요청.
교정으로 양자화 (INT8/FP8/INT4); TensorRT/ONNX 런타임 편집.
캐싱: LLM 기능 (온라인 기능/Redis), 결과 및 KV 캐시.
워밍업: 덤핑 중 비늘/캐시 예열; "따뜻한" 오토 스케일 난로.
시간 예산: 조기 정지, 토큰 제한/빔, 온도 적응.

8) 관찰 가능성: 원격 측정, 드리프트, 품질

SRE 지표: RPS, p50/p95/p99, 오류 (5xx/4xx), GPU/CPU util, 메모리, 큐, 배치 필.
ML 메트릭: AUC/PR-AUC, 교정 오류, 적용 범위, 토큰/s, 응답 길이, 캐시 적중.
드리프트: 입력/기능에 의한 PSI/JS 발산, 분배 시프트 모니터링; 경고.
온라인 품질: 골드 테스트 사례, 답변 샘플링, 자동 RAG 점수/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) 기능 관리 및 일관성

기능 패리티: 동일한 오프라인/온라인 변환; 코드로 버전 기능.
온라인 가상: ms-SLA, TTL, upsert, demempotency; 서핑에 더 가까이 캐시하십시오.
백필/새로 고침: 온라인 스코어링이 오프라인 메트릭에서 벗어나지 않도록하는 계획.

10) 보안, PII 및 라이센스

PII: 토큰 화/마스킹, 지역 별 세분화 (EU/TR/LATAM), 휴식/운송 중 암호화.
비밀/키: KMS/비밀 관리자, 이미지에 비밀이 없습니다.
LLM 정책: 컨텐츠 필터, 안전한 스토퍼, 레드 팀.
라이센스: 데이터 세트/가중치, 재배포/상거래 금지 조건을 확인하십시오.
격리: 네임 스페이스 -RBAC, 할당량, GPU 풀에 대한 수용/허용 오차.

11) Autoscale 및 QoS

자동 검사: RPS/큐/대기 시간/GPU-util; 핫라인을위한 최소 포드.
QoS 클래스: 온라인 크리티컬 (사기 방지)> LLM 채팅> 실험. 비판에 찬성하여 선점.
다중 지역: 대기 시간 기반 라우팅, 예열 중량 캐시, 복제 기능.

12) 런북 및 사건

p99 성장: 배치 충전, 대기열, GPU-util, 캐시 미스 확인; 공격적인 버칭/하부 빔/토큰을 활성화하십시오.
품질 저하: 이전 버전으로의 롤백, 그림자를 켜고 드리프트 소스를 수정하십시오.
양자화/TensorRT를 활성화하고, 배치를 늘리고, 기능/캐시를 최적화하고, RAG/결과 캐시를 통해 LLM 생성 빈도를 줄입니다.
PII 사건: 즉시 중지, 아티팩트 리콜, 액세스 감사, 규제 기관에 대한 절차 보고서.

13) 샘플 템플릿

트리톤-다이나믹 배치 (조각):
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 (대기 시간/가용성/품질/비용) 를 정의하십시오.
2. 아티팩트 및 모델 레지스트리 (버전, 메타 데이터) 를 표준화하십시오.
3. 서빙 스택 (Triton/KServe/vLLM) 과 무화과를 선택하십시오.
4. 카나리아/파란색 녹색/그림자 및 자동 게이트를 설정하십시오.
5. CI/CD 구축: 호환성 테스트, perf 회귀, 안전한 프로모션.
6. 관찰 가능성 (SRE + ML 메트릭), 드리프트 모니터링 및 경고 포함.
7. PII/보안/라이센스 및 감사를 제공합니다.

8. 오토 스케일/QoS 및 다중 지역 정책 설정

9. 런북을 준비하고 게임 데이를 준비하십시오.
10. 비용 관리: 버칭, 양자화, 캐시, RAG 입력.

15) 안티 패턴

카나리아/관측 가능성 → 예기치 않은 사고없이 "그대로" 배포.
일관되지 않은 오프라인/온라인 기능 → 메트릭 불일치.
perf 테스트가없고 → p99 "floats" 가 제한됩니다.
익명화없이 로깅 프롬프트/응답 → PII 위험.
QoS → 중요한 온라인이없는 모든 것을위한 하나의 일반적인 GPU 풀이 어려움을 겪습니다.
아티팩트의 롤백 및 스냅 샷이 없습니다 → 긴 다운 타임.

요약

ML 모델의 성공적인 배포는 컨테이너화 된 아티팩트, 표준화 된 서빙, 안전한 릴리스 프로세스 (카나리아/블루 그린/섀도우), 하드 SLO 및 품질/드리프트/비용 관찰 성입니다. perf gate, PII 위생, autoscale 및 QoS가 포함 된 fichestore, CI/CD를 추가하면 사기 방지/개인화/LLM 서비스는 p99 및 예산으로 예측 가능한 상태에서 최대 iGaming 부하를 지속적으로 유지합니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.