GPT-4和LLaMA这样的大型语言模型(LLMs)已在各个层次上成为了集成AI 的主流服务应用。从常规聊天模型到文档摘要,从自动驾驶到各个软件中的Copilot功能,这些模型的部署和服务需求正在迅速增加。
像DeepSpeed、PyTorch和其他几个框架可以在LLM训练期间实现良好的硬件利用率,但它们在与用户互动及处理开放式文本生成等任务时,受限于这些操作的计算密集度相对较低,现有系统往往在推理吞吐量上遇到瓶颈。
为了解决这一问题,使用类似vLLM这样由PagedAttention驱动的框架或是Orca系统可以显著提高LLM推理的性能。
然而,这些系统在面对长提示的工作负载时,依旧难以提供良好的服务质量。随着越来越多的模型(例如MPT-StoryWriter)和系统(例如DeepSpeed Ulysses)支持延伸到数万个token的上下文窗口,这些长提示工作负载变得越来越重要。
为了更好地理解问题,微软DeepSpeed的研究人员最近发表了一篇博文,详细介绍了LLM的文本生成,以及DeepSpeed-FastGen框架是如何在「提示处理」和「生成」的这两个阶段中运行的。
DeepSpeed-FastGen
当系统将「提示处理」和「生成」视为不同的阶段时,生成阶段将被提示处理所抢占,可能会破坏服务级别协议(SLAs)。
通过采用动态SplitFuse技术,DeepSpeed-FastGen框架能够提供比vLLM等先进系统高出多达2.3倍的有效吞吐量。
DeepSpeed-FastGen是DeepSpeed-MII和DeepSpeed-Inference的结合,提供了一个易于使用的服务系统。
快速开始:要使用DeepSpeed-FastGen只需安装最新的DeepSpeed-MII发行版:
pip install deepspeed-mii
分享说明:转发分享请注明出处。