SLM Inference Cost Per Request on a Single GPU

Connor Blier
Founding GTM

A clock face formed like a coin, with a dollar sign at its centre where the clock hands would be, inside a circular ring like a gauge.

SLM Inference Cost Per Request on a Single GPU

Small language model inference cost per request on a single GPU is a memory-and-throughput problem, not a price list. Decompose it into KV-cache footprint, per-token vocabulary overhead, and serving throughput. Vocabulary specialization has cut cost 77%, and vLLM delivers 24x the throughput of plain Transformers.

Cost per request on one GPU is a ratio: the card's hourly rate divided by how many requests it completes per hour. You cannot change the first number much on a single card, so every lever that matters acts on the second. Three decide it for small language models: how much memory a request consumes, how much compute each generated token spends, and how efficiently your serving stack turns the GPU into finished requests. This page gives the short answer to each, and links down to the deeper measurements where we have them.

Lever 1: KV-cache footprint sets concurrency

File size tells you whether a model fits on the card once. KV-cache footprint tells you how many requests fit at the same time, and that is what actually divides your GPU-hour across requests. The two numbers come apart hard. In a public measurement of 8B models whose weights sit "within a gigabyte of each other," the KV cache at 32K context spanned "a factor of thirteen" across models. The architecture, not the download size, decides how many concurrent requests you can pack.

The reason is which layers grow a cache. The LFM2.5 8B-A1B measurement describes a model with "24 layers, of which 6 are full attention and 18 are short-convolution layers that keep a constant-size state... Only the 6 attention layers grow a KV cache with context, so 32K tokens cost 0.38 GB." A dense-attention model of similar size pays for every layer, every token. When concurrency is your cost denominator, the cache profile is the number to size against. The same memory discipline drives mixture-of-experts VRAM footprint on serverless GPU.

Lever 2: the vocabulary tax on every token

Even a small model pays a per-token cost most people never measure: scoring the output vocabulary at each generated token. On a Qwen3-4B essay grader, the VocabX write-up notes that "at every generated token the model scored a vocabulary of 151,669 entries, including many this task almost never uses." For a domain-specific workload, most of that compute is wasted.

Specializing the vocabulary to the tokens a task actually produces reclaims it. VocabX "cut measured inference cost by 77% without changing the base model" on that Qwen3-4B model. That is the largest single lever on this page, and it touches neither the GPU nor the weights - it narrows what the model has to compute per token. If you are tracking this yourself, our guide to token usage and cost per request covers the instrumentation.

Lever 3: the serving framework

The same model on the same GPU produces wildly different request counts per hour depending on the serving stack. For single-GPU Gemma 7B, Runpod reports that "vLLM significantly outperforms other frameworks, offering 24 times the throughput of Hugging Face Transformers and 3.5 times that of Hugging Face's Text Generation Inference (TGI)". Throughput is the denominator of cost per request, so a 24x gap is a 24x gap in GPU-hours spent per request. Tuning the server further is its own exercise - see vLLM server parameters for inference throughput.

Sizing the model to the card

Budget against usable memory, not the sticker. The LFM2.5 measurement is explicit that "our verdicts use the card's usable memory (an RTX 3070 has 7.0 GB usable of 8), not the sticker." Subtract weights and system overhead first; what remains is your KV-cache budget, and the cache profile from Lever 1 tells you how many requests that budget buys.

For production headroom on a dense 7B, Runpod "recommend[s] the 48GB GPU for the 7B model to account for model storage and system needs". That is the weights-plus-overhead floor before you add any concurrent-request cache at all.

Putting it together

In our testing the cost-per-request figure that matters is never the GPU's hourly rate in isolation - it is that rate divided by completed requests, and the denominator moves far more than the numerator. Pick an architecture whose KV cache stays small under your real context length, narrow the vocabulary to the task, and serve it on a framework that saturates the card. For the broader economics across model sizes and cluster shapes, see LLM inference cost at scale, and for quantization headroom on bigger cards, 4-bit LLM inference on H100.

Frequently asked questions

What drives small language model inference cost per request on a single GPU?
Two things: how much memory each request consumes (which caps how many you can run at once) and how fast each request finishes. Cost per request is the GPU's hourly rate divided by requests completed per hour, so attacking either denominator lowers it.
Why does KV-cache footprint matter more than file size?
File size sets how many models fit on the card once; KV cache sets how many concurrent requests fit. In one measurement, 8B models within a gigabyte of each other on disk had KV caches spanning a factor of thirteen at 32K context - the architecture, not the file, decides concurrency.
How much can vocabulary specialization reduce cost?
The VocabX method cut measured inference cost by 77% on a Qwen3-4B model without changing the base weights, by scoring only domain-relevant tokens instead of the full 151,669-entry vocabulary at every generated token.
Does the serving framework really change cost that much?
Yes. On single-GPU Gemma 7B, vLLM delivered 24x the throughput of Hugging Face Transformers and 3.5x that of TGI. More throughput on the same GPU means fewer GPU-hours per request.
How do I size the model to a single GPU?
Measure usable memory (not the sticker capacity), subtract weights plus system overhead, and use what remains as your KV-cache budget. Runpod recommends 48GB for a 7B model in production to cover weights and system needs.

Get started with Cerebrium

Deploy AI models on serverless GPUs in minutes, with no infrastructure to manage. Start for free and pay only for the compute you use.

Sign up free

Sources

  1. huggingface.co
    “cut measured inference cost by 77% without changing the base model”

    VocabX vocabulary specialization on a Qwen3-4B essay grading model, used to anchor the vocabulary-tax lever.

  2. huggingface.co
    “at every generated token the model scored a vocabulary of 151,669 entries, including many this task almost never uses”

    Explains per-token vocabulary overhead for domain-specific tasks.

  3. runpod.io
    “vLLM significantly outperforms other frameworks, offering 24 times the throughput of Hugging Face Transformers and 3.5 times that of Hugging Face's Text Generation Inference (TGI)”

    Serving-framework throughput comparison for single-GPU Gemma 7B.

  4. runpod.io
    “We recommend the 48GB GPU for the 7B model to account for model storage and system needs”

    Production memory-sizing floor for a dense 7B model on a single GPU.

  5. discuss.huggingface.co
    “LFM2.5 8B-A1B: 24 layers, of which 6 are full attention and 18 are short-convolution layers that keep a constant-size state. GQA with 8 KV heads and a head dimension of 64. Only the 6 attention layers grow a KV cache with context, so 32K tokens cost 0.38 GB”

    Architecture-driven KV-cache footprint measurement.

  6. discuss.huggingface.co
    “The files are within a gigabyte of each other. The cache at 32K spans a factor of thirteen.”

    Shows KV-cache range across similar-sized 8B models.

  7. discuss.huggingface.co
    “Our verdicts use the card's usable memory (an RTX 3070 has 7.0 GB usable of 8), not the sticker”

    Methodology for sizing against usable rather than advertised GPU memory.


Related resources

See all
A single microphone whose body is formed from a vertical audio-level bar, flanked by small wing-like cost/clock marks, set on a stand with a base \u2014 suggesting transcription of speech measured against time and cost.
Whisper Batch Cost per Audio Hour: Serverless GPU Guide
A shield outline with a checkmark inside, symbolizing a trusted, production-ready alternative for serving machine learning models.
BentoML Alternatives for Production LLM Serving
A single itemised receipt with three horizontal ruled lines of text near the top like line items, and in the lower right corner a small clock-face icon overlapping the receipt, symbolising a running cost meter.
Self-Hosted LLM Cost-Per-Request & Token Tracking