Triton 모델 관리 — 실행 중 모델 로드·언로드

Triton 모델 관리 — 실행 중 모델 로드·언로드

Triton은 서버 실행 중에도 모델 저장소를 모니터링하며 모델을 로드·언로드할 수 있어요. --model-control-mode와 HTTP/gRPC 엔드포인트로 모델의 생명주기를 제어합니다.

출처: https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/user_guide/managing_models.html

모델 제어 모드

--model-control-mode 옵션으로 모델 관리 방식을 고릅니다.

  • none(기본): 시작 시 --model-repository에 있는 모든 모델을 로드하고, 변경사항을 자동으로 반영합니다.
  • poll: 주기적으로 모델 저장소를 폴링해 추가·변경·삭제된 모델을 반영해요.
  • explicit: 자동으로는 로드하지 않고, HTTP/gRPC API로 명시적으로 제어합니다.
$ tritonserver --model-control-mode=explicit --model-repository=/models ...

명시적 로드·언로드

explicit 모드에서 모델을 로드하거나 언로드하려면 API에 model_namemodel_version을 지정해요.

$ curl -X POST localhost:8000/v2/repository/models/resnet50/load
$ curl -X POST localhost:8000/v2/repository/models/resnet50/unload

모든 모델을 명시적으로 로드하거나 언로드할 수도 있어요.

$ curl -X POST localhost:8000/v2/repository/index
$ curl -X POST localhost:8000/v2/repository/models/load --data '{"model_name":"resnet50"}'

index 엔드포인트

/v2/repository/index는 저장소에 있는 모델과 그 준비 상태를 보여줍니다.

[
  {
    "name": "resnet50",
    "version": "1",
    "state": "READY",
    "reason": ""
  }
]
  • state: READY, UNAVAILABLE, UNLOADING, LOADING 등.
  • reason: 로드 실패 등의 세부 사유.

더 알아보기