推理引擎
5 篇文章
- 走进 vLLM(五):benchmark 与 auto-tuning —— latency 与 throughput 之争为什么延迟和吞吐天生互相拉扯?TTFT、ITL、TPOT、E2E、Goodput 到底各测的是什么?roofline 模型怎么解释「算 1 个 token 和算 10 个 token 差不多快」?以及 vLLM 自带的 vllm bench 三个脚本分别在什么场景下用。
- 走进 vLLM(四):从单卡到多机——MultiProcExecutor 与分布式服务权重装不下一张卡之后怎么办:MultiProcExecutor 怎么用共享内存消息队列把 8 个 worker 进程编排起来;DP 复制、DPCoordinator 与 DP wave 又怎么把两个 8×H100 节点拼成一套服务;最后完整走一遍一条 curl 请求的生命周期。
- 走进 vLLM(三):speculative decoding 与 disaggregated P/D一次大模型 forward 最多换回 k+1 个 token,而且分布和逐个采样完全等价——speculative decoding 是怎么做到的?vLLM V1 为什么不用小模型做 draft,而用 n-gram / EAGLE / Medusa?以及为什么 prefill 和 decode 值得被拆到两批实例上跑。
- 走进 vLLM(二):chunked prefill、prefix caching 与 guided decoding把基础 engine 流程扩出来的第一批高级特性:chunked prefill 怎么让长 prompt 不再独占一步;prefix caching 为什么本质上是「别重算你已经见过的前缀」;guided decoding 又是怎么用一台 FSM 把 logits 里不该出现的 token 直接按成负无穷。
- 走进 vLLM(一):LLM Engine 与 Engine Core一个现代高吞吐 LLM 推理系统的最小内核长什么样:从一次离线 generate 调用出发,拆开 LLM Engine 的构造函数、generate 函数、Scheduler,以及一次 forward pass 里到底发生了什么——顺带把 paged attention、continuous batching、KV cache block 这些词讲成人话。