Ray Serve
Ray Serve는 Ray 분산 프레임워크 기반의 확장 가능한 머신러닝 모델 서빙 라이브러리로, 동적 배칭(dynamic batching), 다중 노드 배포, 응답 스트리밍(response streaming) 등과 같은 다양한 기능을 제공합니다.
이 섹션에서는 Ray Serve 환경에서 RBLN NPU를 활용하는 방법과 예제에 대해서 가이드합니다.
시작하기¶
Ray Serve 설치¶
pip를 이용하여 Ray Serve를 아래와 같이 설치합니다.
Ray Serve를 설치하기 위한 자세한 내용은 Ray 공식 문서를 참고 바랍니다.
Ray에서 RBLN NPU 사용¶
RBLN NPU는 Ray Core에서 사전 정의된 가속기 리소스 타입 중 하나로, RBLN NPU에서 실행되는 태스크(task)나 액터(actor)를 동작하기 위해, 아래와 같이 필요한 NPU 개수를 요청할 수 있습니다:
Ray 노드를 시작하기 전에 RBLN_DEVICES 환경 변수를 설정하면 Ray에서 인식할 수 있는 Rebellions NPU 대상을 지정할 수 있습니다.
튜토리얼¶
사용자가 Ray Serve 환경의 서빙을 이용할 수 있도록 튜토리얼을 제공합니다.
- Resnet50 서빙 : Ray Serve를 이용한 이미지 분류(Image classification) 모델 서빙 예시
- YOLOv8 서빙 : Ray Serve를 이용한 객체 감지(Object detection) 모델 서빙 예시
- Llama3-8B 서빙 : Ray Serve LLM API를 이용한 LLM 모델 서빙 예시
- Flash Attention을 이용한 Llama3-8B 서빙 : Flash Attention을 적용하여 Ray Serve LLM API를 이용하는 LLM 모델 서빙 예시