昇腾CANN 8.0基于LLM P-D分离部署方案发布LLM-DataDist组件:高效低成本,简单易集成

摘要

大模型推理的Prefill和Decode阶段往往存在计算和内存受限问题,资源分配不均,导致成本居高不下,这些趋势和挑战,都驱动着推理系统的重构,以更高效的资源调度与并行解码,满足推理商业落地的经济性要求。在昇腾AI异构计算架构CANN最新推出的8.0版本中,基于LLM P-D分离部署方案设计并发布LLM-DataDist组件,API简单易用,可以低开发成本被MindIE-LLM、vLLM等大模型推理框架集成,并在近一年支撑了多个大模型业务的规模化商用。

P-D分离部署方案介绍

ChatGPT的推出意味着交互式人工智能逐渐成为商业化成熟产品,同时也进一步推动了底层技术大型语言模型LLM的研究和进步。现有主要使用的LLM有GPT系列、LLAMA系列、GLM系列,其模型基础架构都采用Transformer架构,并以Decoder-Only为主。

该类Transformer-Based-Decoder-Only的LLM在推理预测时,采用自回归生成(auto-aggressive generative)模式,即每个Token生成需要经过LLM模型的前向推理过程,即完成N次Transformer Layer层计算,意味着包含M个Token的语句完整生成需要经过M次完整LLM前向推理过程。

作为交互式AI技术的典型应用,ChatGPT对人机交互的响应速度有着极高的要求,从人类阅读速度出发,LLM的推理速度至少需要达到50ms/token。为了充分利用昇腾硬件强大的并行计算优势,推理系统在服务和任务调度层面实施了一系列工程优化措施,旨在通过提高数据密度来最大化并行计算的优势,例如增大Batch Size、扩展Sequence长度等。降低LLM推理时延、提升LLM推理集群的吞吐和算力利用率,成为相关AI应用大规模产品化变现的迫切要求。

在Transformer推理过程中利用KV Cache技术可降低Decoding阶段的计算量,目前已成为LLM推理系统的必选技术。

采用KV Cache的LLM推理过程通常分为预填充(Prefill)和解码(Decode)两个阶段。

  1. Prefill阶段:将用户请求的prompt传入大模型,进行计算,中间结果写入KV Cache并推出第1个token。随着Prompt Sequence Length长度线性增长,对首Token时延(TTFT)指标有要求的业务通常采用单batch方式执行LLM推理,该阶段属于计算密集型操作。
  2. Decode阶段:将请求的前1个Token传入大模型,从显存读取前文产生的KV Cache再进行计算。采用KV Cache技术后,单Token计算量低,而主要瓶颈在于搬运参数量,故通常需要采用多batch方式提升利用率,该阶段属于访存密集型操作。基于KV Cache的LLM推理过程

图1.基于KV Cache的LLM推理过程

从实现上来看,整个LLM推理过程由Prefill和多轮迭代的Decode完成,如下图所示,想要在Decode阶段实现Continuous batching的前提是,每个被调度的Request需要空闲算力完成Prefill计算,按现有的部署模式,当Prefill和Decode部署在一起时,Prefill和Decode会交叉执行,从而导致增量Token时延(TBT)无法得到有效保障。

例如下图,当request5或request6到来时,系统可能会优先执行request5或request6的Prefill,此时request2/3/4的响应时延会受到一定影响,从而导致TBT不稳定。

图2.LLM响应时延分析

在实际的深度学习模型部署中,考虑到Prefill和Decode两阶段的计算/通信特征的差异特点,为了提升性能和资源利用效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值