大语言模型推理方法和系统与流程

摘要: 本公开涉及人工智能领域,尤其涉及一种大语言模型推理方法和系统。背景技术:1、随着大语言模型(largelanguagemodel,llm)的发展,编程助手、通用...
大语言模型推理方法和系统与流程

本公开涉及人工智能领域,尤其涉及一种大语言模型推理方法和系统。

背景技术:

1、随着大语言模型(large language model,llm)的发展,编程助手、通用聊天机器人等智能应用日益普及。由于大语言模型参数规模大、计算复杂度高,其推理过程需要消耗大量计算和存储资源。为满足高并发访问和大规模计算需求,云计算平台通常依托大型数据中心提供在线推理服务。

2、llm推理通常包括预填充(prefill)阶段和解码(decode)阶段,两个阶段在计算密集程度、访存特性及硬件需求方面存在明显差异。为提高硬件利用效率,相关技术通常采用预填充与解码分离的部署架构,并分别配置适用于预填充阶段和解码阶段的异构硬件资源池,两个资源池之间通过数据中心内部的高速网络传输键值缓存(key-value cache,kvcache)数据。

3、然而,上述部署方式需要预先确定两类资源池的规模及配比。在模型结构、输入输出长度或请求负载发生变化的情况下,预填充负载与解码负载之间的比例也会相应变化,容易造成一类硬件资源不足而另一类硬件资源闲置。对资源池规模或配比进行调整通常涉及较大规模的硬件重构,成本较高且灵活性不足。

4、为提高已有异构硬件资源的复用率,相关技术还尝试将位于不同数据中心的硬件集群组合用于大语言模型推理。但相较于数据中心内部网络,跨数据中心网络通常具有带宽较低、传输时延较大的特点,导致预填充资源与解码资源之间的键值缓存传输耗时显著增加,进而限制跨数据中心推理系统的整体性能。

技术实现思路

1、有鉴于此,本公开提出了一种llm推理方法和系统,通过在与预填充(prefill,p)推理单元共址部署的中继解码(relaydecode,rld)推理单元上先行执行解码,以生成先行输出词元(token)序列;与此同时,将键值缓存跨数据中心传输至主解码(maindecode,md)推理单元。由此,本地解码过程与向远端传输键值缓存的过程能够重叠执行,从而有效隐藏跨数据中心以太网传输所引入的时延。待键值缓存传输完成后,将后续解码过程切换至md,并由md继续生成后续的输出词元序列。

2、根据本公开的第一个方面,提供了一种llm推理方法,应用于包括第一数据中心和第二数据中心的llm推理系统,所述第一数据中心部署有预填充推理单元和第一解码推理单元,所述第二数据中心部署有第二解码推理单元,所述方法包括:由所述预填充推理单元对用于llm推理的输入序列执行预填充处理,以获得所述输入序列的键值缓存数据;经由第一通信路径向所述第一解码推理单元提供所述键值缓存数据,并经由第二通信路径向所述第二解码推理单元提供所述键值缓存数据;由所述第一解码推理单元基于经由所述第一通信路径接收到的所述键值缓存数据执行第一解码处理,以生成第一输出序列并基于所述第一输出序列输出第一推理内容,其中,所述第一解码处理和所述第一推理内容的输出过程与经由所述第二通信路径向所述第二解码推理单元提供所述键值缓存数据的传输过程至少部分重叠;以及向所述第二解码推理单元传输第一输出序列信息,以使得所述第二解码推理单元基于所述键值缓存数据和所述第一输出序列生成第二输出序列并基于所述第二输出序列输出第二推理内容。

3、可选地,经由第一通信路径向第一解码推理单元提供所述键值缓存数据,并经由第二通信路径向第二解码推理单元提供所述键值缓存数据包括:确定所述输入序列是否满足中继解码条件;以及响应于所述输入序列满足所述中继解码条件,经由第一通信路径向第一解码推理单元提供所述键值缓存数据,并经由第二通信路径向第二解码推理单元提供所述键值缓存数据。

4、可选地,所述方法还包括:响应于所述输入序列不满足所述中继解码条件,仅经由所述第二通信路径向所述第二解码推理单元提供所述键值缓存数据,以使所述第二解码推理单元基于所述键值缓存数据执行解码处理,并输出相应的推理内容。

5、可选地,向所述第二解码推理单元传输第一输出序列信息,以使得所述第二解码推理单元基于所述键值缓存数据和所述第一输出序列生成第二输出序列并基于所述第二输出序列输出第二推理内容包括:向所述第二解码推理单元传输用于表征所述第一输出序列的第一输出序列信息,以使所述第二解码推理单元在经由所述第二通信路径获得所述键值缓存数据后,基于所述第一输出序列信息获得所述第一输出序列对应的增量键值缓存数据,并基于所述键值缓存数据和所述增量键值缓存数据执行第二解码处理,以生成第二输出序列并接续输出基于所述第二输出序列得到的第二推理内容。

6、可选地,响应于满足预定停止条件,所述第一解码推理单元停止执行所述第一解码处理,并向所述第二解码推理单元提供用于表征所述第一解码推理单元在停止执行所述第一解码处理之前生成的全部输出词元的第一输出序列信息。

7、可选地,在所述第二解码推理单元基于所述第一输出序列信息生成增量键值缓存数据期间,所述第一解码推理单元继续执行所述第一解码处理,以扩展所述第一输出序列,并向所述第二解码推理单元继续提供所述第一输出序列中新生成的输出词元对应的词元信息;响应于当前生成的所述第一输出序列的序列长度与所述增量键值缓存数据所对应的序列长度不超过预定阈值,停止由所述第一解码推理单元执行所述第一解码处理,并由所述第二解码推理单元执行所述第二解码处理。

8、可选地,所述方法还包括:确定所述第一解码推理单元的当前资源使用状态;以及基于所述当前资源使用状态,执行以下至少一项:调整用于确定所述输入序列是否满足所述中继解码条件的判断阈值;调整所述第一解码推理单元针对单个输入序列执行所述第一解码处理的最大持续时间或者生成的输出词元数量上限;以及在一次性移交模式和追赶式移交模式之间选择将解码任务由所述第一解码推理单元移交至所述第二解码推理单元的移交模式,其中,所述当前资源使用状态包括所述第一解码推理单元的并发请求数量、显存占用率、计算资源利用率、待处理请求数量或者预计等待时间中的至少一项,其中,在所述一次性移交模式下,所述第一解码推理单元移交所述解码任务并一次性向所述第二解码推理单元移交所述第一输出序列信息;在所述追赶式移交模式下,所述第一解码推理单元在所述第二解码推理单元生成所述第一输出序列对应的增量键值缓存数据期间继续执行所述第一解码处理,并响应于所述增量键值缓存数据所对应的输出词元数量追赶上所述第一解码推理单元当前已生成的输出词元数量,向所述第二解码推理单元移交所述解码任务。

9、根据本公开的第二个方面,提供了一种llm推理系统,包括第一数据中心和第二数据中心, 所述第一数据中心部署有预填充推理单元和第一解码推理单元,其中,所述预填充推理单元部署在预填充推理服务器上,所述第一解码推理单元部署在第一解码推理服务器上;所述第二数据中心部署有第二解码推理单元,并且所述第二解码推理单元部署在第二解码推理服务器上;所述预填充推理单元与所述第一解码推理单元之间经由第一通信路径通信,所述预填充推理单元与所述第二解码推理单元之间经由第二通信路径通信,其中:所述预填充推理单元被配置为:对用于llm推理的输入序列执行预填充处理,以获得所述输入序列对应的键值缓存数据;以及经由所述第一通信路径向所述第一解码推理单元提供所述键值缓存数据,并经由所述第二通信路径向所述第二解码推理单元提供所述键值缓存数据;所述第一解码推理单元被配置为:基于经由所述第一通信路径接收到的所述键值缓存数据执行第一解码处理,以生成第一输出序列,并输出基于所述第一输出序列得到的第一推理内容,其中,所述第一解码处理和所述第一推理内容的输出过程与经由所述第二通信路径向所述第二解码推理单元提供所述键值缓存数据的传输过程至少部分重叠;以及向所述第二解码推理单元提供用于表征所述第一输出序列的第一输出序列信息;并且所述第二解码推理单元被配置为:基于经由所述第二通信路径接收到的所述键值缓存数据和所述第一输出序列信息,生成所述第一输出序列对应的增量键值缓存数据;以及基于所述键值缓存数据和所述增量键值缓存数据执行第二解码处理,以接续生成第二输出序列,并输出基于所述第二输出序列得到的第二推理内容。

10、可选地,所述预填充推理服务器包括用于执行所述预填充处理的第一类型硬件加速器,所述第一解码推理服务器包括用于执行所述第一解码处理的第二类型硬件加速器,并且所述第一类型硬件加速器的计算处理能力高于所述第二类型硬件加速器的计算处理能力,所述第二类型硬件加速器的存储容量和存储带宽中的至少一项高于所述第一类型硬件加速器。

11、可选地,一个所述第二数据中心内用于执行所述第二解码处理的所述第三类型硬件加速器的数量大于一个所述第一数据中心内用于执行所述第一解码处理的所述第二类型硬件加速器的数量。

12、可选地,所述llm推理系统包括多个所述第一数据中心,所述多个第一数据中心中的各第一数据中心分别经由各自的第二通信路径连接至所述第二数据中心,并共享部署在所述第二数据中心的多个第二解码推理单元。

13、由此,本公开的llm推理方法和系统通过p-rld-md的三级分离架构,使rld推理单元在对键值缓存数据进行跨数据中心传输期间先行解码,并由md推理单元基于输出词元标识在本地恢复增量键值缓存,从而减少传输等待和通信开销。结合少量异构rld资源需求及md侧前缀缓存,还可降低部署成本,并提高系统的资源利用率、可扩展性和鲁棒性。