An engineering team serves a single ONNX model on Triton Inference Server. Under load, the GPU sits at roughly 30 percent utilisation while many requests queue, because each request is processed one at a time even though the model accepts variable batch sizes. The team cannot change the client, which still sends one inference per call. Which model configuration change most directly raises throughput by forming larger batches from these separate in-flight requests?
- AAdd a dynamic_batching section to config.pbtxt so Triton groups individual incoming requests into larger batches on the server side before running the model. Correct
- BRaise max_batch_size in config.pbtxt to a larger number, which alone causes Triton to merge separate requests into one batch automatically.
- CSet instance_group count to a higher value so multiple model copies run, which merges the queued requests into a single larger batch.
- DSwitch the model to the sequence_batching scheduler so correlated requests are gathered into one batch.
Why A is correct: Dynamic batching queues separate single-request inferences for a short window and combines them into one batched execution, which is exactly the server-side aggregation needed to lift GPU utilisation without touching the client.
Why B is wrong: max_batch_size only sets the upper bound a batch may reach; it is tempting because it mentions batching, but without dynamic_batching enabled Triton still runs each single request on its own and never combines them.
Why C is wrong: Adding instances increases concurrency by running more copies in parallel, which sounds like it would help the queue, but each instance still processes one request at a time and no request gets combined into a larger batch.
Why D is wrong: Sequence batching is for stateful streams where requests share a correlation ID and must hit the same instance; it is plausible because it contains the word batching, but it does not aggregate independent stateless requests for throughput.