专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
GiantPandaCV  ·  vLLM源码之框架执行 ·  6 天前  
今天看啥  ›  专栏  ›  GiantPandaCV

图解大模型计算加速系列:分离式推理架构2,模糊分离与合并边界的chunked-prefills

GiantPandaCV  · 公众号  · 3D  · 2024-07-31 22:06

主要观点总结

本文介绍了Sarathi-Serve,这是一种新的推理架构,旨在通过混合batching和切块式prefill策略来优化大模型的推理性能。Sarathi-Serve基于分离式推理架构,解耦了prefill和decode过程,使得两者能独立优化。文章详细解释了Sarathi-Serve的工作原理,包括其背后的关键技术如chunked-prefills和stall-free schedules。此外,文章还对比了Sarathi-Serve与传统推理架构、Orca等架构的优缺点,并展示了其源码解读和性能实验。Sarathi-Serve的设计思路是减少pp并行气泡,提高计算资源利用率,并同时保全TTFT和TPOT/TBT。

关键观点总结

关键观点1: Sarathi-Serve设计思路

Sarathi-Serve基于分离式推理架构,通过切块式prefill和stall-free schedules策略,旨在优化大模型的推理性能。

关键观点2: 块状prefill技术

块状prefill通过固定或动态地设置每个batch中的prefill和decode tokens比例,提高GPU的利用率。

关键观点3: stall-free schedules策略

该策略避免了推理过程中的停滞,同时优化了TTFT和TPOT/TBT。

关键观点4: 源码解读和性能实验

文章详细解读了Sarathi-Serve的源码,并展示了其性能实验结果,验证了其优化策略的有效性。

关键观点5: 与传统架构的对比

文章对比了Sarathi-Serve与传统推理架构如vllm、Orca等,展示了其优点和可能的改进空间。


文章预览

在 分离式推理架构1 中, 我们以DistServe为例,解释了“为何要使用分离式推理架构”:分离式推理架构可以解耦prefill(compute-bound)和decode(memory-bound)过程,使得不管是在硬件分配还是在并行策略上,这两者都能朝着独立的方向优化,同时改进TTFT和TPOT,而无需再像合并式推理架构那样,总是在这两者之间做trade off。 但是,读完这篇文章,你可能会有这样的疑惑: 如果我能采取一种方法,使得处于prefill阶段的请求和处于decode阶段的请求能组成一个batch同时计算 ,而在组建这样的batch的过程中,我又充分考虑了最大化GPU计算单元利用率、最小化IO读写次数(简而言之,怎么能榨干一块gpu我就怎么来)。那么这时,我是不是在不解耦的情况下,同样也能同时保全TTFT和TPOT呢? 那么在这篇文章中,我们就来看看遵从这个思路设计的推理架构: Sarathi-Serv ………………………………

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