记录我在本科期间的论文阅读笔记,可能有些地方理解的不对,理性看待哈!
SportServe: 在抢占式实例上为生成式大型语言模型服务
摘要
LLM(大型语言模型)具有非常高昂的计算代价,所以降低他们的成本非常具有挑战性,本文利用云服务上的可抢占式的GPU实例来降低成本,但要解决频繁的实例抢占和实力迁移,以及处理抢占的问题。
SportServe首先可以动态调整LLM并行化的配置以适应实例可用性和波动的工作负载,其次将需要迁移的实例描述为一个二部图匹配问题,使用KuhnMunkres(KM)算法确定一个最优计划,最后引入了推理状态恢复,更细粒度的提交推理进程。
我们对其进行了评估,与现有的最佳的LLM系统相比,SportServe可以将P99延迟降低2.4-9.1倍,与按需使用的实例相比节省了54%的经济成本,代码可见:GitHub - Hsword/SpotServe: SpotServe: Serving Generative Large Language Models on Preemptible Instances
关键词
大型语言模型,可抢占实例,云计算
引言
由于LLM的的高计算量和内存需求,所以很难在硬件平台上有效的服务它们,为了解决这一挑战,最近的工作引入了很多方法。将一个LLM划分为多个子模型,每个子模型部署在一个设备上,但是价格依旧十分昂贵。
现代云提供了许多可抢占式的GPU实例,为服务LLM提供了更实惠的办法,他们可以备用容量运行在实例上,就算是有服务到来,也有一个宽限期让他们运行完当前任务,优雅的结束(被抢占)。
本文介绍了第一个分布式生成LLM服务系统,它通过结合数据、张量模型和模型管道的并行化来负责跨多个GPU实例的LLM推理,并产生与按需使用相同的结果。解决了三个挑战:
-
动态并行化LLM推理 :由于实例抢占和获取导致的可用实例数量的频繁变化,需要动态调整并行化配置。SpotServe同时考虑了并行化策略的推理延迟和它的服务吞吐量,并使用一种混合优化算法来平衡吞吐量和延迟之间的权衡。
-
廉价的迁移实例 :最小化迁移实例并重新并行化,初始化所有现场实例,合并模型参数并建立新的通信组。SpotServe会机会性地重用模型参数和中间结果,将可用的实例点映射到并行化策略的设备网格,这会转为SpotServe中的二部图匹配问题,它利用KM算法来确定最优的设备映射,使迁移点实例的成本最小化。此外,利用管道阶段的顺序执行顺序,将实例迁移与推理计算重叠,决定了如何迁移实例。
-
有效利用宽限期:在现有的服务系统中,如果在宽限期内还没完成的任务将被重新路由至其他管道中,再重新启动,会导致冗余计算。为了利用宽限期,SpotServe利用了LLM的自回归特性,并引入了有状态推理恢复,使得可以在token级别就提交进展,而不是之前的request级别,它使用just-in-time(JIT)来决定何时将已提交的键值缓存迁移到其他的可用实例,其他实例可以使用这些缓存来恢复推理。
背景
生成式LLM推理
大多数LLM采用自回归解码机制,导致了一个由多个迭代组成的增量推理过程,如下图展示了一个示例,其中LLM将“ABCD”作为输入序列(即
标签:Serving,Language,SpotServe,并行,实例,GPU,上下文,推理 From: https://blog.csdn.net/weixin_63524773/article/details/143441198