콘텐츠로 이동

RBLN NPU에서 gpt-oss-120b 서빙

호스트에 RBLN Driver가 설치되어 있어야 하며, RBLN Compiler(rebel-compiler)를 설치하려면 RBLN Portal 계정이 필요합니다. 호환되는 패키지 버전은 설치 매트릭스에서 확인할 수 있습니다.

1
2
3
$ pip install \
  --extra-index-url https://pypi.rbln.ai/simple \
  rebel-compiler==0.12.0

KV 오프로드(LMCache) 명령에는 lmcache-rbln과 nixl-rbln을 설치하는 kv_connectors extra가 필요합니다. 없으면 해당 서버가 시작 단계에서 실패합니다.

1
2
3
4
5
$ pip install \
  --extra-index-url https://pypi.rbln.ai/simple \
  --extra-index-url https://wheels.vllm.ai/0.30.0/cpu \
  --extra-index-url https://download.pytorch.org/whl/cpu \
  "vllm-rbln[kv_connectors]==0.12.0"

Suffix decoding(Speculative Decoding의 Suffix)에는 arctic-inference가 필요합니다. vllm-rbln 기본 설치에는 포함되지 않으며, 없으면 해당 서버가 시작 단계에서 ImportError로 실패합니다.

$ pip install arctic-inference==0.1.1
가이드 — 개요 및 설정

개요

openai/gpt-oss-120b는 Mixture-of-Experts(MoE) 디코더 전용 모델입니다. RBLN NPU에서는 RBLN vLLM 플러그인이 최초 실행 시 배치 크기·시퀀스 길이·NPU 개수를 고정해 아티팩트로 컴파일하고, 이를 vLLM OpenAI 호환 API로 서빙합니다.

Configuration

RBLN-CR13에서 검증했습니다. 위 recipe의 strategy는 모두 aggregated이며, 서버 하나가 디바이스 하나로 모든 요청을 처리합니다.

모든 명령은 --model-impl vllm으로 선택하는 vllm model implementation으로 동작합니다.

이 모델 라인의 다른 크기이며, 각각 별도의 recipe가 있습니다:

gpt-oss-20b

전체 엔진 인자는 설정 가이드에서 확인할 수 있습니다.

참고 및 제약

  • 배치 크기·시퀀스 길이·NPU 개수는 컴파일 시 고정되며, 변경하면 다음 실행 시 재컴파일됩니다.
  • latency strategy는 --max-num-seqs 1로, throughput strategy는 더 큰 값으로 서빙합니다. 값을 바꾸면 모델을 다시 컴파일합니다.