考虑到实际服务中 Prefill 和 Decode 的负载往往动态变化的,固定资源分配会导致资源利用率低,为此,研发团队创新性地引入了服务级别目标(SLO)感知的动态资源调整机制。该机制通过实时监控系统负载,动态调整 Prefill 和 Decode 的资源配比(x, y),以更好地满足延迟约束和系统吞吐的双重目标。在满足 SLO 要求的同...
切分变化 首先,并行策略是一个约束问题,并行策略和SLO是强相关的,没有最优的切分方法,只有在SLO约束下的最优解。当然,如果面向吞吐,是有全局最优的,但是在serving场景下,抛开SLO谈吞吐是毫无意义的。 先说为什么TP和SP没有了,我依旧秉持我在第一版的推论,SP是为了抵消kvcache的replica而存在的,TP则是为了dense...
LLM推理系统的常见约束条件: - 多种LLM模型和异构硬件环境 - 复杂的流量分布和不同的SLO要求 - 需要构建庞大的推理系统来获得整体最优的推理性能 AlpaServe: - 针对多个LLM模型和同构GPU集群进行优化 - 使用并行编排方案和简化的流量分布 多LoRA(Punica和S-LoRA): - 同构GPU集群,多个LLM模型,共享基座模型 - 提...
考虑到实际服务中 Prefill 和 Decode 的负载往往动态变化的,固定资源分配会导致资源利用率低,为此,研发团队创新性地引入了服务级别目标(SLO)感知的动态资源调整机制。该机制通过实时监控系统负载,动态调整 Prefill 和 Decode 的资源配比(x, y),以更好地满足延迟约束和系统吞吐的双重目标。在满足 SLO 要求的同时,最...
SLO:这个词应该是在一篇叫做distserve的paper首先出现的(如果不是,那就算了),可以理解为是一种人工制定的系统性能指标,上文讲到了latency和吞吐量这两个指标,latency又分为first token的latency,称为TTFT,以及second及之后token的latency,又称TPOT,这个是面向用户的指标,latency越低,那自然用户体验就更好,比如你的...
无问芯穹第二个开源项Semi-PD——第三代 PD 半分离架构,在消除 P/D 干扰的同时,保留了融合式的存储效率,实现在给定资源和 SLO 的前提下,最大化「Goodput」(有效吞吐量)。 Semi-PD 混合架构采用了「计算分离、存储融合」的设计理念。不同于传统方案将 Prefill 和 Decode 任务分别放在不同实例上,Semi-PD 让...
传统互联网应用中通常会用并发用户请求数或者QPS每秒请求任务数来量化系统的容量水位,由于AI类计算任务(如语音识别、语音合成、大模型交互)单次请求的计算时长并不固定,因此通常使用并发用户请求数来衡量系统容量水位。使用这种方式统计并实现相应的负载调度...
Mélange:异构 GPU 集群,不同模型采用不同方案,没有混合调度。复杂流量分布,不同 SLO 要求。(单一请求只使用同一种 GPU) MuxServe:同构 GPU 集群,不同 LLM 模型混合调度。并行编排优化,采用 MPS 切分算力单元,处理复杂 QPS 流量。 Helix:复杂异构 GPU 集群,单一 LLM 模型,复杂并行编排方案。(单一请求可能使用...
负责根据负载动态调整集群中用于预填充(prefill)和解码(decode)的 GPU 资源比例,自动伸缩并分配 GPU,以适应吞吐和延迟 SLO 需求。 Smart Router 解决多 GPU 集群中 KVCache 重用与请求调度问题。LLM 在响应每个请求前都要计算输入的 KVCache,这个计算随输入长度平方级增长,非常耗费算力。Smart Router 通过对每个新请...
然而在实际业务中,保障 SLO(而非 GPU 利用率)通常是更高优先级的目标,这使得传统基于资源利用率的 Autoscaling 策略效果有限。为了应对这一挑战,我们又探索了 基于 Profiling 并以 SLO 驱动的扩缩容方案,通过对历史与实时流量分布进行分析,动态确定扩缩容时机,减少过载并降低尾部延迟。