triton-inference-server/python_backend
Triton backend that enables pre-process, post-processing and other logic to be implemented in Python.
해결하는 문제
개발자가 C++ 코드를 작성할 필요 없이 Python으로 작성된 머신러닝 모델을 Triton Inference Server를 사용해 배포할 수 있게 해줍니다. 이는 사용자에게 커스텀한 Python 기반 모델 로직을 위한 복잡한 C++ 백엔드 구현의 장벽을 제거합니다.
작동 방식
개발자는 TritonPythonModel이라는 이름의 Python 클래스를 만들고 특정 라이프사이클 메서드를 구현합니다. Triton 서버는 이 Python 스크립트를 로드하고 해당 메서드를 호출하여 모델을 관리합니다:
auto_complete_config: 설정 파일이 없을 경우 모델의 입력, 출력, 배치 설정을 선택적으로 정의합니다.initialize: 모델이 로드될 때 한 번만 실행되는 초기화 및 상태 설정을 처리합니다.execute: 모델이InferenceRequest객체 리스트를 처리하고, 해당하는InferenceResponse객체 리스트를 반환하는 핵심 로직입니다.finalize: 모델이 언로드될 때 정리 작업을 수행합니다.is_ready: 모델이 건강하고 요청을 처리할 준비가 되었는지 확인합니다.
대상 사용자
PyTorch, TensorFlow, JAX 등의 프레임워크를 사용해 Python 기반 모델을 프로덕션 수준의 추론 서버에 배포하고 싶은 AI 엔지니어 및 데이터 과학자. C++를 배울 필요가 없습니다.
주요 특징
- C++ 필요 없음: Python 모델을 직접 배포 가능.
- 프레임워크 독립: PyTorch, TensorFlow, JAX, NumPy를 지원합니다.
- 분리 모드: 비동기 또는 분리된 방식으로 응답을 반환할 수 있습니다.
- 비즈니스 로직 스크립팅(BLS): Python 내에서 복잡한 모델 체이닝 및 오케스트레이션을 가능하게 합니다.
- GPU 지원: DLPack을 통해 GPU 텐서와의 상호운용성을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트