Nemotron-3.5-Lightning
Nemotron-3.5-Lightning
Serve NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 with Dynamo, vLLM, and experimental TensorRT-LLM targets.
This recipe deploys nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4, a 30B hybrid Mamba/Attention/MoE model with about 3B active parameters per token. The vLLM targets cover H100, H200, B200, and GB200 with MTP, DFlash, or DSpark speculative decoding. The benchmark tables use a Mooncake-format agentic trace with 64K input tokens, 400 output tokens, and 90% KV reuse.
Choose your deployment target
Prerequisites
- A Kubernetes cluster with the Dynamo Platform installed and DGD CRDs served.
- A namespace with access to the selected GPU target.
- A Hugging Face token with access to the base model and draft models.
- An image pull secret if your cluster requires authenticated image pulls.
- AWS EFA/LIBFABRIC resources exposed as
vpc.amazonaws.com/efafor the H100 disaggregated manifests. - AWS EFA userspace available in the runtime image or installed by your cluster bootstrap flow before pod startup. The manifests do not download or install EFA packages. Use the EFA check helper to validate a prepared image or running pod; its install mode requires a pinned
EFA_INSTALLER_VERSIONandEFA_INSTALLER_SHA256.
- IB/RDMA resources exposed as
rdma/ibfor the H200 and B200 disaggregated manifests.
- GB200 disaggregated manifests leave fabric resources cluster-specific. Add the UCX/NIXL resource claims or network resources required by your platform.
Create the namespace and Hugging Face token secret:
Edit storage class, image pull secret names, node selectors, fabric resources, and cluster-specific placement before applying these manifests.
Deploy
Create the shared model cache and download the base and draft checkpoints. This step is common to every target:
Then deploy the selected target.
DSpark is the promoted single-worker B200 aggregate path from the checked-in validation table. Use agg-b200-dflash, agg-b200-mtp, or agg-b200-dspark-kv-router to compare the other aggregate options. For this validation trace, KV-aware routing did not materially change the result because KV-cache pressure was low; it can help workloads with enough reusable KV state to pressure a single worker.
DSpark is the highest-throughput H100 single-worker aggregate row in the checked-in validation table. Use agg-h100-dflash, agg-h100-mtp, or agg-h100-dspark-kv-router to compare the other aggregate options. For this validation trace, KV-aware routing did not materially change the result because KV-cache pressure was low; it can help workloads with enough reusable KV state to pressure a single worker.
DSpark is the highest-throughput H200 single-worker aggregate row in the checked-in validation table. Use agg-h200-dflash, agg-h200-mtp, or agg-h200-dspark-kv-router to compare the other aggregate options. For this validation trace, KV-aware routing did not materially change the result because KV-cache pressure was low; it can help workloads with enough reusable KV state to pressure a single worker.
DSpark is the highest-throughput GB200 aggregate row in the checked-in validation table. Use agg-gb200-mtp for the other passing aggregate row; agg-gb200-dflash missed the tok/s/user objective in the source results.
Use this target for B200 disaggregated vLLM validation with DSpark speculative decoding.
DSpark is the highest-output-throughput H100 disaggregated row in the source inventory. Use disagg-h100-dflash or disagg-h100-mtp to compare the other speculative decoding modes.
DSpark is the highest-throughput H200 disaggregated row in the source inventory. Use disagg-h200-dflash or disagg-h200-mtp to compare the other speculative decoding modes.
DSpark is the highest-throughput GB200 disaggregated row in the source inventory. Use disagg-gb200-dflash for the lower-throughput passing row.
Use trtllm/agg-b200/deploy.yaml for the no-spec fallback.
The H100 TensorRT-LLM target uses the MTP manifest.
The H200 TensorRT-LLM target uses the MTP manifest.
Use trtllm/agg-gb200/deploy.yaml for the no-spec fallback.
Smoke Test
Port-forward the frontend service for the deployment you applied:
Then send a chat completion request:
Benchmark
The checked-in recipe includes benchmark results in recipes/nemotron-3.5-lightning/perf/README.md. The pass criteria are tok/s/user >= 50 and TTFT p50 under 5 seconds.
To reproduce the shape, run AIPerf against the selected frontend with a Mooncake trace replay and the target concurrency from the table.
TensorRT-LLM rows are experimental smoke or inventory results in the source README. Use the same AIPerf shape after replacing the --url and concurrency with the selected TensorRT-LLM row below.
Expected Performance
Compare All Targets
Notes
- H100 disaggregated manifests request
vpc.amazonaws.com/efa: 4; H200 and B200 disaggregated manifests requestrdma/ib: 1. Change those resources when your cluster exposes different RDMA devices.
- TensorRT-LLM manifests are experimental in this recipe.
Source
- Source README: recipes/nemotron-3.5-lightning/README.md
- vLLM README: recipes/nemotron-3.5-lightning/vllm/README.md
- EFA check helper: recipes/nemotron-3.5-lightning/vllm/check-efa-userspace.sh
- TensorRT-LLM README: recipes/nemotron-3.5-lightning/trtllm/README.md
- Performance notes: recipes/nemotron-3.5-lightning/perf/README.md
- Model cache manifests: model-cache