当前位置:首页 > 每日看点 > 正文内容

如何评价DeepSpeed-FastGen这项工作?

卡卷网10个月前 (04-29)每日看点202

首先,还是老套路,先来看看在FastGen之前已有的技术方案,以及这些技术方案面临的问题。

FastGen前的方案及问题

  1. vLLM以及其Blocked KV Caching,详见:牛大脑袋:VLLM-PagedAttention评述 。其主要含义为将KVCache在内存上整合,以避免内存脆片,提升并发能力。
  2. Orca及连续批处理。其主要技术推动点就是在每次前向推理时独立做调度策略,也就是token级独立处理。

基于这两点,一个模型推理系统的大致流程是这样的:在每一步推理中,首先判断有没有需要处理的Prompt,如果有,并且序列数量未达上限,那么就停下来处理Prompt,然后把处理后的KVCache交给Decoding阶段做批推理。否则直接做批推理。

但这种方法有一个问题,生成过程会中断。这带来的影响是,占用率和响应速度下降了。什么意思呢?当batch很大的时候,每次Prompt计算一次,会让全部的batch都停下来等待,这就会让所有的生成时间都变长,尤其是当Prompt也很长的时候,这个等待时间就很长。同时,在这个阶段当中,因为生成过程停下来再重启,GPU利用率也在下降,同时这部分时间内,带宽利用率也下降。(因为Prompt阶段是一个计算密集型,带宽未到极限)。

FastGen的出发点和解决方案

FastGen主要解决的就是Prompt延时问题,解决的核心思路:“通过对提示(prompt)和生成(generation)的动态分拆与融合,进一步改进了连续批处理和系统吞吐量。”

这篇文章基于三个观点:

Token latency的耗时和batchsize无关,和token长度基本线性,所以token数量是影响延迟的核心。这里,对token latency具体是什么没有明确说,有两种可能,一种是prefill阶段的耗时;一种是decode阶段的耗时,随着seq长度增加,decode延时也增加。我更倾向于认为是prefill阶段的耗时,因为这和后文拆分prefill强相关,反之如果是decode延时的话,就不太对了,因为图上显示推理时间的增加几乎和token长度正比例增加,在我的经验中,应该是有一个基础的耗时,然后token增加带来的单token推理长度增加比较缓慢。

如何评价DeepSpeed-FastGen这项工作?  第1张

prefill token长度带来延时的变化

当token比较长时,计算效率达到最大。对计算来说,无论token多少,都需要加载全部weight,这部分带宽占用是固定的。在token较少的阶段,这部分受限于weight带宽,无法完全发挥算力。当token数增加后,带宽占用基本不变下,算力线性上升,因此算力逐渐增加达到GPU算力上限。这个GPU效率随着token变化的关系是一个凹的。

如何评价DeepSpeed-FastGen这项工作?  第2张

推理长度增加带来计算效率提高,并且,变化关系是凹的

为了让效率最高,理想的做法是让大任务和小任务结合起来,这样才能让效率最大化。展开来说,就是在prefill阶段,计算效率比较高,因为相对来说token数要多一些,而在decode阶段,计算效率相对较低,因为token数是1。把prefill和decode结合起来,效率要比prefill和decode分时做要高。对prefill来说是个计算密集型,对decode来说是个访存密集型,结合起来的话,计算利用率就会高。

但是为了做这个结合,在prefill和decode当中就需要做同步。特别是对prefill来说,需要把比较长的那种prefill拆分为短的prefill,也就是说做多次短prefill后再开始decode。理论上来说,这相当于在decode中间把prefill藏到流水线中,确实降低了prefill延时,但实现起来要考虑到decode延时(prefill和decode放在一起拖慢decode速度),因此提升效果有限,特别是对于decode比较长的。

总结

文章中的仿真结果也印证了这点。仿真的做法是挺鸡贼的,鸡贼之处在于,测试数据用的是长Prompt,短decode的。本来,Prompt和decode的长度分布是有一个固定分布的,绝不是这样。

如何评价DeepSpeed-FastGen这项工作?  第3张

数据来源:ACCELGEN: Heterogeneous SLO-Guaranteed High-Throughput LLM Inference Serving for Diverse Applications 实际数据分布输入长度和输出长度关系

真实数据分布和文章中测试数据对比

如何评价DeepSpeed-FastGen这项工作?  第4张

测试数据用的都是这种长Prompt短Generation数据

FastGen给出的算法,核心是解决了Prompt的耗时问题,以及如何把Prompt放在decode阶段的问题。但是为了解决这个问题,将Prompt的过程插入到decode阶段,造成了decode效率的某种降低。在其文章的测试中,鸡贼地用长Prompt短decode这种case,就是希望避免长decode过程把整体效果降低。

这篇文章的核心创新是将Prompt拆分后,藏到decode阶段上,以此降低系统总延时。但问题也是不少,第一,文章很多点没说清楚,比如延迟究竟是推理延迟还是prefill延迟,一个时钟片段做多长的prefill、多长的decode,这些统统没有说,更别说展开讨论了,要是有这部分,文章效果会好很多。第二,在测试时全部用的是长Prompt,短decode这种组合,不能证明实际算法的有效性,只能看成在某些特定场景下的优化,这点不指出的话有点误导人。不过话说回来,站在未来的视角去苛责过去的进步,也是有些强人所难,希望AI Infra领域可以有更多突破成果吧!

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/04/12781.html

分享给朋友:

相关文章

如果我们没有自己的手机操作系统,会出现所谓的“卡脖子”“安全”问题吗?

如果我们没有自己的手机操作系统,会出现所谓的“卡脖子”“安全”问题吗?

前段时间某某高管在微博发文表示:“其实我觉得,中国人需要的不是一个自己的手机os,而是一个全国产的微信,再搭配一些辅助功能。”这算是“安卓开源”开源的代表了吧。然而打脸来的如此之快,10月30日消息,在Linux内核疑似大规...

知乎创作收益高吗?

知乎创作收益高吗?

高啊,主要是大多数人不知道怎么做。(这是以前写的,请看到最后)我之前就是傻傻写问答,文章,结果一毛钱收益没有。知乎上收益高的主要有盐选,好物推荐,致知计划,付费咨询。1、盐选吧,是写故事,小说类的天堂,还有就是大咖们的地盘了,难度高。2、好...

Photoshop 有哪些使用技巧?

Photoshop 有哪些使用技巧?

不看后悔系列!本篇分享25个PS实用的技巧!不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。另外我的知乎也写了接近200篇PS的技巧,超级合集分享!分享25个关于PS的技巧一、快速制作文字倒影1、新建文档,1500×100...

大量刷短视频,会让大脑变笨拙吗?

会。我曾经是一名高三学生,亲身实践过。当时集中突破语文,每天都在刷语文卷。然后有一天想躺一下刷手机,结果短视频刷完了,我再去看哪些文章,只觉头晕眼花,难以理解文字。不过好在这种情况是短时间的,过了一天我的能力又恢复了。在我看来,长期刷短视频...

打印速度慢,是不是打印机cpu不行?

打印速度慢,是不是打印机cpu不行?

打印机是机械设备,cpu内存硬盘它也有但这只是它的电控部分,打印机类似于汽车属于机电一体化设备和电脑不是一个类型的产品。很多人总是认为打印机和电脑是一类产品,实际上这是一个误区,电脑是it(Information Technology)信息...

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。