Skip to main content
NVIDIA’s Nemotron 3.5 Lightning is a hybrid Mamba-2, MoE, and attention reasoning model with 30B total and 3B active parameters. This preset serves the NVFP4 checkpoint on one H100 with vLLM and DFlash speculative decoding, targeting high throughput at the model’s native 1M-token context.

Setup

Install the Baseten CLI and sign in, then install the OpenAI SDK.
Install and sign in to Baseten
Terminal
For other platforms or a specific version, see the Baseten CLI install reference.
Install the OpenAI SDK
Prefer not to install? Sign in with uvx truss login --browser and deploy with uvx truss push. This preset serves Nemotron 3.5 Lightning 30B-A3B on one H100 under vLLM with the NVFP4 checkpoint and DFlash speculative decoding, optimized for total token throughput at the model’s native 1M-token context window.

Hardware

H100

Engine

vLLM (0.27.0-x86_64 build)

Context

1M

Concurrency

512

Write the config

Create and move into the project directory:
Then create a file named config.yaml and paste the following:
config.yaml
This config mounts NVIDIA’s public NVFP4 verifier and DFlash drafter checkpoints through BDN, then launches vLLM with Humming MoE and quantized linear kernels, FlashInfer Mamba, and FP16 Mamba state with stochastic rounding. DFlash speculative decoding with three draft tokens combines with aligned prefix caching and a 512-sequence batch ceiling to push throughput on the model’s full 1,048,576-token context.

Flags

The start_command passes these flags to the engine. Each one controls a runtime or serving behavior:

Deploy

Push the config to Baseten with the Baseten CLI, or with the Truss CLI if you prefer it:
You should see output similar to:
baseten model push prints your model ID (abc1d2ef in the example). The examples below use it wherever you see {model_id}, and read your API key from the BASETEN_API_KEY environment variable.

Call the model

Your deployment serves an OpenAI-compatible API. Now call your deployment to run inference:
main.py
The server parses the model’s chain of thought into a separate reasoning_content field on the response. Read it alongside the final answer:
To let the model call tools, pass a tools array. The server returns structured tool_calls on the response:

Next steps

Call your model

Endpoint anatomy, authentication, and sync versus async inference

Autoscaling

Scale replicas with traffic, including scale to zero