gemma-3-12b-it on RBLN NPU¶
{"attn": "flash_attn", "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": ["Dense", "12B", {"hl": true, "text": "vllm-rbln"}, "flash_attn", "Multimodal"], "client": "curl http://localhost:8000/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -d \u0027{\n \"model\": \"gemma-3-12b-it\",\n \"messages\": [{\"role\": \"user\", \"content\": [\n {\"type\": \"text\", \"text\": \"What is in this image?\"},\n {\"type\": \"image_url\", \"image_url\": {\"url\": \"https://rbln-public.s3.ap-northeast-2.amazonaws.com/images/tabby.jpg\"}}\n ]}],\n \"max_tokens\": 64\n }\u0027", "features": {"api": true, "mm": true, "text": true}, "hf": "https://huggingface.co/google/gemma-3-12b-it", "installLine": "pip install rebel-compiler vllm-rbln", "model": "google/gemma-3-12b-it", "name": "gemma-3-12b-it", "provider": "google", "strategies": [{"label": "RSD", "nodes": null, "options": [{"attn": null, "features": {}, "label": null, "modelImpl": "transformers", "note": null, "npus": 1, "roles": [{"cmd": "vllm serve google/gemma-3-12b-it \\\n --additional-config \u0027{\n \"optimum_overrides\": {\n \"language_model\": {\n \"prefill_chunk_size\": 256,\n \"image_prefill_chunk_size\": 256\n }\n }\n }\u0027 \\\n --block-size 8192 \\\n --max-num-seqs 1 \\\n --model-impl transformers \\\n --rbln-num-devices-per-local-rank 1 \\\n --served-model-name gemma-3-12b-it", "role": "main"}], "skus": ["RBLN-CR13"], "target": null, "verified": "2026-10-16"}, {"attn": null, "features": {}, "label": null, "modelImpl": "transformers", "note": null, "npus": 8, "roles": [{"cmd": "vllm serve google/gemma-3-12b-it \\\n --additional-config \u0027{\n \"optimum_overrides\": {\n \"language_model\": {\n \"prefill_chunk_size\": 256,\n \"image_prefill_chunk_size\": 256\n }\n }\n }\u0027 \\\n --block-size 16384 \\\n --max-num-seqs 1 \\\n --model-impl transformers \\\n --rbln-num-devices-per-local-rank 8 \\\n --served-model-name gemma-3-12b-it", "role": "main"}], "skus": ["RBLN-CA22", "RBLN-CA25"], "target": null, "verified": "2026-10-16"}], "slug": "rsd", "tag": "Aggregated", "variant": "BF16"}], "text": {"en": {"strategyNote": "Rebellions Scalable Design (RSD): the RBLN Compiler partitions the model across NPU devices, or across the chiplets within one device. See \u003ca href=\"../features/model-parallelism.html#rebellions-scalable-design-rsd\"\u003eModel Parallelism\u003c/a\u003e for how RSD applies on each NPU, and \u003cstrong\u003eConfiguration\u003c/strong\u003e in the guide for the engine arguments.", "sub": "gemma-3-12b-it \u2014 vision-language model served on RBLN NPUs with RBLN vLLM; accepts images and text through an OpenAI-compatible chat API.", "tag": "The vllm serve command compiles the model on first run and starts an OpenAI-compatible server."}, "ko": {"strategyNote": "Rebellions Scalable Design(RSD): RBLN \ucef4\ud30c\uc77c\ub7ec\uac00 \ubaa8\ub378\uc744 NPU \ub514\ubc14\uc774\uc2a4 \uac04 \ub610\ub294 \ub514\ubc14\uc774\uc2a4 \ud558\ub098\uc758 \uce69\ub81b \uac04\uc5d0 \ubd84\ud560\ud569\ub2c8\ub2e4. NPU\ubcc4 RSD \uc801\uc6a9 \ubc29\uc2dd\uc740 \u003ca href=\"../features/model-parallelism.html#rebellions-scalable-design-rsd\"\u003e\ubaa8\ub378 \ubcd1\ub82c\ud654\u003c/a\u003e\uc5d0\uc11c, \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": "gemma-3-12b-it \u2014 \ube44\uc804-\uc5b8\uc5b4 \ubaa8\ub378, RBLN vLLM\uc73c\ub85c RBLN NPU\uc5d0\uc11c \uc11c\ube59. OpenAI \ud638\ud658 chat API\ub85c \uc774\ubbf8\uc9c0\uc640 \ud14d\uc2a4\ud2b8\ub97c \ud568\uaed8 \uc785\ub825\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"} Install the RBLN Driver on the host. An RBLN Portal account is required to install the RBLN Compiler (rebel-compiler). See the installation matrix for compatible package versions.
Guide — overview and configuration
Overview¶
google/gemma-3-12b-it is a vision-language model. On RBLN NPUs, the RBLN vLLM plugin compiles the language model and vision encoder on first run, then serves them over vLLM's OpenAI-compatible API. Include images using image_url content items in chat completion requests.
Configuration¶
--rbln-num-devices-per-local-rank sets how many NPU devices one engine process uses, and the RBLN Compiler partitions the model for those devices with Rebellions Scalable Design (RSD). See Model Parallelism for how RSD applies on each NPU. The vision encoder is configured through --additional-config (optimum_overrides.visual). Changing these settings recompiles the model on the next start. Compile Cache lists every setting that does.
See the Configuration Guide for all engine arguments.
Notes and limitations¶
- The sequence length and NPU count are fixed at compilation; changing any of these settings triggers recompilation at the next startup.