본문으로 건너뛰기

Deploy a Model to a Cluster

등록된 모델을 Kubernetes 클러스터에 배포하여 실제 서비스 환경에서 운영할 수 있습니다. 배포된 모델은 클러스터 내에서 InferenceService로 실행되며, 외부 요청에 대한 실시간 예측 또는 응답을 제공합니다.

모델 배포 방법

단계 1: 모델 배포 시작

모델을 배포하는 방법은 두 가지가 있습니다:

옵션 1: 모델 홈 화면 또는 왼쪽 메뉴에서 Model Serving > Serve Model로 이동합니다.

옵션 2: Model Registry > Model List에서 배포할 모델을 선택하고 Deploy 버튼을 클릭합니다.

단계 2: 배포 대상 구성

  1. Deployment Name (필수)
  • 이 배포를 위한 고유한 이름을 입력합니다.
  • 이는 Kubernetes 리소스 이름으로 사용됩니다.
  • 예: ”bert-classifier-prod”, ”gpt2-service-v1”
  1. Cluster (필수)
  • 모델을 배포할 Kubernetes 클러스터를 선택합니다.
  • 등록된 클러스터 목록에서 선택합니다.
  1. Namespace (필수)
  • 배포할 네임스페이스를 선택합니다.
  • 클러스터가 선택되면 해당 클러스터의 사용 가능한 네임스페이스가 자동으로 로드됩니다.

단계 3: 모델 선택

  1. Model (필수)
  • 모델 레지스트리에 등록된 모델 목록에서 배포할 모델을 선택합니다.
  • 프로젝트와 모델 이름이 표시됩니다.
  1. Tag (필수)
  • 배포할 모델의 버전(태그)을 선택합니다.
  • 예: ”latest”, ”v1.0.0”, ”prod”
  1. Serving Framework (필수)
  • 제공할 프레임워크를 선택합니다.
  • 예: HuggingFace (vLLM), PyTorch, TensorFlow, ONNX, Triton 등
  1. Description (선택 사항)
  • 배포에 대한 설명을 입력합니다.

4단계: 리소스 구성

1. CPU and Memory Settings
  • CPU Request
    • 요청할 CPU 리소스의 양을 지정합니다.
    • 사용 가능한 단위: Core, m (millicore)
    • 예: ”2 Core”, ”1000m”
  • Memory Request
    • 요청할 메모리의 양을 지정합니다.
    • 사용 가능한 단위: Gi, Mi
    • 예: ”4Gi”, ”2048Mi”
2. GPU Settings (Optional)
  • GPU Pool
    • 사용할 GPU 풀을 선택합니다.
  • GPU Profile
    • GPU 유형 및 사양을 선택합니다.
    • 예: NVIDIA Tesla V100, A100 등
  • GPU Count
    • 필요한 GPU의 수를 지정합니다.
    • 예: ”1”, ”2”, ”4”
3. Storage Settings
  • Storage
    • 저장소 크기를 지정합니다.
    • 단위: Gi, Mi
    • 예: ”10Gi”
  • Shared Memory
    • 공유 메모리의 크기를 지정합니다.
    • 단위: Gi
    • 예: ”2Gi”

💡 권장: 배포 모델을 선택할 때 모델의 메타데이터를 기반으로 권장 및 최소 리소스(GPU, CPU, RAM)에 대한 힌트가 제공됩니다.

5단계: 고급 설정 (선택 사항)

  1. Additional Arguments

모델 서버에 전달할 추가 인수를 설정합니다.

  • 키-값 쌍으로 입력합니다.
  • 예: ”-max_batch_size=32”, ”-timeout=60”
  1. Node Selectors 특정 노드에 대한 배포를 제한합니다.
  • 키-값 쌍으로 입력합니다.
  • 예: ”node-type=gpu”, ”zone=us-east-1a”
  1. Tolerations

특정 오염이 있는 노드에서 배포를 허용합니다.

  • 키, 연산자, 효과 및 값을 입력합니다.
  • 예:
    • 키: ”gpu”
    • 연산자: ”Equal”
    • 효과: ”NoSchedule”
    • 값: ”true”

Step 6: 배포 실행

  1. 모든 설정을 검토합니다.
  2. Deploy 버튼을 클릭합니다.
  3. 배포가 시작되면 Inference Service List 페이지로 리디렉션됩니다.

Step 7: 배포 상태 확인

  1. Inference Service List에서 배포 상태를 확인합니다.
    • Running: 성공적으로 실행 중
    • Not Ready: 실행 중이지만 모델이 아직 초기화 중
    • Stopped: 배포가 일시 중지됨
    • Unknown: 상태를 확인할 수 없음
  2. 배포 이름을 클릭하여 포드 상태, 엔드포인트 정보, 배포 YAML, 로그 등과 같은 세부 정보를 확인합니다.

Step 8: 배포 관리

작업 메뉴에서 다음 작업을 수행할 수 있습니다:

  • Pause/Start: 배포를 일시 중지하거나 재개
  • Playground: 실행 중인 모델을 쿼리하거나 API를 통해 테스트
  • Detail: 모델에 대한 자세한 정보 보기
  • Edit: 모델 버전 또는 배포 설정 변경
  • Delete: 배포 제거