Triton Python Backend 예제 실행 및 구조 분석

Source

  • Field Notes/ReturnZero/Daily Notes/Day 314. 2022-05-10.md

Summary

이 노트는 NVIDIA Triton Inference Server의 Python Backend를 활용하여 커스텀 모델을 배포하는 과정을 기록한다. Docker 환경에서 서버와 클라이언트를 구성하여 ‘add_sub’ 예제를 성공적으로 실행한 후, HTTP 클라이언트 코드와 서버 측 TritonPythonModel 클래스의 초기화(initialize) 메서드 및 제약사항(클래스명, 파일명)을 분석했다.

Key Points

  • Triton Python Backend 모델 배포를 위한 폴더 구조(models/<model_name>/<version>/model.py)와 필수 파일명(model.py, config.pbtxt) 규정을 확인했다.
  • Docker 컨테이너를 사용하여 Triton Server와 Python Backend 예제(add_sub)를 클론 및 실행하는 전체 파이프라인을 검증했다.
  • HTTP 클라이언트(tritonclient)를 통해 모델 추론을 요청하는 방식과 InferInput, InferRequestedOutput 객체 생성 방법을 분석했다.
  • 서버 측 Python 스크립트에서 TritonPythonModel 클래스를 상속받아야 하며, initialize 메서드를 통해 모델 설정(model_config)을 JSON 형태로 파싱하여 사용하는 구조를 파악했다.