5 篇文章

  • Chunked Prefill

    Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve Motivation Prefill 因为是长序列计算有高延迟,decode 是低延迟但是 GPU 利用率很低 现有的 batching 调度交错 prefill batch 和 decode batch,让高吞吐和低延迟变得困难 Batch 对 decode 吞吐量提升很大,对 prefill 影响小 Decode 阶段计算资源未被充分利用 SM 计算资源空闲:可以在解码批次中处理更多令牌,而不会显着增加其延迟。 线性层在预填充和解码阶段占据了大部分运...

  • PageAttention

    Efficient Memory Management for Large Language Model Serving with PagedAttention Motivation 当时的大模型推理系统直接通过 pytorch 为每个 req 预分配一块连续的内存,会造成内部碎片(因为分配的会过多),外部碎片(因为需要分配连续的);让整个系统的吞吐量骤降,无法高效利用和复用显存 Key Observation KV Cache 当模型生成新的 token 时,它会随着时间动态增长和收缩,并且它的生命周期和长度是未知的。 现有系统预分配 max_token 长度的显存,会导致内部碎片。因为实际...

  • SGLang

    SGLang: Efficient Execution of Structured Language Model Programs.

  • distserve

    DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving Motivation 现有的 LLM 服务系统将 prefill 和 decode 两个阶段并置,并批量计算所有用户和请求的预填充和解码。我们发现这种策略不仅会导致强烈的预填充解码干扰,而且还会耦合两个阶段的资源分配和并行计划。 prefill 关注 TTFT decode 关注 TPOT 现有系统为了满足两种不同的延迟,过度配置计算资源或者牺牲其中一个来满足另一个;这会造成成本效益不足 因此,优化每...

  • Orca: A Distributed Serving System for Transformer-Based Generative Models (Yu 等, 2022, p. 520)

    Orca: A Distributed Serving System for Transformer-Based Generative Models Motivation 当前的 serving system 调度方式是 request-level,对于当前自回归模型推理来说不够灵活 完成的请求无法立即退出 新来的请求无法在有空闲时加入 必须等待 batch 中最长的请求完成 在进行 iteration-level 调度时对操作进行 batching 操作时有困难 当时的 Attention 算子对输入长度和 position 有要求 Core Idea Iteration-level Sch...