공식 문서에서 추천하는 triton build 및 deployment 방법은 docker 이미지를 통한 빌드이기 때문에 추천하는 방식으로 블로그를 쓰려고 한다.
Triton inference server 설치 전 아직 docker와 NVIDIA Contianer Toolkit이 설치되어 있지 않다면 설치해주자.
Docker 다운로드 : https://github.com/NVIDIA/nvidia-docker
NVIDIA Contianer Toolkit 다운로드 : https://github.com/NVIDIA/nvidia-docker
만약, DGX 유저라면 아래 링크를 따라 셋팅하면 된다.
https://docs.nvidia.com/deeplearning/frameworks/preparing-containers/index.html
NVIDIA driver 버전에 따라 사용하는 triton container 버전이 달라질 수 있다. 나의 경우 driver 버전은 515.86.01이라, triton inference server container 버전은 22.08으로 docker image를 빌드했다. 만약 container에서 제공하는 최소 driver 버전보다 나의 driver가 낮다면 오류가 날 수 있으니 꼭 확인할 것!
아래 공식 문서에서 나의 driver 버전과 맞는 container 버전을 확인한다.
Triton Inference Server 릴리즈 노트 : https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/index.html
다양한 docker image 종류가 있는데, 이 블로그에서는 가장 기본이 되는 첫번째 image를 사용하려고 한다.
client
로 사용할 수 있는 docker image이다. 향후 서버 테스트 시 사용할 예정이다.docker pull nvcr.io/nvidia/tritonserver:xx.yy-py3
docker run --rm --gpus=2 -p 8000:8000 -p 8001:8001 -p 8002:8002 -v /local/path/of/model:/models nvcr.io/nvidia/tritionserver:xx.yy-py3 tritonserver --model-repository=/models
아래와 같이 결과가 나오면 triton inference server가 제대로 실행 된 것
$ curl -v localhost:8000/v2/health/ready
...
< HTTP/1.1 200 OK
< Content-Length: 0
< Content-Type: text/plain