Triton Inference Server Ray Serve 배포

Triton Inference Server Ray Serve 배포 (Ray Serve Deployment)

트리톤 인퍼런스 서버의 In-Process Python API를 쓰면 트리톤 서버 기반 모델을 FastAPI, Ray Serve를 포함한 어떤 파이썬 프레임워크에도 통합할 수 있어요. 이 디렉토리는 FastAPI 기반의 예시 Triton Inference Server Ray Serve 배포를 담고 있습니다.

설치

stable diffusion 파이프라인은 Popular_Models_Guide/StableDiffusion 튜토리얼을 기반으로 해요.

저장소 클론

git clone https://github.com/triton-inference-server/tutorials.git
cd tutorials/Triton_Inference_Server_Python_API

Tritonserver 이미지와 Stable Diffusion 모델 빌드

하드웨어 구성과 네트워크 연결에 따라 아래 명령은 수 분이 걸릴 수 있어요.

./build.sh --framework diffusion --build-models

Ray Serve 배포 실행

컨테이너 시작

다음 명령은 컨테이너를 시작하고 현재 디렉토리를 workspace로 볼륨 마운트합니다.

./run.sh --framework diffusion
cd examples/rayserve

로컬 Ray 클러스터 시작

다음 명령은 로컬 Ray 클러스터를 시작해요. 기본 Ray 및 Ray Serve 메트릭·대시보드가 켜진 prometheus와 grafana 인스턴스도 함께 시작합니다.

./start_ray.sh

배포 실행

serve run tritonserver_deployment:deployment

배포에 요청 보내기

이 배포는 두 개의 엔드포인트를 포함합니다.

/identity

identity 엔드포인트는 문자열을 받아 같은 문자열을 반환합니다.

예시 요청

curl --request GET "http://127.0.0.1:8000/identity?string_input=hello_world!"

예시 출력

"hello_world!"

/generate

generate 엔드포인트는 프롬프트를 받아 stable diffusion으로 프롬프트 기반 이미지를 생성하고 파일로 저장합니다.

예시 요청

curl --request GET "http://127.0.0.1:8000/generate?prompt=car,model-t,realistic,4k&filename=/workspace/examples/rayserve/car_sample.jpg"

Ray·Ray Serve 대시보드 보기

Ray와 Ray Serve 대시보드는 기본 포트에 호스팅되며 다양한 메트릭을 시각화하는 데 쓸 수 있어요.

<IP_ADDRESS>:8265

Ray Serve 클러스터 중지

다음 명령은 로컬 Ray 클러스터를 중지하고 prometheus·grafana 인스턴스도 함께 중지합니다.

./stop_ray.sh

더 알아보기 (Learn more)