按问题阅读
现在想解决什么问题?
从当前问题出发,沿已有文章找到概念、源码和实测依据。
刚接触大模型推理
先分清推理阶段和多卡分工,再跟随一次请求进入 SGLang。
3 篇 · 由浅入深想读懂 SGLang 源码
从一枚 Token 的执行视图,走到调度、模型执行与 Attention。
4 篇 · 由浅入深- 01
从一次 Decode 读懂 SGLang:Tensor、缓存与下一枚 Token
刚生成的 Token,下一轮怎样变成模型输入?用三条请求的小批次串起长度、KV 写入、Attention、MoE 和采样。
- 02
SGLang Scheduler:请求怎样组批、执行和持续生成
请求会持续很多轮,设备每轮只执行一个批次。看 Scheduler 怎样在前缀缓存、Token 预算和 KV 空间之间安排工作。
- 03
SGLang ModelRunner:九个输入 Token 怎样产生两行 Logits
两条请求共有九个输入 Token,为什么最后只需两行 Logits?用这个例子读懂 ModelRunner 的输入、前向和采样交接。
- 04
DeepSeek-V4 Attention:Query、缓存写入与历史寻址
多条请求打包进同一个 Tensor 后,Attention 怎样找到各自的历史?沿 Query、缓存写入和页表追踪一次 Decode。
服务能跑,速度却不理想
先把压测口径对齐,再结合吞吐案例和 NPU 时间线定位瓶颈。
4 篇 · 由浅入深- 01
用 AISBench 压测 SGLang:从第一条请求到一份可信报告
从一条请求接通SGLang,到独立配置、JSONL、N/C/r和原生稳态后处理。附小样例,讲清retry的版本语义、实际token长度和原始结果怎样保留。
- 02
AISBench 的 whole、native、TPOT 和 ITL,到底在量什么?
TPOT 10.4ms、ITL 58.6ms为何同时成立?沿固定AISBench源码解释请求时间线、事件加权、whole/native选样边界、并发封顶与两种输出token/s。
- 03
Decode 已经很快了,吞吐为什么上不去?
平均 TPOT 已经低至 8.7ms,吞吐仍没跟上。一个 4-token 尾块,把排查方向从 Decode 带回了 Prefill 合批。
- 04
NPU 时间线里有 19% 空隙,为什么不能直接得到 19% 加速?
NPU 时间线约两成空白,为什么不能当成可回收的加速空间?先算清区间覆盖,再检查等待、跨 Rank 依赖和测量范围。
正在研究投机解码
先走完 Draft、Verify 与 Accept,再理解 KV 提交和真实收益边界。
4 篇 · 由浅入深- 01
DeepSeek-V4 DSpark:一轮 Draft、Verify、Accept 与 Commit
Draft 猜 A/B/C,Target 接受 A/B 后生成 X,下一轮从哪里继续?沿一个例子走完 DSpark 的提议、验证、接受和提交。
- 02
投机解码 Accept:从 Verify 行到最终输出路径
Verify 算出了候选位置的预测,哪些 Token 最终能输出?区分几种接受规则,并解释行索引与新 bonus 的错位关系。
- 03
投机解码 KV 管理:接受路径怎样提交、整理与回收
候选算过了,不代表都能留在历史里。看接受路径怎样映射到正式 KV,以及被拒绝候选的空间何时整理、复用或释放。
- 04
投机解码的性能收支:接受长度、Verify 成本与并发
接受长度变大,投机解码为什么仍可能变慢?把每轮有效输出与 Draft、Verify、通信和并发成本放在一起算。
需要查一个术语?打开速查文章 →