Production features
BIS-LLM ships four features that the standard inference path doesn’t include. Token-based autoscaling lives on the Autoscaling engines page; the other three are documented together in Advanced features for BIS-LLM.Token-based autoscaling
Scales replicas on
target_in_flight_tokens rather than request concurrency, so mixed-length prompt workloads scale on real compute load.KV-aware routing
Routes requests to the worker most likely to serve them from KV cache. Lower time-to-first-token on prefix-overlapping traffic.
Disaggregated serving
Splits prefill and decode onto independent worker groups that scale separately.
Speculative decoding
Eagle, MTP, and N-gram speculation. Multiple tokens per forward pass on supported architectures.
A canonical configuration
BIS-LLM is configured in thebis_llm block of config.yaml. A prequantized DeepSeek V3.2 deployment on H200 looks like:
config.yaml
truss push, the BDN mirrors weights to GPU-local storage and the deployment exposes OpenAI-compatible /v1/chat/completions. The four production features above each plug in through their own blocks in bis_llm.config; see BIS-LLM configuration for the complete reference.
For tuning advice on a specific or fine-tuned model, contact your Baseten representative.
OpenAI-compatible inference
BIS-LLM deployments expose/v1/chat/completions, /v1/completions, and /v1/embeddings (where applicable). Standard OpenAI client SDKs work without modification:
Observability
BIS-LLM emits metrics from three components. Each has its own dashboard section:
Engine-level metrics, available on every BIS-LLM deployment:
Start with
tps_per_request to confirm replicas handle load as expected. If you run Enterprise features, add kv_cache_hit_rate (KV-aware routing, in the router domain) or speculation_rate (Eagle/MTP) next. See Advanced features for BIS-LLM for speculative-decoding configuration that produces speculation_rate.
Migrate from Engine-Builder-LLM
The Engine-Buildertrt_llm build schema has a v2 (inference_stack: v2) that moves runtime fields out of build:, renames tensor_parallel_count to tensor_parallel_size, and drops fields v2 handles automatically (plugin_configuration, base_model). See Migrate from Engine-Builder-LLM for the field-by-field mapping, the semantic changes, and the validation errors you might see during cutover.
Related
- BIS-LLM configuration reference: Complete v2 configuration options.
- Migrate from Engine-Builder-LLM: Translate a v1 configuration to BIS-LLM.
- Advanced features for BIS-LLM: KV-aware routing, disaggregated serving, and speculative decoding.
- Autoscaling engines: Configure target in-flight tokens for BIS-LLM deployments.
- Structured outputs: JSON schema validation.
- Examples section: Concrete deployment examples.