# Gemma 3 with Variable Sliding Window Attention This guide demonstrates how to deploy google/gemma-3-1b-it with Variable Sliding Window Attention (VSWA) using Dynamo. Since google/gemma-3-1b-it is a small model, each aggregated, decode, or prefill worker only requires one H100 GPU or one GB200 GPU. VSWA is a mechanism in which a model’s layers alternate between multiple sliding window sizes. An example of this is Gemma 3, which incorporates both global attention layers and sliding window layers. ## Notes * To run Gemma 3 with VSWA and KV Routing with KV block reuse, ensure that the container is built using commit ID `c9eebcb4541d961ab390f0bd0a22e2c89f1bcc78` from Tensorrt-LLM. ```bash ./container/build.sh --framework TENSORRTLLM --tensorrtllm-commit c9eebcb4541d961ab390f0bd0a22e2c89f1bcc78 ``` * The 1.0.0rc4 release version of TensorRT-LLM can also run Gemma 3 with VSWA, but KV block reuse cannot be turned on in that version. ### Aggregated Serving ```bash cd $DYNAMO_HOME/components/backends/trtllm export MODEL_PATH=google/gemma-3-1b-it export SERVED_MODEL_NAME=$MODEL_PATH export AGG_ENGINE_ARGS=engine_configs/gemma3/vswa_agg.yaml ./launch/agg.sh ``` ### Aggregated Serving with KV Routing ```bash cd $DYNAMO_HOME/components/backends/trtllm export MODEL_PATH=google/gemma-3-1b-it export SERVED_MODEL_NAME=$MODEL_PATH export AGG_ENGINE_ARGS=engine_configs/gemma3/vswa_agg.yaml ./launch/agg_router.sh ``` #### Disaggregated Serving ```bash cd $DYNAMO_HOME/components/backends/trtllm export MODEL_PATH=google/gemma-3-1b-it export SERVED_MODEL_NAME=$MODEL_PATH export PREFILL_ENGINE_ARGS=engine_configs/gemma3/vswa_prefill.yaml export DECODE_ENGINE_ARGS=engine_configs/gemma3/vswa_decode.yaml ./launch/disagg.sh ``` #### Disaggregated Serving with KV Routing ```bash cd $DYNAMO_HOME/components/backends/trtllm export MODEL_PATH=google/gemma-3-1b-it export SERVED_MODEL_NAME=$MODEL_PATH export PREFILL_ENGINE_ARGS=engine_configs/gemma3/vswa_prefill.yaml export DECODE_ENGINE_ARGS=engine_configs/gemma3/vswa_decode.yaml ./launch/disagg_router.sh ```