콘텐츠로 이동

Ray Serve

Ray Serve는 Ray 분산 프레임워크 기반의 확장 가능한 머신러닝 모델 서빙 라이브러리로, 동적 배칭(dynamic batching), 다중 노드 배포, 응답 스트리밍(response streaming) 등과 같은 다양한 기능을 제공합니다.

이 섹션에서는 Ray Serve 환경에서 RBLN NPU를 활용하는 방법과 예제에 대해서 가이드합니다.

시작하기

Ray Serve 설치

pip를 이용하여 Ray Serve를 아래와 같이 설치합니다.

$ pip3 install "ray[serve]" transformers requests torch --extra-index-url https://download.pytorch.org/whl/cpu

Ray Serve를 설치하기 위한 자세한 내용은 Ray 공식 문서를 참고 바랍니다.

Ray에서 RBLN NPU 사용

RBLN NPU는 Ray Core에서 사전 정의된 가속기 리소스 타입 중 하나로, RBLN NPU에서 실행되는 태스크(task)나 액터(actor)를 동작하기 위해, 아래와 같이 필요한 NPU 개수를 요청할 수 있습니다:

@ray.remote(resources={"RBLN":1})

Ray 노드를 시작하기 전에 RBLN_DEVICES 환경 변수를 설정하면 Ray에서 인식할 수 있는 Rebellions NPU 대상을 지정할 수 있습니다.

$ RBLN_DEVICES=1,2,3,4 serve run ...

튜토리얼

사용자가 Ray Serve 환경의 서빙을 이용할 수 있도록 튜토리얼을 제공합니다.