专栏名称: 吃果冻不吐果冻皮
专注于AI工程化(LLM、MLOps、LLMOps、RAG、Agent)落地。
今天看啥  ›  专栏  ›  吃果冻不吐果冻皮

图解大模型分离式推理架构2,模糊分离与合并边界的chunked-prefills

吃果冻不吐果冻皮  · 公众号  · 前端 科技媒体  · 2024-07-23 12:00
    

主要观点总结

文章介绍了使用分离式推理架构的优势,并讨论了如何在不解耦的情况下,通过改进传统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呢? 那么在这篇文章中,我们就来看看遵从这 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览