triton-inference-server/client

Triton Python, C++ and Java client libraries, and GRPC-generated client examples for go, java and scala.

해결하는 문제

Triton Inference Server와의 통신 과정을 단순화합니다. 수동으로 원시 네트워크 요청을 구성하는 대신, 이러한 표준화된 클라이언트 라이브러리를 사용하여 모델 추론, 서버 상태 및 건강 확인, 통계 및 메트릭 조회, 모델 리포지토리 관리 등을 수행할 수 있습니다.

작동 방식

이 프로젝트는 Triton이 사용하는 통신 프로토콜을 래핑하는 여러 프로그래밍 언어용 API를 제공합니다. 두 가지 주요 전송 프로토콜을 지원합니다:

  • HTTP/REST: 요청을 전송하기 위한 표준 웹 기반 접근 방식.
  • gRPC: 고성능 원격 프로시저 호출 프레임워크.

고성능 데이터 전송을 위해, 라이브러리는 시스템 및 CUDA 공유 메모리를 사용하여 입력을 전달하고 출력을 수신할 수 있도록 지원하여 클라이언트와 서버 간의 데이터 복사 오버헤드를 줄입니다.

대상 사용자

C++, Python, 또는 Java를 사용하여 AI 모델 예측을 위해 데이터를 Triton Inference Server로 전송해야 하는 애플리케이션을 개발하는 개발자들입니다.

주요 특징

  • 다중 언어 지원: C++, Python, Java용 공식 라이브러리. protoc 컴파일러를 통해 다른 많은 언어용 gRPC 스텁도 제공됩니다.
  • 고성능 데이터 전송: CUDA 및 시스템 공유 메모리 지원으로 지연 시간을 최소화합니다.
  • 보안 통신: HTTP 및 gRPC 프로토콜 모두에 대해 SSL/TLS 내장 지원.
  • 온와이어 압축: 요청 및 응답을 압축하여 대역폭을 절약할 수 있습니다.
  • 확장성: 게이트웨이를 통한 인증/권한 부여 등에 사용 가능한 사용자 정의 요청 헤더를 추가할 수 있는 Python Client Plugin API.
  • 비동기 지원: Python AsyncIO에 대한 베타 지원으로 비차단 추론 호출이 가능합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트