AI Engineer World's Fair 2026
Vertical Mobility: Inference from MVP to Trillion-Parameter Workloads — Sitanshu Gupta, CoreWeave
Read the talk
Vertical Mobility: Inference from MVP to Trillion-Parameter Workloads
Sitanshu Gupta explains how CoreWeave fits serverless and dedicated inference onto one platform, using workload timing, cache reuse, scheduling, and deployment choices to improve price performance.
From a talk by Sitanshu Gupta
At a glance
Ideas worth remembering
Provisioned throughput reserves serving capacity while retaining serverless hardware management and per-token billing; dedicated inference gives customers deployment control and per-GPU-hour billing.
Cache-aware routing prioritizes KV cache locality before a least-loaded fallback because reusing repeated inputs avoids expensive prefill.
Human pauses make cache offloading useful for chat: preserve conversation state in high-bandwidth storage, then restore it to HBM for the next turn.
Batch scheduling reassigns dedicated real-time capacity overnight. Customer-trained speculators address a different cost: increasing accepted speculative output lengths to improve generation throughput.
Two ways to buy inference, one platform to improve
An inference platform must serve customers who want an endpoint and customers who want control over their GPUs. Sitanshu Gupta, about four months into leading inference at CoreWeave, begins with those consumption choices. They determine which responsibilities the platform must absorb and which decisions it must expose, while supporting small and large models without repeatedly redesigning the stack. 0:13
The choices divide responsibility in three useful ways:
- Serverless: Customers use an API or UI and pay per token. CoreWeave manages hardware, clusters, and orchestration; the model catalog determines which models customers can use.
- Dedicated inference: Customers know which hardware they use and control their model deployments. CoreWeave supplies orchestration and the platform features needed to tune performance, while deployment and performance choices remain with the customer.
- Provisioned throughput within serverless: Customers supply a known traffic profile, and CoreWeave carves out capacity behind the scenes to meet throughput and service-level agreements. Hardware remains hidden, and billing remains per token. 1:42
Provisioned throughput addresses a concrete serverless failure mode: everyone requests the same model, the capacity behind it becomes crowded, and requests time out. A customer with predictable traffic can reserve serving capacity without taking on GPU operations. Dedicated inference becomes useful when choosing the hardware and deployment itself matters. 2:13
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The workload has a shape—and a clock
Input and output lengths alone do not describe an inference workload. Agentic and chat requests often both have long inputs and short outputs, yet their next turns arrive differently. A person reads an answer before asking another question. An agent can continue immediately. That difference changes how conversation state must remain available between requests. 3:20
Four workload shapes put different demands on the same infrastructure:
- Agentic: Long inputs, typically short outputs, and little delay between turns make repeated input processing and cache reuse especially important.
- Chat: Similar sequence lengths, with human reading time between turns. Cache management must account for those pauses.
- Voice and video: Steady streaming makes latency a central requirement. Delayed processing interrupts the stream.
- Batch: Loose completion windows permit work to wait. Gupta describes customers offering ten to twelve hours of work and allowing the platform to process it whenever capacity becomes available. 3:50
The short gap between agent turns is distinct from the overall serving requirement: Gupta characterizes agentic and chat demand as largely throughput-oriented, while voice and video are especially latency-sensitive. Batch adds scheduling freedom. Fitting these workloads together over time becomes a game of “Tetris”: flexible work can occupy capacity that urgent work does not need. 4:50
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
From the gateway to the right deployment
A request begins in an application, notebook, or agent and reaches a gateway. The shared platform handles authentication and authorization, rate limits, usage tracking, and observability. Usage supports billing; observability checks whether serving behavior meets the signed service-level agreements. 5:12
Below those services, inference engines such as vLLM, SGLang, and TensorRT-LLM run across different generations of NVIDIA GPUs. The platform must distribute work across that heterogeneous hardware rather than assume every serving deployment has the same capabilities. 5:42
For serverless requests, billing monitors token usage rather than token contents, which Gupta connects to CoreWeave’s zero data retention policy. The router distinguishes provisioned-throughput customers from shared customers: reserved customers target their explicit deployments, while multitenant requests use separate deployments. Within the eligible deployments, cache-aware routing seeks useful computation from earlier requests. 6:42
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Route toward computation already paid for
The expensive repetition sits in prefill: processing the input before generating the response. Gupta estimates that, depending on the customer, 80 to 90 percent of the input in agentic requests repeats across requests. Recomputing that shared portion spends compute on work already done. A KV cache preserves reusable input-processing state, allowing a cache hit to avoid repeating the corresponding prefill. 7:42
That reuse has an economic consequence. Prefill is compute-bound and expensive, so cached input tokens can be priced much lower than fresh input tokens. The router’s destination affects whether the request can reuse earlier work: finding available compute is only part of the job; finding the relevant cache matters too.
Separating prefill from decode—the phase that generates output—is another deployment option. CoreWeave supports prefill-decode disaggregation but does not make it mandatory: Gupta cautions that it is not cheap for every use case. The platform exposes the choice so the deployment can match the workload. 8:12
Dedicated requests enter through an isolated private gateway and are billed per GPU per hour. They retain the same cache-aware routing logic, while customers choose the inference engine, whether to separate prefill and decode, and how to divide reserved capacity. One model deployment can scale across the cluster, or the capacity can host several models and deployments. Owning the hardware allocation does not remove the value of reusing computation. 8:42
Routing becomes harder when capacity spans different GPU types, zones, and regions. CoreWeave’s stated priority is KV cache locality first, with the least-loaded destination as the fallback. This ordering expresses the value of avoiding repeated input work: a deployment’s current load alone does not tell the router how much computation a request will require there. 9:42
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give daytime GPUs a night shift
The Tetris analogy becomes concrete with a dedicated customer serving real-time traffic during US daytime and running batch jobs in the evening and overnight. The GPU capacity remains the same; its assignment changes. The API lets the customer specify when serving deployments should scale up and down. At the scheduled scale-down, capacity becomes available for batch processing through the night. 10:12
The mechanism depends on batch work tolerating delay. A streaming request needs attention when it arrives; a batch queue can wait for the scheduled opening. That flexibility lets one allocation support two traffic patterns and increases the time its GPUs spend doing useful work.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Keep a conversation’s cache through the reading pause
Return to the chat example. The first question has been processed and answered; now the user pauses to read. If the system completely evicts that conversation’s KV cache during the pause, the next question must pay for the repeated prefill again. The observable consequence is a longer wait when the conversation resumes. 11:35
CoreWeave instead describes offloading the cache to high-bandwidth storage. When another request arrives for that conversation, the stored state can return to GPU high-bandwidth memory, or HBM. Storage preserves the earlier computation outside GPU memory during the gap between turns. Gupta describes an internal implementation and mentions LMCache among external approaches to this problem. 12:05
What changes when the user asks the next question? The diagram follows the same conversation through the pause and contrasts eviction with offloading. Both paths resume inference, but the offload path preserves the earlier prefill for reuse. The relationship separates two cache problems: routing finds reusable state, while offloading keeps it available across time.
The conversation has reusable KV cache state.
Eviction discards prior computation. Offloading preserves the cache in storage and restores it to HBM when the conversation resumes.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Tune output throughput—and keep the workload in view
Cache reuse avoids input work. The closing performance discussion adds other deployment levers:
- Four-bit quantization: Gupta identifies this as one of the team’s two biggest recent levers.
- Speculative decoding: A speculator proposes output that the serving model checks. Acceptance length describes how much proposed output survives that check; longer accepted proposals let more output advance together, improving throughput.
- Parallelization choices: The degrees and strategies used to distribute inference work require careful selection alongside the engine and prefill-decode arrangement. 12:36
Customers can supply datasets for training custom speculators. The process is asynchronous: CoreWeave receives the data, trains the speculators, and deploys them into the customer’s serving deployments if requested. Training happens outside the live request path. The intended causal chain is to adapt the speculator to the customer’s data, improve acceptance lengths, and increase output throughput. 13:06
The results discussion distinguishes benchmark traffic from production traffic. Gupta describes strong Kimi leaderboard results on Artificial Analysis, then uses GLM results from OpenRouter to bring actual user traffic into the comparison. He identifies the Weights & Biases-branded deployment as CoreWeave’s and describes its speed as close to Fireworks Fast. These are workload-specific comparisons: numerical results and matching test conditions are not supplied here, so they do not establish a general speed or price advantage. 13:35
The closing objective is price performance. One platform supports serverless and dedicated consumption, including pay-as-you-go and provisioned throughput within serverless. Its improvements compound through different mechanisms: reuse repeated input computation, preserve cache between turns, schedule flexible work into available capacity, and tune generation performance. The customer’s workload determines which combination earns its cost. 14:37
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
Related talks
- KV Cache-Aware Routing and P/D Disaggregation on Kubernetes — Yuchen Fama & Ashish Kamra, Red Hat
Continues the two serving mechanisms central to this talk: routing toward reusable cache and separating prefill from decode.
- From model weights to API endpoint with TensorRT-LLM
Provides a deployment-oriented next step for one of the inference engines available in the dedicated platform.
Read the complete timestamped transcript
- 0:13
Good afternoon, everybody. Um, I'm Sitanshu from CoreWeave. I'm gonna be talking about vertical, uh, mobility. It's, uh, quite a fancy topic, uh, the title that we came up with, but basically gonna be talking about the inference platform that we have at CoreWeave that we are building to serve, uh, small to big models and various different types of workloads. Uh, q- a quick intro about me. Um, I joined CoreWeave just about four months back, uh, leading all of inference over there.
- 0:42
And, um, before this, I was managing everything at AWS, uh, Annapurna Labs for, uh, training, and before that, inference and training at SambaNova. So quite a bit of experience in, uh, in this particular space. Um, what I will-- The way I'll be taking you through is explaining to you the consumption models that we have, and from that, how we have derived what the platform should look like, so that we do not need to keep changing the platform, and we keep making enhancements in the platform that we have for serving inference. And how and why the,
- 1:12
why performance plays such an important role over there. Uh, I think a little bit of this might be, uh, common with the previous topic that was discussed over here. Um, consumption models. So we have, uh, at large, two biggest consumption models. One is, uh, serverless, which is where the customers can come in, consumers can come in, uh, do not need to worry about managing the hardware themselves, do not need to worry about managing the clusters, orchestration, anything at all. There's API, there's UI. You come in,
- 1:42
you pay per token, uh, and you get your model served. Um, biggest thing over here is that, uh, the type of models, uh, that we serve in the catalog, that is the breadth of models that the customer will be able to go through. Uh, I'll talk about dedicated, and then I'll come back to serverless because there is one thing unique on the serverless side. Dedicated inference service that we provide is more for customers who want to know exactly what hardware they are gonna be, you know, using and running on. Uh,
- 2:13
but the model deployment also depends on them. So they use our service, they use our orchestration layers, the-- but the model deployment depends on them. Model performance also depends on them, as long as we provide in the platform the capability and the knobs to serve those features. Coming back to serverless, uh, one of the interesting pieces over here is, um, typically serverless models are very, uh, are noisy neighbor problems, where, uh, if let's say everyone is banging on the exact same model, then you might be
- 2:43
timing out quite a bit, depending on how much capacity I have behind it. So another feature that we have on the serverless side is what we are calling, uh, provisioned throughput. So as a customer, if you know your traffic profile and if you can let us know about that, we can carve it out specifically for you behind the scenes. You still do not need to worry about what hardware it is exactly running on, as long as your throughput, your SLAs are maintained. So that is another one on the serverless side, and that is still charged by, by the token.
- 3:13
But you know that you're not running into the noisy neighbor problem over there.
- 3:20
Um, let me take a quick stab at few different types of workloads, uh, workload shapes that, uh, we have, um, that we are seeing. And the ratio between these is, like, continuously changing, though agentic is, like, really high up there. Uh, agentic and chat, kind of very similar. Super high on the input sequence lengths, very low on the output sequence lengths typically. But the biggest difference between agentic and chat being the fact that the multi-turns in agentic are super low latency versus in chats,
- 3:50
because when you get the response as a user, you have to read the answer, and then you respond to it. So there are, there are differences over there. And that big difference ultimately converts into something, uh, related to, uh, the KV cache management. Uh, but these are-- these two are both real-time, and another real-time workload is, uh, your voice and videos, uh, which are steady streaming and super latency sensitive. On the agentic, a-agentic and chat side, um, largely the requirements are from
- 4:19
throughput point of view, not so much from latency. But real-time voice and videos are absolutely latency sensitive. Coming to batch, batch is where the SLAs are, like, super loose. They run into like way-- like, seconds and minutes. Sometimes for some customers, actually even in hours. They are like, "I'll just throw... Give me ten to twelve hours of, uh, workload capability, and, uh, I'll throw whatever I can. Process it whenever you can." Uh, these batch workloads, um,
- 4:50
the way they come into the picture over here in, um, deciding, um, uh, sorry, being the requirement for some of the design choices that we make in the stack. Imagine these, uh, four different types of workload shapes. Um, in the time dimension, you have to play the game of Tetris on how you can fit it in to utilize the underlying infrastructure the most.
- 5:12
I'll give a high level on how our stack is shaped right now, um, and I'll walk you through a bit of a request flow over here. So for both serverless and dedicated, if you look at the right-hand side of the screen, you'll see that on the platform side, we, uh-- you'll go to the control plane to, uh, to have your, uh, authorizations, your rate limitings, and your usage being tracked, et cetera, so that we, you can be billed accordingly. And, uh, observability, so that we can, uh, make sure that we
- 5:42
are not violating the SLAs that have been signed, right? Uh, underlying on the platform, I've shown at a super high level that we have these, uh, different, um, inference engines, vLLMs, SGLangs, and, uh, TensorRT-LLM, but there are qui-- there's quite a few, quite a bit of detail over here that, uh, I'll touch upon. Uh, and underlying that, what I'm trying to show over here in green is, um, various different pieces of hardware. So it's not that, um-- So the platform
- 6:12
needs to be capable enough of share-- of having the workload getting distributed across various different generations of these GPUs, uh, specifically NVIDIA GPUs that we use, right? So let's take up a-- Let's take a few examples, uh, over here. Um, let's say the request originates from the client side through apps or notebooks, any, any of those, or through the agents, right? It hits the gateway. Once it hits the gateway, then, uh, like I mentioned on the control plane, goes through authentication, et cetera,
- 6:42
et cetera, et cetera. But then, um, comes either the serverless or dedicated. So in the case of serverless, it'll be pay per tokens, so that the token usage would be monitored over here. Not the exact tokens, but just the token usage, because we maintain ZDR, zero data retention policies. Uh, it is multi-data-- Depending on the multitenancy or the provisioned, uh, if it is provisioned, then we know underlying for the router, it needs to go in and, uh, target the, uh, the explicit deployments for the provision
- 7:12
throughput, uh, customers. For the multi-tenant customers, there are separate deployments. Router over here, specifically, uh, the, the router is very important since, um, the router is responsible for making, uh, KV cache-aware routing choices. Why is it important? Because like I mentioned when, uh, we were discussing the workload, uh, profiles, uh, the agentic use cases are typically super heavy on the input sequence lengths, and bulk of the input sequence length, about eighty to
- 7:42
ninety percent, depending on which company it is, depending on the customers, eighty to ninety percent of it is the same for various different requests. So there is no point in going in and recomputing the prefill-- or redoing the prefill for that. Prefill is super compute-bound, very expensive. That's why as much as you can hit the cache, more you can save. Which is why if you look at the token pricing anywhere, uh, there's a specific price for input tokens, and there's a
- 8:12
way cheaper price for the cache input token. So caching becomes, like, really important over here. Underlying, uh, the, uh-- Underlying how you want to split the hardware is totally dependent on the choice in the platform, and we provide the capability to do either. Either do a prefill-decode disaggregation if the use case desires it, or do not do it, because prefill-de-decode disaggregation is not, uh, cheap for every type of use case. Uh, let's
- 8:42
take another request flow, uh, over here. Let's see if, uh, when it was a dedicated customer, then what will happen. Uh, dedicated customer, again, will go, go through the gateways that have been set up for them with proper isolations. Um, billing is not based on tokens. Billing is based on usage of per GPU per hour. Uh, it's a private gateway so that, uh, there is no noisy neighbor problem, no one else can get in. Uh, same router logic over here so that, uh, if there
- 9:12
are, uh, cache heavy-- if there are requests which are very similar, then it's, it hits the cache most. And depending on the deployment that the customer makes in their-- on their dedicated GPUs, uh, they can decide if they wanna do prefill-decode disaggregation or not. They can decide which, um, uh, which e-engine to use, vLLM or SGLang or TensorRT-LLM. And given the bulk of capacity that the customer has reserved, they can decide if they want to have just one deployment, uh, with the ability to scale, uh,
- 9:42
through the whole cluster, or they want to have multiple different models, multiple different deployments. Um, one thing that I do want to mention about the router over here, um, is the fact that heterogeneous capacity across different zones and regions is supported. It is a little-- It's quite a bit of a hard problem to load balance across that. So the priority order that we typically take is, uh, first KV cache locality, and then the least
- 10:12
loaded fallback. Um, that's that. Um, another request flow that I want to go over here, which, um, might be a little hard to see from the diagram, is I want to take the batch workflow. For the batch workflow, what we would actually do is the underlying capacity that the customer has, let's say the same dedicated inference customer, uh, during US daytime, they're running their real-time workloads, and from evening to night, they want to run batch workloads. The same
- 10:42
capacity, after time, can be scheduled to run the batch workloads. So we provide the capability in the API to tell when to scale up and when to scale down. And as per schedule, if we can sc-- if they tell us that we have to scale down, so we will scale down and open it up for batch processing through the night.
- 11:05
I think I've spoken quite a bit about, uh, optimizations on the KV cache side, but I do want to repeat a little bit because this is one of the most interesting pieces. Um, it uh-- If we can hit on the cache more, you can, uh, you will avoid the cost of prefill, which is the most expensive piece over here. Um, uh, reusing the KV cache across multiple different turns in your agentic workloads. Between turns also, there is a lot of, um, uh, similar prefill, uh, that comes
- 11:35
in, uh, in the input sequence length. Um, think about the chat workloads, which is where offloading KV cache also becomes extremely important because with cache-- with the, with the chat workloads, we have a lot of latency between different-- between multiple turns that we as users put in. But, uh, if we completely evict whatever we had in our particular conversation, then the next time we ask a question in that same chat, it's gonna take a little bit longer. Uh, so instead of actually completely evicting
- 12:05
and redoing the prefill again, what the, the techniques being used are, uh, maybe using, um, we are, we are using our own, but, uh, externally we know about LMCache and, uh, Mooncakes. Um, what we do is we will offload the KV cache to a high bandwidth storage so that we can store a lot of these prefills, uh, such that whenever the accompanying request comes for that particular conversation, it can be loaded in right away into the HBM.
- 12:36
Um, on the performance lever, I would-- I, I just want to mention a few performance levers. We've discussed the prefill-decode disagg, that is one. But quantization and speculative decoding are others, and how to carefully choose the parallelization, uh, degrees and the strategies, that is actually very important. Uh, two of the biggest levers that we have been working with are quantization to NVFF4 and SpecDec. Uh, we do provide capability where if the customer has their data set and they want us to
- 13:06
train speculators for their data sets, for better acceptance lengths, which will ultimately make the output throughput significantly higher, uh, we do have that as well, so. But that happens async. We, uh, we get the data async, we train the speculators async, and then we deploy the speculators into the customer deployments, uh, if that's what they wanted. Uh, you see three screenshots over here. I have posted them from, uh, the last one month, one month's worth of work that,
- 13:35
uh, some of us in my team have done. You can see we came quickly on top of the leaderboard on Kimi two point six, two point seven, and, um, those are, those are from Artificial Analysis. And going back to the session before this, can we trust that? That's why for GLM, I have the results from OpenRouter. So Artificial Analysis, when they run benchmarks, they are running very specific workloads. OpenRouter is actual user traffic. Uh, and you can see, uh, on the OpenRouter side, uh, Weights & Biases, so the
- 14:05
branding is different, but Weights & Biases is basically CoreWeave. We bought, uh, Weights & Biases, uh, about a year back. Uh, you can see the speed over here that we have from our deployment is pretty close to what Fireworks is providing as Fireworks Fast, right? But underlying techniques that we are using is what I want to emphasize the most over here, uh, for, for performance optimization. That becomes critical because ultimately what you want to serve to the customer, what we want to serve to the customer is, uh, price performance benefit.
- 14:37
Quick recap. Um, single platform is, uh, what I've been trying to emphasize, is what I've tried to show. Uh, two different consumption models, serverless and dedicated for customers. And within serverless, I described two different consumption models as well, pay-as-you-go and provisioned throughput, if you care about that. And ultimately compounding the gains, uh, through performance optimizations, uh, in the stack. That's all. Thank you, folks.