All posts
Event
  • #inference
  • #gpu

Scaling inference with vLLM

17.06.2026·7 min

Scaling inference with vLLM

1st Istanbul vLLM & llm-d Inference Meetup

17 June 2026 · İTÜ Taşkışla, Harbiye

Some days are not about the code, but about the people. On 17 June I attended the first Istanbul vLLM & llm-d Inference Meetup at İTÜ Taşkışla: a full afternoon gathered by Red Hat AI, NVIDIA, and BeyondGuard, all about scaling inference. 446 people had registered, and the room was full of people genuinely wrestling with keeping a model alive in production.

Date
17.06.2026
Venue
İTÜ Taşkışla · Harbiye
Attendance
446 registered
Hosts
Red Hat AI · NVIDIA · BeyondGuard

Topics on the table

  • PagedAttention
  • continuous batching
  • speculative decoding
  • Multi-LoRA
  • quantization
  • llm-d
  • multimodal
Welcome to the 1st Istanbul vLLM Meetup slide
“1st Istanbul vLLM Meetup”: the opening screen as the room filled up.
Istanbul Technical University, Taşkışla
The venue: Istanbul Technical University, Taşkışla.

How the day ran

  1. 14:00Welcome & intro to inferenceErkan Ercan · Red Hat Turkey
  2. 14:20Intro to vLLM, ecosystem and roadmapMichael Goin · vLLM Core Maintainer · Red Hat AI
  3. 15:00Scalable, distributed inference with llm-dEdoardo Vacchi · Principal ML Engineer · Red Hat AI
  4. 15:45Multi-LoRA servingMustafa Oğuz Cengiz · BeyondGuard
  5. 16:15Efficient inference with model optimizationMireille Fares · GenAI Solution Architect · NVIDIA
  6. 16:45Securing vLLM in productionTufan Küpeli · CTO · BeyondGuard

When the room filled up

Michael Goin's opening treated vLLM less as a library tour and more as an operating model: in production a model is not a single file, it's a system you have to keep standing. The rest of the day orbited that sentence.

Each speaker looked at the same picture from a different corner: one at memory, one at scheduling, one at the cluster, one at security. Below I tried to retell the ideas the way I enjoy most, by drawing them; each diagram card carries the essence of one session.

01/12

The waste of memory

The real bottleneck in serving a language model is often not compute, but how memory is managed. In a naive server, the KV cache for each request is reserved as one contiguous block sized for the maximum sequence length. Since most requests never reach that maximum, the bulk of expensive GPU memory sits idle 'just in case.'

Diagram · KV cache

Naive: one contiguous block

usedreserved, wasted

vLLM: PagedAttention pages

vLLM's fix is borrowed from operating systems: virtual memory and paging. The KV cache is split into small fixed-size pages instead of one huge contiguous block. Each sequence sees logical pages that may sit scattered across physical memory. Fragmentation drops to near zero.

Challenge: KV caching slide on stage
“Challenge: KV caching”: the same idea, live on stage.

In practice this means many more concurrent requests on the same GPU. Memory is spent on what's actually used, not on the worst case, and that small accounting change decides the capacity of the whole service.

02/12

Sharing a common prefix

Paging brings a bonus: requests that start the same way (say, all sharing one system prompt) physically share those pages. With prefix caching the same tokens aren't recomputed over and over; both memory and compute are paid once.

Picture a chat app: every request is preceded by the same long system instruction. Without sharing, it's reprocessed each time. In vLLM it's computed once, then everyone looks at the same pages. Below, the navy cells are that shared prefix, and each request's own-coloured cells are its unique continuation. Tap a legend item to highlight the shared prefix or a single request.

Diagram · prefix sharing
request 1
request 2
request 3
03/12

Two phases: prefill and decode

An inference request splits into two characters. In prefill the whole prompt is fed to the model at once; all tokens are processed in parallel (fast), and it saturates the GPU. In decode the answer is produced one token at a time: each token depends on the last, sequential and relatively slow.

Diagram · prefill / decode

prefill · all at once (parallel)

decode · one by one (sequential)

1
2
3
4
5
6

The split matters because the two phases have different appetites: one hungers for compute, the other for memory. That's exactly why systems like llm-d disaggregate them onto separate machines: give each job the hardware it loves.

04/12

Stopping the idle GPU

The second big idea is in scheduling. A fixed batch waits for its slowest request to finish; short answers complete early but the cores spin idle. vLLM instead rebuilds the batch at every decode step: a finished request leaves, a queued one takes its slot immediately.

Diagram · static vs continuous

fixed batch · idle steps

continuous · always full

busyidle

This is called continuous batching, and its effect is striking: the GPU never waits for 'the batch to drain,' utilization stays high, and latency shrinks for everyone in the queue. The two diagrams below show it: first the gaps of a fixed batch, then how a single decode step is rebuilt.

Diagram · decode step
req #1
done → evict
req #2
generating
req #3
generating
req #4
admitted from queue
05/12

Speculative decoding: two models, one speed

One of the most elegant speed tricks at the core of vLLM is speculative decoding. Token generation is inherently sequential and slow: each token waits for the previous one. Speculative decoding lets a small, fast 'draft' model guess several tokens ahead; the large 'target' model verifies all of them in a single pass.

The correct prefix is accepted as-is and cut at the first miss. When the draft guesses well you produce several tokens in one pass; when it guesses badly you lose nothing, because verification guarantees quality. The result: same output, fewer rounds. The slide on stage summed it up in three steps.

Diagram · speculative decode

draft model proposes

t1
t2
t3
t4
t5

target model verifies

acceptrejectdiscarded (after first miss)
Speculative decoding in 30 seconds slide
“Speculative decoding in 30 seconds”: the three-step summary from the stage: Draft → Verify → Accept.
06/12

Multi-LoRA: one base, many personalities

The second half of that session was Multi-LoRA serving. Instead of hosting a separate giant model per specialty, small LoRA adapters are attached on top of a single base model. vLLM can serve them at once: same GPU, same base weights, but each request is answered with its own adapter.

Cost of one model, flexibility of dozens. One request calls the 'code' adapter while another calls 'SQL', yet the base weights stay as a single copy in memory. It's the most practical way to keep dozens of specialized models alive on one GPU.

Diagram · Multi-LoRA
base model (shared weights)
LoRA · chat
LoRA · code
LoRA · SQL
Adaptive Layer / LoRA session slide
From the Adaptive Layer / LoRA session: one base model, multiple adapters.
07/12

Model optimization: smaller, faster

On the NVIDIA side, Mireille Fares's session focused on lightening the model itself. Quantization represents weights with fewer bits: from FP16 to FP8, even INT4. Fewer bits means less memory and faster memory access.

Diagram · quantization

memory per weight (relative)

FP16
FP8
INT4

The trick is keeping quality: smart quantization schemes shrink a model to half or a quarter with almost no loss of accuracy. A smaller model fits on more GPUs and answers faster, and combined with speculative decoding and PagedAttention, the gains compound.

08/12

llm-d: spreading inference across a cluster

Edoardo Vacchi stepped beyond a single GPU into the cluster. llm-d scales vLLM on Kubernetes: incoming requests pass through a KV-cache-aware router, prefill and decode workloads can be split onto separate nodes, and the cache is shared across replicas.

A model is no longer a process, it's a service topology. The router knows which request is close to which cache; so requests sharing a prefix land on the same replica and recomputation is avoided. Every trick of the single machine, now spread across the cluster.

Diagram · llm-d topology
KV-cache-aware router
prefill · processes prompt
prefill · processes prompt
decode · generates tokens
decode · generates tokens
shared KV cache
vLLM architecture slide
Architecture session · the end-to-end journey of output through the system.
09/12

What's next?

Goin's close showed where the ecosystem is heading: vLLM isn't just a fast engine, it's an evolving platform. The roadmap on stage pointed to five stops.

Track · roadmap
01 Core
core engine
02 Speed-of-light
performance
03 Distributed
distributed serving
04 Multimodal
multimodal
05 RL
online learning

A direction running from the core engine to raw performance, to distributed serving, to multimodal models and online reinforcement learning. In other words, everything we discussed today is just the first few stops of a much larger story.

vLLM evolution roadmap slide
“vLLM Evolution as the Ecosystem Progresses”: a five-stage roadmap.
10/12

Once it ships: security

Tufan Küpeli (BeyondGuard) took the less-discussed but critical side: the moment you expose an LLM to production, you also expose an attack surface. As much as speed and capacity, what goes in and what comes out is an engineering problem too.

The talk gathered around three layers, and all three are the responsibility of the system, not the model.

Prompt injection defense

Stopping user input from hijacking the model.

Data protection

Keeping sensitive data out of prompts and responses.

Runtime policy

Rule enforcement and auditing at run time.

A strong model is not enough if the system serving it cannot keep up.
11/12

What it's really about: community

Across five sessions one sentence kept coming back: a model is no longer a single file, it's a system. But the most valuable part of the day wasn't the slides; it was the conversations in the breaks, the introductions, the energy of people wrestling with the same problem.

Seeing a community-driven inference meetup of this scale in Istanbul felt genuinely hopeful. Half the speakers had flown in, but all the questions were local; and the best ideas usually showed up at the coffee break, in front of a whiteboard.

12/12

What's left

What's left is a few slides, a few photos, and a full notebook. A good technical day is measured as much by who you learn with as by what you learn, and this one was generous with both.