The Answer Starts Late, Then Arrives in Bursts
Why Generating an Answer Changed the Serving Problem
BOTIE
Once a model has learned its parameters, using it to produce an output is called inference. A service has to arrange that work for the people sending requests. Putting several requests through a model together can use the hardware more efficiently. That arrangement is a batch. Generating text complicates it: the model produces a token, uses that growing text as context, and returns to produce another. One answer may finish while its neighbour still has a page to write.
In 2022, the Orca research serving system addressed batches that stayed fixed for an entire response. Its iteration-level scheduling reconsidered the participating requests after each generation step. That gave finished requests a way out and waiting requests a way in. We will return to that decision later. First, we need to see where a reader waits. The invented timestamps below explain timing measurements used by serving systems such as vLLM; they are not measurements of either implementation.