微软发布DeepSpeed-FastGen,用于高吞吐量文本生成

微软发布DeepSpeed-FastGen Alpha版本

微软宣布了DeepSpeed-FastGen的Alpha版本,这是一个旨在改进大语言模型(LLMs)部署和服务的系统。DeepSpeed-FastGen是DeepSpeed-MII和DeepSpeed-Inference的协同组合,基于Dynamic SplitFuse技术。该系统目前支持多种模型架构。

Dynamic SplitFuse技术

Dynamic SplitFuse是一种新的令牌组合策略,用于提示处理和令牌生成。该技术使DeepSpeed-FastGen的有效吞吐量比vLLM等系统高出2.3倍。通过从提示中提取部分令牌并与生成过程结合,DeepSpeed-FastGen能够以一致的前向大小运行,从而提高了响应性、效率,并降低了延迟和吞吐量的波动。

性能表现

在性能方面,DeepSpeed-FastGen在吞吐量和延迟方面均优于vLLM。例如,在4个A100x80GB的Llama-2 70B模型上,DeepSpeed-FastGen在相同延迟(9秒)下展示了高达2倍的吞吐量(1.36 rps vs. 0.67 rps),或在相同吞吐量(1.2 rps)下实现了高达50%的延迟减少(7秒 vs. 14秒)。此外,DeepSpeed-FastGen提供了副本级负载均衡,能够均匀地将请求分配到多个服务器上,实现了线性扩展。在16个副本的情况下,吞吐量达到23.7查询/秒,是单个副本的16倍。

支持的模型架构

DeepSpeed-FastGen目前支持的模型架构包括LLaMA、LLaMA2、Mistral和OPT。所有当前模型都利用HuggingFace API在后台提供模型权重和相应的分词器。微软计划在未来增加更多模型。

部署选项

DeepSpeed-FastGen提供了两种部署选项:交互式非持久管道或持久服务部署。非持久管道部署适用于临时交互会话,而持久部署则设计用于长期运行和生产应用程序。

DeepSpeed简介

DeepSpeed是微软为PyTorch开发的开源深度学习优化库,旨在使分布式训练和推理变得简单、高效和有效。它通过减少计算能力和内存使用,以及更好地利用现有计算机硬件上的并行性来训练大型分布式模型。DeepSpeed的一些关键特性包括零冗余优化器(ZeRO)、混合精度训练以及单GPU、多GPU和多节点训练支持。

开发者资源

有兴趣了解DeepSpeed-FastGen的开发者可以查看入门指南以及访问DeepSpeed-MII Github仓库。希望贡献的开发者还可以阅读贡献指南以获取更多详细信息。

阅读 31
0 条评论