triton-inference-server/backend
Common source, scripts and utilities for creating Triton backends.
해결하는 문제
이 프로젝트는 Triton Inference Server용 "백엔드"를 생성하기 위한 인프라 및 문서를 제공합니다. 백엔드는 모델을 실행하는 실제 구현체로, Triton이 다양한 딥러닝 프레임워크(예: PyTorch, TensorFlow, ONNX Runtime) 또는 이미지 전처리와 같은 작업을 위한 커스텀 C/C++ 로직을 지원할 수 있게 해줍니다.
작동 방식
Triton은 백엔드와 통신하기 위해 표준화된 C 인터페이스(Triton Backend API)를 사용합니다. 각 백엔드는 Triton이 런타임에 로드하는 공유 라이브러리(libtriton_<backend-name>.so로 이름 지어짐)로 구현됩니다.
API는 다음과 같은 핵심 추상화를 정의합니다:
- Backend: 해당 백엔드를 사용하는 모든 모델에 공유되는 전체 구현체.
- Model: 특정 로드된 모델을 나타냅니다.
- Model Instance: 모델의 실행 단위. Triton은 요청을 처리하기 위해 여러 인스턴스를 생성할 수 있습니다.
- Request/Response: 백엔드에 입력 텐서를 전달하고 Triton에 출력 텐서를 반환하기 위해 사용되는 객체.
대상 사용자
- ML 엔지니어: 다양한 프레임워크에서 모델을 단일 프로덕션 환경에 배포해야 하는 분들.
- 백엔드 개발자: Triton 생태계 내에서 특정 모델 작업이나 전처리 단계를 위한 커스텀 C/C++ 또는 Python 로직을 구축하고 싶은 분들.
주요 특징
- 프레임워크 독립적: TensorRT, ONNX Runtime, TensorFlow, PyTorch, OpenVINO, vLLM 등 다양한 프레임워크를 지원합니다.
- 확장성 있음: C 인터페이스를 통해 자체 커스텀 백엔드를 생성할 수 있습니다.
- 유연한 배포: 백엔드를 전역적으로 설치하거나 특정 모델 버전과 함께 번들로 설치할 수 있습니다.
- 커스텀 로직 지원: TorchScript나 다른 형식으로 변환하지 않고도 Python으로 모델 로직을 작성할 수 있는 Python 백엔드를 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트