콘텐츠로 이동

RBLN NPU에서 DeepSeek-V3.2 서빙

호스트에 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)와 prefill/decode disaggregated 명령에는 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"
가이드 — 개요 및 설정

개요

deepseek-ai/DeepSeek-V3.2는 685B 파라미터 Mixture-of-Experts 디코더 전용 모델입니다(routed expert 256개 + 공유 expert 1개, 토큰당 8개 활성화). DeepSeek Sparse Attention(DSA)을 사용합니다. RBLN-CR13에서는 RBLN vLLM 플러그인으로 서빙되며(fp8), aggregated 또는 prefill/decode disaggregated 구성을 고를 수 있습니다.

Configuration

RBLN-CR13으로 검증된 구성입니다. 위 recipe에서 strategy를 고르면 됩니다. 서버 하나가 디바이스 8개를 씁니다.

  • Data + Expert Parallel: --data-parallel-size는 모델 복제를 하나씩 올릴 CR13 디바이스 수이고, --enable-expert-parallel이 expert를 그 디바이스들에 분할합니다.
  • Pipeline Parallel: --pipeline-parallel-size가 layer를 디바이스에 나눠 올립니다.
  • Prefill/Decode disaggregated: prefill 서버와 decode 서버를 서로 다른 노드에서 실행하고 llm-d router 뒤에 둡니다. router의 helm 명령은 recipe에서 두 서버 명령 다음에 나옵니다. Kubernetes에서 llm-d router와 serving stack을 배포하는 방법은 Coding Assistant reference design의 Kubernetes 배포를 참고하세요.

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

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

참고 및 제약

  • RBLN-CR13으로 검증되었으며, serve 인자는 변경될 수 있습니다.
  • 배치 크기·시퀀스 길이·디바이스 수는 컴파일 시 고정되며, 변경하면 다음 실행 시 재컴파일됩니다.