콘텐츠로 이동

Ray Serve

Ray는 Python 환경에서 고성능 분산 컴퓨팅을 지원하는 오픈소스 통합 프레임워크입니다. 그 위에서 동작하는 Ray Serve는 확장 가능한 머신러닝 모델 서빙 플랫폼으로, 동적 배칭(dynamic batching), 다중 노드 분산, 응답 스트리밍(response streaming)과 같은 다양한 기능을 제공하며 주요 머신러닝 프레임워크를 폭넓게 지원합니다.

Ray Serve 환경에서 리벨리온(Rebellions)의 고성능 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 환경의 서빙을 이용할 수 있도록 튜토리얼을 제공합니다.