DeepSpeed-FastGen:LLM服务部署框架,吞吐量为vLLM的2倍

火山方舟向量数据库

        
          
https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-fastgen/README.md  
  
pip install deepspeed-mii  

      

picture.image

这篇博客介绍了DeepSpeed-FastGen,一个用于大型语言模型(LLM)的高吞吐量文本生成系统。它通过结合DeepSpeed-MII和DeepSpeed-Inference来提供易于使用的服务系统。文章主要关注了以下几个方面:

  1. 大型语言模型在实际应用中需要高效地处理推理任务,但现有系统在长提示工作负载下无法提供一致的服务质量。
  2. 为了解决这些问题,文章提出了一种名为Dynamic SplitFuse的新颖提示和生成组合策略。

算法原理:Dynamic SplitFuse通过以下两个关键行为来实现高效的文本生成:

  1. 将长提示分解成更小的块,并在多个前向传递(迭代)中进行调度,只在最后一次传递中执行生成。
  2. 将短提示组合以填充目标令牌预算。即使是短提示也可能被分解,以确保精确满足预算并使前向传递大小对齐。

picture.image

结论:

  1. DeepSpeed-FastGen相较于其他现有技术如vLLM,在吞吐量和延迟方面表现更优。
  2. 在有效吞吐量分析中,DeepSpeed-FastGen的性能比vLLM高出2.3倍。
  3. 使用Dynamic SplitFuse策略,DeepSpeed-FastGen在响应性、效率和一致性方面都有显著改进。
  4. DeepSpeed-FastGen还提供了副本级负载均衡,可以轻松地扩展应用程序。

        
          
from mii import pipeline  
pipe = pipeline("mistralai/Mistral-7B-v0.1")  
output = pipe(["Hello, my name is", "DeepSpeed is"], max_new_tokens=128)  
print(output)  
  
# 部署  
import mii  
mii.serve("mistralai/Mistral-7B-v0.1")  
  
  
client = mii.client("mistralai/Mistral-7B-v0.1")  
output = client.generate("Deepspeed is", max_new_tokens=128)  
print(output)  

      
0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
边缘云游戏行业解决方案
《“加速”游戏体验升级,火山引擎边缘云游戏行业解决方案》 许思安 | 火山引擎边缘云高级总监
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论