#LLM Inference

Articles about LLM Inference — exploring patterns, best practices, and real-world implementations in production systems.

8 posts tagged with llm inference. ← All posts

#A2A (14)#ADK (8)#AG-UI (6)#AI (9)#AI Agents (303)#AI Architecture (10)#AI Cost (10)#AI Cost Optimization (8)#AI Engineering (160)#AI Governance (28)#AI Red Teaming (9)#AI Research (9)#AI Safety (6)#AI Security (21)#AI in Production (12)#AML (3)#API Design (10)#API Security (8)#APIs (47)#AWS (17)#Accounting (9)#Agent Skills (3)#Agentic AI (24)#Agentic Commerce (12)#Agentic RAG (8)#Agents (4)#Amazon Bedrock (8)#Architecture (36)#Audit (3)#Authentication (10)#Authorization (3)#Automation (6)#Azure (11)#Azure AI Foundry (9)#Backend Engineering (267)#BigQuery (6)#CI/CD (8)#Capital Markets (14)#Card Payments (12)#Cards (13)#Career (7)#Checkpointing (4)#Claude Code (8)#Cloud (3)#Cloud Architecture (3)#Code Review (8)#Collaboration (4)#Communication (4)#Compliance (51)#Computer Networking (8)#Concurrency (25)#Consulting (3)#Context Engineering (10)#Cost Optimisation (5)#Credit (14)#Credit Risk (14)#CrewAI (8)#Crypto (12)#Cryptocurrency (12)#Custody (9)#DSPy (8)#Data (4)#Data Engineering (4)#Data Structures (8)#Databases (33)#Deployment (3)#DevOps (9)#DevSecOps (11)#Developer Experience (5)#Distributed Systems (88)#Documentation (3)#Edge AI (8)#Embeddings (14)#Engineering (7)#Engineering Culture (3)#Engineering Practices (16)#Evaluation (44)#Event-Driven Architecture (8)#FREE-AI (8)#FX (5)#FinOps (23)#FinTech (6)#Financial AI (14)#Financial Systems (129)#Fine-Tuning (11)#Fintech (131)#Flutter (8)#Foreign Exchange (5)#Forward Deployed Engineer (8)#Forward Deployed Engineering (8)#Fraud (10)#Function Tools (5)#GCP (5)#Gemma (4)#Go (220)#Google ADK (36)#Governance (55)#Granite (6)#GraphQL (3)#Guardrails (24)#HIPAA (3)#HTTP (3)#Harness Engineering (8)#Hugging Face (8)#Human-in-the-Loop (8)#IBM watsonx (8)#Identity (11)#Integration (3)#Interfaces (3)#KYC (11)#KYC and AML (12)#Kafka (10)#Kubernetes (9)#LLM (5)#LLM Inference (8)#LLMs (110)#LangChain (8)#LangGraph (11)#Ledger (12)#Lending (14)#LlamaIndex (8)#MCP (22)#MLOps (30)#Machine Learning (13)#Markets (4)#Memory (13)#Memory Management (4)#Microservices (3)#Microsoft Agent Framework (150)#Middleware (6)#Migration (9)#Monitoring (3)#Multi-Agent (10)#Multi-Agent AI (14)#Multi-Agent Systems (70)#Multimodal (3)#NIM (5)#NVIDIA (8)#OAuth (3)#OWASP (7)#Observability (43)#On-Device AI (8)#Open Source (6)#OpenTelemetry (5)#Opinion (6)#Orchestration (10)#Payment Rails (16)#Payments (54)#Performance (29)#Platform Engineering (9)#Privacy (4)#Privacy Engineering (3)#Product (4)#Production (6)#Programming (10)#Programming Languages (16)#Prompt Engineering (64)#Prompt Injection (6)#Protocols (9)#Providers (4)#Pydantic AI (8)#Python (142)#Quality (3)#RAG (58)#RBI (3)#REST (5)#Rails (16)#Reconciliation (3)#RegTech (8)#Regulation (9)#Reliability (45)#Resilience (3)#Responsible AI (5)#Retrieval (3)#Risk (13)#Rust (16)#SRE (20)#Scalability (3)#Security (80)#Self-Evolving Agents (16)#Sessions (3)#Settlement (9)#Software Architecture (35)#Software Engineering (138)#Spanner (4)#Strands (8)#Streaming (25)#Structured Output (4)#System Design (32)#Systems Programming (16)#Testing (34)#Tool Use (21)#Tools (3)#Trading (8)#Treasury (6)#Type System (3)#Type Systems (3)#Vector Databases (21)#Vector Search (11)#Web Development (6)#Workflows (14)#gRPC (5)#smolagents (8)
Pratik Dhanave · ·6 min read

Latency, Throughput, and Cost

There is no single "make it fast" for LLM serving — latency and throughput pull against each other, and both trade against cost. The job isn't to maximize one number; it's to hit your latency targets at the lowest cost per token, which means knowing exactly which knob moves which metric and in which direction.

There is no single 'make it fast' for LLM serving — latency and throughput pull against each other, and both trade against cost. The job is to hit your latency targets at the lowest cost per token, knowing which knob moves which metric.

Pratik Dhanave · ·7 min read

Scaling Across GPUs

At some point a model doesn't fit on one GPU, or the traffic doesn't, and you have to spread inference across many. The choices — which kind of parallelism, how to place replicas, when to autoscale — are governed by one unforgiving resource (GPU memory) and one expensive one (inter-GPU communication). Get the memory math right and most scaling decisions follow.

At some point a model doesn't fit on one GPU, or the traffic doesn't. The scaling choices are governed by one unforgiving resource (GPU memory) and one expensive one (inter-GPU communication) — get the memory math right and most decisions follow.

Pratik Dhanave · ·6 min read

Serving Engines and PagedAttention

You don't assemble the KV cache, continuous batching, quantization, and speculative decoding by hand — you use a serving engine that has already solved the hard parts. And the idea that ties them together, PagedAttention, is a borrowed operating-systems trick: manage the KV cache like virtual memory, in pages, and the waste that throttled everything disappears.

You don't assemble the KV cache, batching, and quantization by hand — you use a serving engine. And PagedAttention, the idea that ties them together, is a borrowed OS trick: manage the KV cache like virtual memory, in pages.

Pratik Dhanave · ·6 min read

Speculative Decoding

Decode is slow because it's sequential — one token at a time, each waiting for the last. Speculative decoding cheats that limit with a beautiful trick: let a small, fast model guess several tokens ahead, then let the big model verify them all in a single pass. When the guesses are good, you get several tokens for the price of one — with mathematically identical output.

Decode is slow because it's sequential. Speculative decoding cheats that with a beautiful trick: a small fast model guesses several tokens ahead, the big model verifies them in one pass — several tokens for the price of one, with identical output.

Pratik Dhanave · ·6 min read

Quantization

Quantization shrinks a model by storing its numbers in fewer bits — and because LLM decode is bottlenecked on moving those numbers from memory, making them smaller makes inference both cheaper to host and faster to run. It's the rare optimization that improves memory, cost, and speed at once, if you respect its limits on quality.

Quantization stores a model's numbers in fewer bits — and because decode is bottlenecked on moving those numbers from memory, making them smaller makes inference cheaper to host and faster to run, if you respect the limits on quality.

Pratik Dhanave · ·6 min read

Batching and Throughput

A single request leaves an expensive GPU almost entirely idle. Batching is how you fill it — and the leap from naive static batching to continuous batching is the single biggest throughput improvement in modern LLM serving, often several times more requests from the exact same hardware.

A single request leaves an expensive GPU almost entirely idle. Batching fills it — and the leap from static to continuous batching is the single biggest throughput improvement in modern LLM serving.

Pratik Dhanave · ·6 min read

The KV Cache

The KV cache is the optimization that makes LLM generation fast enough to be practical — and the memory hog that makes it expensive. Almost every hard problem in LLM serving, from how many users you can batch to why long contexts cost so much, traces back to this one data structure.

The KV cache is the optimization that makes LLM generation fast enough to be practical — and the memory hog that makes it expensive. Almost every hard problem in serving traces back to this one data structure.

Pratik Dhanave · ·6 min read

How LLM Inference Works

Running an LLM is not one computation — it's two very different ones stitched together: a compute-heavy pass over your prompt, then a long, memory-bound slog generating one token at a time. Almost every serving optimization that follows makes sense only once you see that inference has these two phases with opposite bottlenecks.

Running an LLM is two very different computations stitched together: a compute-heavy pass over your prompt, then a long, memory-bound slog generating one token at a time. Almost every serving optimization makes sense only once you see these two phases.

All posts on this site are written by Pratik Dhanave, an Agentic AI Architect with 7+ years building production distributed systems, multi-agent AI platforms, and cloud-native infrastructure. About the author → Each article includes working code, architecture diagrams, and references to the specific frameworks and standards discussed. Browse all posts or explore related topics using the tag cloud above.