# Triton

10개의 포스트
post-thumbnail

triton inference server 성능 최적화

k8s triton inference server 클러스터 구축 포스팅에 이어 배포된 추론서버의 서빙성능 최적화에 관한 내용을 다뤄보려고한다. triton에서는 모델 서빙 성능을 개선하기 위해 Dynamic Batch, Concurrent Model Execution 등의 다양한 기능을 제공한다. 위 기능들과 Performance Analyzer, Model Analyzer를 사용해 성능 최적화를 시도해보려고한다

2023년 8월 11일
·
1개의 댓글
·
post-thumbnail

k8s triton inference server 클러스터 구축

ec2 쿠버네티스 클러스터 구축 포스팅에 이어 클러스터의 worker 노드에 nvidia gpu를 할당하는 내용을 다뤄보려고한다. gpu 할당 NVIDIA Container Toolkit과 k8s용 nvidia 장치 플러그인을 설치해야한다. 컨테이너에서 gpu를 사용하는 경우 호스트에서 자원을 마운트해야하는데, NVIDIA Container Toolkit은 이를 자동으로 해준다. 기본적으로 호스트에 nvidia 드라이버가 설치되어 있어야 하는데, 본 포스팅에서 사용하는 ec2 인스턴스의 AMI에는 위 드라이버가 모두 설치되어있다. 직접 호스트의 nvidia 드라이버를 설치할 필요는 없고, 바로 환경을 구성하면 된

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[내일 출근인데 어떡하지] MLOps : Triton 으로 모델 배포하기 🪐

앞서 TorchServe 를 소개했는데요, 이번에는 Nvidia 에서 발표한 Inference server 인 'Triton' 을 소개합니다. Triton Triton 의 풀네임(?) 은 Triton inference server 인데요, 저는 TorchServe 에서는 쓰이지 않던 ‘Inference server’ 라는 명칭에 주목했습니다. 과연 'Inference server' 는 일반 모델 서빙 프레임워크와 어떤 차이가 있을까요? Triton 공식 홈페이지에서 내세우는 장점은 다음과 같습니다. TF, pytorch, onnx, TensorRT 프레임워크 지원 *앞서 소개한 TorchServe 는 pytorch 로 개발한 모델 내지 torchscript 로 변환한 모델만 배포 가능한데 Triton 은 다양한 프레임워크로 개발한 모델을 지원할 수 있는 장점이 있네요. 하드웨어 활용 극대화 *같은 WS에서 torchserve 는 CUDA

2023년 7월 2일
·
0개의 댓글
·

Triton String Input

Triton Inference Server의 장점 중 하나는 여러 모듈을 묶는 ensemble 기능이다. 이 전 게시글에서 언급했듯이 전처리 + 모델 inference + 후처리를 묶어 하나의 요청에서 끝낼 수 있기 때문이다. 최근 AI 영역에서 가장 핫한 분야는 언어 모델(Language Model)인데 이 모델들은 입력을 자연어, 즉 string 자료형으로 받는다. 이 상황에서 내가 풀고 싶었던 문제는 다음과 같다. numpy를 사용하지 않고 문자열을 담은 요청을 보내는 법 tritonclient를 사용하지 않고 요청을 보내는 법 이 두 내용을 정리한 문서가 거의 없다...결국 ChatGPT와 Bard에게 물어가며 알아낸 방법을 여기에 정리해본다. > 이 글은 tritonserver 컨테이너가 실행되고 있다고 가정한다. 서버(요청을 받는 곳)

2023년 5월 25일
·
0개의 댓글
·

Triton Ensemble

Triton Inference Server 공식 웹사이트 NVIDIA에서 만든 딥러닝 모델 서빙 소프트웨어이다. 요즘에 tf-serving이나 torch-serve보다 많이 쓰이고 있다고 한다...? 아마..? 공식 문서를 보면 python backend를 지원한다는 말이 나온다. 이 말은 django, flask, fastapi 등과 같은 파이썬 백엔드 프레임워크처럼 서버에 요청이 들어오면 특정 로직을 수행하는 역할도 할 수 있다는 의미이다. 다시 말해 요청이 들어오면 인풋 데이터 전처리 → 모델 inference → 아웃풋 데이터 후처리를 하나의 파이프라인으로 관리할 수 있다는 것이다. 이 기능을 NVIDIA는 앙상블(ensemble)이라고 부르는데, 앙상블 서버(?)를 구축하는 방법을 간단히 살펴보자. > nvi

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

[2023 DEVIEW 리뷰] 값비싼 Diffusion model을 받드는 저비용 MLOps

아래에 글은 NAVER의 2023 DEVIEW에서 SYMBIOTE AI의 김태훈님께서 발표해주신 '값비싼 Diffusion model 저비용 MLOps'에 대해 개인적으로 공부하고 리뷰, 정리하여 공유한 글 입니다. 참고 [NAVER TV] 값비싼 Diffusion model을 받드는 저비용 MLOps 발표 자료값비싼%20Diffusion%20model를%20받드는%20저비용%20MLOps.pdf) 요약 diffusion model 이란 multimodal image generation model with diffusion process. diffusion model의 단점은 학습, 추론 속도가 느리다는 것. 즉, latency와 scalability가 중요함. 레이턴시 개선을 위

2023년 4월 10일
·
0개의 댓글
·

[MLOps] Triton Inference Server 구축기 2 - model repository 만들기

이전 글에서 triton inference server를 docker로 띄우는데 성공하였다면, 이제 serving 하고자 하는 모델을 triton에 올릴 차례이다. triton은 모델 저장소(model-repository)에서 각각의 모델과 메타 데이터(버전 등)을 읽어와 서버로 띄운다. model-repository는 로컬 혹은 remote cloud인 AWS S3, Azure Blob Storage, Google Cloud Storage가 될 수도 있다. 여기서는 로컬 환경에서의 repository 구성을 하려 한다. Model Repository의 구조 우선 serving 할 모델들이 위치할 폴더를 하나 생성한다. 그 다음 생성한 폴더 아래에 아래와 같은 layout으로 model, config 파일 등을 넣어둔다. [Model-repository 구성 예시] Model-repository는 총 세가지 구성 요소로 되어 있는데, 1.

2023년 3월 1일
·
0개의 댓글
·

[MLOps] Triton Inference Server 구축기 1 - 설치

공식 문서에서 추천하는 triton build 및 deployment 방법은 docker 이미지를 통한 빌드이기 때문에 추천하는 방식으로 블로그를 쓰려고 한다. 1. Docker, NVIDIA Container Toolkit 설치하기 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 2. NVIDIA driver 버전 확인하기 NVIDIA

2023년 2월 24일
·
0개의 댓글
·

[MLOps] Triton Inference Server 구축기 0 - 공식 문서 모음

[Update] 28 Feb - 7번 Tutorial repo 추가 Triton으로 inference server를 구축하는 과정에서 정보가 많이 없어 고생을 많이 하고 있다. 예시도 많이 없을 뿐더러, Nvidia에서 나온 공식 문서도 이곳 저곳 흩어져 있어서 이곳에 정리해보려 한다. 삽질하는 시간을 줄이는 방법은, 공식 문서를 보는 것이기 때문에..! Triton Inference Server Offical Docs 1. Triton Inference Server Release Notes -> Link Triton의 이전 버전부터 최신 버전까지의 release note를 확인할 수 있다. 또한, 가장 중요한 driver requirements(CUDA, CuDNN, NVIDIA

2023년 2월 24일
·
0개의 댓글
·

Triton Inference Server 사용법

Triton Inference Server Triton Inference Server 는 NVIDIA 에서 공개한 open-source 추론 지원 소프트웨어입니다. 그렇다면 굳이 사용하는 이유는? 개인적으로 생각하기에 가장 큰 이유는 편해서입니다. 따로 backend 라이브러리를 공부할 필요 없이, 학습된 모델 파일+config파일 몇개+전후처리 코드 정도만 구성해주면 바로 추론 서버를 제작할 수 있습니다. 또한 아직 다 사용해보진 않았지만, 다이나믹 배치 추론, multi-gpu 지원, Prometheus 메트릭 지원 등등 이미 제공하는 좋은 기능들도 많이 존재합니다. Triton 서버 제작 제가 작성한 example code를 토대로 간단한 Triton 서버를 제작하는 과정을 보여드리겠습니다. flow는 대충 아래와 같습니다. model 파일

2023년 1월 29일
·
0개의 댓글
·