이전 포스팅에서 onnx 형식의 ner 모델을 triton에 업로드하여 동작을 확인하였다.하지만 해당 onnx 모델의 input은 input_ids, attention_mask 텐서, 즉 raw text를 tokenizer로 연산한 결과이다.따라서 tokenizing 하는 전처리 과정을 추가하기 위해 python backend model을 추가해야 한다.마찬가지로 onnx 모델의 output logit 만으로는 각 token이 어떠한 ner tag를 가지는지 알 수 없기 때문에,output logit을 ner tag 결과로 변환하는 후처리 과정을 추가해야 한다. 그러면 아예 모델 내부에 전처리/후처리 로직을 넣어서 onnx 모델로 변환하면 안되나 싶겠지만유연성, 재사용성, 확장성, 유지보수 등 다양한 측..
model repository 구조 알아보기Triton은 model repository 내부의 모델을 일괄적으로 로드하게 된다.트리톤 실행시 아래 명령어처럼 명시적으로 model-repository의 경로를 지정할 수도 있고,기본 경로는 "/opt/tritonserver/models/"이며 이전 포스팅의 volumeMounts에서 확인할 수 있다.$ tritonserver --model-repository= model repository 내부는 정해진 layout을 따라 파일을 구성해야하며 다음과 같다. / / [config.pbtxt] [ ...] [configs]/ [ ...] / / ... / ..
NVIDIA Triton 서버는 다양한 프레임워크의 AI 모델에 대해 AI Inference를 지원하는 오픈 소스이다.대부분의 Train/Inference 프레임워크를 모두 지원하며 Dynamic batching, Parallel Processing, Model Ensemble 등 다양한 기능을 지원하여 고성능 추론을 가능하게 만들어준다.또한 DevOps, MLOps를 위한 설계가 되어있어 Kubernets에 통합하여 모니터링과 확장이 용이하다는 장점이 있다. 거두절미하고 바로 쿠버네티스 환경에서 triton 서버를 띄우기 위한 환경설정을 시작하자.GPU-Operator 설치먼저 쿠버네티스가 NVIDIA GPU 리소스에 접근할 수 있도록 gpu-operator를 설치해야 한다.gpu-operator는 자..