主要观点总结
文章介绍了使用分离式推理架构的优势,并讨论了如何在不解耦的情况下,通过改进传统batching方法,同时提高系统吞吐量和降低延迟。文章提出了Sarathi-Serve架构,该架构使用切块式prefill(chunked-prefills)和无停滞式调度策略(stall-free schedules),实现了在不解耦的情况下,提升系统性能。同时,文章也介绍了Sarathi-Serve与其余架构的关系,并探讨了其背后的核心技术。
关键观点总结
关键观点1: 分离式推理架构的优势
分离式推理架构可以解耦prefill和decode过程,使得两者能朝着独立的方向优化,改进TTFT和TPOT/TBT,无需在两者之间做trade-off。
关键观点2: 改进传统batching方法
文章提出了Sarathi-Serve架构,通过切块式prefill和无停滞式调度策略,在不解耦的情况下,提升系统性能。
关键观点3: Sarathi-Serve与其余架构的关系
文章讨论了Sarathi-Serve与Orca、vllm等架构的关系,并探讨了其背后的核心技术。
文章预览
【点击】 加入大模型技术交流群 在 分离式推理架构1 中, 我们以DistServe为例,解释了“为何要使用分离式推理架构”:分离式推理架构可以解耦prefill(compute-bound)和decode(memory-bound)过程,使得不管是在硬件分配还是在并行策略上,这两者都能朝着独立的方向优化,同时改进TTFT和TPOT,而无需再像合并式推理架构那样,总是在这两者之间做trade off。 但是,读完这篇文章,你可能会有这样的疑惑: 如果我能采取一种方法,使得处于prefill阶段的请求和处于decode阶段的请求能组成一个batch同时计算 ,而在组建这样的batch的过程中,我又充分考虑了最大化GPU计算单元利用率、最小化IO读写次数(简而言之,怎么能榨干一块gpu我就怎么来)。那么这时,我是不是在不解耦的情况下,同样也能同时保全TTFT和TPOT呢? 那么在这篇文章中,我们就来看看遵从这
………………………………