vLLM RBLN: RBLN NPU용 vLLM 플러그인¶
vLLM RBLN(vllm-rbln
)은 리벨리온 NPU를 위한 vLLM용 하드웨어 플러그인으로, 고성능 LLM 추론 및 서빙을 지원합니다.
설치 방법¶
vLLM RBLN을 설치하기 이전에 반드시 rebel-compiler
와 optimum-rbln
의 최신 버전을 설치해야 합니다.
vLLM RBLN은 PyPI에서 바로 설치할 수 있으며, GitHub의 vLLM RBLN 저장소 내 소스 코드를 통해서도 설치 가능합니다.
다음은 pip를 통해 최신 릴리즈를 설치하는 명령어입니다.
Note
버전 v0.8.1부터 vllm-rbln
은 새로운 플러그인 시스템으로 마이그레이션되었습니다. 또한 이 버전부터는 vllm-rbln
을 설치하면 vllm
이 자동으로 종속성으로 함께 설치됩니다.
만약 vllm-rbln
을 이전에 설치한 적 있다면, 정상적인 동작을 위해 기존의 vllm
관련 패키지를 모두 지우고 vllm-rbln
패키지를 다시 설치해 주세요.
튜토리얼¶
vllm-rbln
을 쉽게 시작할 수 있도록, 기본적인 기능과 다양한 배포 옵션을 보여주는 튜토리얼을 제공합니다.
- vLLM RBLN을 활용하는 예시 코드
- vLLM RBLN을 활용해서 OpenAI와 호환되는 서버를 구축하는 예시 코드
아키텍처 디자인¶
현재 vLLM RBLN은 optimum-rbln
을 기반으로 작동합니다. 모델을 optimum-rbln
을 사용해 컴파일한 후, 컴파일된 모델을 vLLM에서 사용합니다.
이 방식은 현재까지 기본이자 권장되는 접근 방식으로, 새로운 아키텍처가 활발히 개발 중인 상황에서도 안정적이고 신뢰할 수 있는 워크플로우를 제공합니다.
모든 튜토리얼과 예제는 이 아키텍처를 기반으로 작성되어 있습니다.
Torch Compile 기반으로의 전환¶
사용자의 편의를 높이기 위해 새로운 아키텍처를 도입할 예정입니다.
이는 torch.compile()
을 활용함으로써 별도의 컴파일 단계를 제거하여, 표준 vLLM 워크플로우를 통한 보다 직관적이고 일관된 사용자 경험을 제공합니다.
torch.compile()
을 사용하면 첫 실행 시 모델이 컴파일되는 콜드 스타트(cold start)가 발생합니다. 이 때 컴파일 결과는 캐시에 저장되며, 이후 실행은 웜 스타트(warm start)로 처리되어 더 빠르고 최적화된 성능을 제공합니다.
V1 엔진 지원¶
vLLM RBLN은 V1 엔진을 지원합니다. 기본적으로는 여전히 V0 엔진이 사용되지만, 환경 변수 VLLM_USE_V1=1
을 설정하면 V1 엔진을 사용할 수 있습니다.
향후 릴리스에서는 V1 엔진이 vLLM RBLN의 기본 엔진으로 설정될 예정입니다.
지원하는 모델 목록¶
다음은 vLLM RBLN이 현재 지원하는 모델 목록입니다.
Generative Models¶
Architecture | Example Model Code |
---|---|
RBLNLlamaForCausalLM | Llama-2/3 |
RBLNGemmaForCausalLM | Gemma |
RBLNPhiForCausalLM | Phi-2 |
RBLNOPTForCausalLM | OPT |
RBLNGPT2LMHeadModel | GPT2 |
RBLNMistralForCausalLM | Mistral |
RBLNExaoneForCausalLM | EXAONE-3/3.5 |
RBLNQwen2ForCausalLM | Qwen2/2.5 |
RBLNBartForConditionalGeneration | BART |
RBLNT5ForConditionalGeneration | T5 |
RBLNBlip2ForConditionalGeneration | BLIP2 |
RBLNQwen3ForCausalLM | Qwen3 |
RBLNWhisperForConditionalGeneration | Whisper |
Multimodal Language Models¶
Architecture | Example Model Code |
---|---|
RBLNLlavaNextForConditionalGeneration | LlaVa-Next |
RBLNQwen2_5_VLForConditionalGeneration | Qwen2.5-VL |
RBLNIdefics3ForConditionalGeneration | Idefics3 |
RBLNGemma3ForConditionalGeneration | Gemma3 |
RBLNLlavaForConditionalGeneration | Llava |
Pooling Models¶
Architecture | Example Model Code |
---|---|
RBLNT5EncoderModel | T5Encoder-based |
RBLNBertModel | BERT-based |
RBLNRobertaModel | RoBERTa-based |
RBLNXLMRobertaModel | XLM-RoBERTa-based |
RBLNXLMRobertaForSequenceClassification | XLM-RoBERTa-based |
RBLNRobertaForSequenceClassification | RoBERTa-based |
RBLNQwen3ForCausalLM | Qwen3-based |
RBLNQwen3Model | Qwen3-based |