RBLN NPU에서 bge-m3 서빙¶
{"attn": "eager", "axes": [{"axis": "lmcache", "options": [{"label": "Off", "value": "off"}, {"label": "LMCache (CPU)", "value": "cpu"}, {"label": "LMCache (RDS)", "value": "rds"}], "title": "KV Offload"}, {"axis": "kv_connector", "options": [{"label": "Off", "value": "off"}, {"label": "LMCache (CPU)", "value": "lmcache_cpu"}, {"label": "LMCache (RDS)", "value": "lmcache_rds"}], "title": "KV Offload"}, {"axis": "prefix_caching", "options": [{"label": "On", "value": "on"}, {"label": "On (sub-block)", "value": "on_sub_block"}, {"label": "Off", "value": "off"}], "title": "Prefix Caching"}, {"axis": "spec_decode", "options": [{"label": "Off", "value": "off"}, {"label": "N-gram", "value": "ngram"}, {"label": "EAGLE-3", "value": "eagle3"}, {"label": "Suffix", "value": "suffix"}, {"label": "MTP", "value": "mtp"}], "title": "Speculative Decoding"}, {"axis": "on_device_sampler", "options": [{"label": "On", "value": "on"}, {"label": "Off", "value": "off"}], "title": "On-device Sampler"}, {"axis": "structured_output", "options": [{"label": "On", "value": "on"}, {"label": "Off", "value": "off"}], "title": "Structured Output"}], "badges": ["Embedding", "8,192 ctx", {"hl": true, "text": "vllm-rbln"}, "eager", "Text"], "client": "curl http://localhost:8000/v1/embeddings \\\n -H \"Content-Type: application/json\" \\\n -d \u0027{\n \"model\": \"bge-m3\",\n \"input\": \"The quick brown fox jumps over the lazy dog.\"\n }\u0027", "features": {"api": true, "mm": false, "text": true}, "hf": "https://huggingface.co/BAAI/bge-m3", "installLine": "pip install rebel-compiler vllm-rbln", "model": "BAAI/bge-m3", "name": "bge-m3", "provider": "BAAI", "strategies": [{"label": "RSD", "nodes": null, "options": [{"attn": null, "features": {}, "label": null, "modelImpl": "transformers", "note": null, "npus": 1, "roles": [{"cmd": "vllm serve BAAI/bge-m3 \\\n --max-model-len 8192 \\\n --model-impl transformers \\\n --rbln-num-devices-per-local-rank 1 \\\n --served-model-name bge-m3", "role": "main"}], "skus": ["RBLN-CA22", "RBLN-CA25"], "target": null, "verified": "2026-10-16"}], "slug": "rsd", "tag": "Aggregated", "variant": "BF16"}], "text": {"en": {"strategyNote": "Served through vLLM\u0027s \u003ccode\u003e/v1/embeddings\u003c/code\u003e endpoint. See \u003cstrong\u003eConfiguration\u003c/strong\u003e in the guide for the engine arguments.", "sub": "bge-m3 \u2014 text-embedding model served on RBLN NPUs with RBLN vLLM over the OpenAI-compatible API.", "tag": "The vllm serve command compiles the model on first run and starts an OpenAI-compatible server."}, "ko": {"strategyNote": "vLLM\uc758 \u003ccode\u003e/v1/embeddings\u003c/code\u003e \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub85c \uc11c\ube59\ub429\ub2c8\ub2e4. \uc5d4\uc9c4 \uc778\uc790\ub294 \uac00\uc774\ub4dc\uc758 \u003cstrong\u003eConfiguration\u003c/strong\u003e\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", "sub": "bge-m3 \u2014 \ud14d\uc2a4\ud2b8 \uc784\ubca0\ub529 \ubaa8\ub378, RBLN vLLM\uc73c\ub85c RBLN NPU\uc5d0\uc11c OpenAI \ud638\ud658 API\ub85c \uc11c\ube59\ud569\ub2c8\ub2e4.", "tag": "vllm serve \uba85\ub839\uc740 \ucd5c\ucd08 \uc2e4\ud589 \uc2dc \ubaa8\ub378\uc744 \ucef4\ud30c\uc77c\ud558\uace0 OpenAI \ud638\ud658 \uc11c\ubc84\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4."}}, "variant": "BF16"} 호스트에 RBLN Driver가 설치되어 있어야 하며, RBLN Compiler(rebel-compiler)를 설치하려면 RBLN Portal 계정이 필요합니다. 호환되는 패키지 버전은 설치 매트릭스에서 확인할 수 있습니다.
가이드 — 개요 및 설정
개요¶
BAAI/bge-m3는 텍스트 임베딩 모델입니다. RBLN NPU에서는 RBLN vLLM 플러그인이 최초 실행 시 컴파일하고, vLLM의 /v1/embeddings 엔드포인트로 서빙합니다.
Configuration¶
--rbln-num-devices-per-local-rank는 엔진 프로세스 하나가 사용할 NPU 디바이스 수를 지정하며, RBLN 컴파일러는 Rebellions Scalable Design(RSD)으로 이 디바이스들에 맞게 모델을 분할합니다. NPU별 RSD 적용 방식은 모델 병렬화에서 확인할 수 있습니다. 이 설정을 바꾸면 다음 실행 시 모델을 재컴파일합니다. 재컴파일을 일으키는 설정 전체는 Compile Cache에 정리되어 있습니다.
전체 엔진 인자는 설정 가이드에서 확인할 수 있습니다.
참고 및 제약¶
- 컴파일된 아티팩트는 최초 실행 시 캐시됩니다. NPU 개수나 엔진 인자를 바꾸면 다음 실행 시 재컴파일됩니다.