P/D-Serve:大规模服务分离式大语言模型
分布式、并行与集群计算
2024-08-16 v1 计算与语言
机器学习
摘要
在数万个 xPU 设备(GPU 或 NPU)上以可靠性能服务分离式大语言模型(LLMs)面临多重挑战。1)忽略多样性(各种前缀和潮汐请求),将混合池中的所有提示同等对待是不充分的。为了促进场景间的相似性并最小化 P/D(预填充与解码)处理中的内部不匹配,需要进行细粒度组织,动态调整 P/D 比例以获得更好性能。2)由于对工作负载(队列状态或维护的连接)估计不准确,全局调度器容易在预填充阶段产生不必要的超时。3)在集群级 RDMA(远程直接内存访问)上进行的固定块到设备(D2D)KVCache 传输未能达到预期的 D2D 利用率。为克服上述问题,本文提出端到端系统 P/D-Serve,遵循 MLOps(机器学习运维)的范式,对端到端(E2E)P/D 性能进行建模,并实现:1)细粒度 P/D 组织,根据需要以 RoCE(RDMA over converged ethernet)映射服务,以促进相似处理并动态调整 P/D 比例;2)在空闲预填充被拒绝时按需转发,将调度器与常规的不准确报告和本地队列解耦,以避免预填充超时;3)通过优化的 D2D 访问实现高效的 KVCache 传输。P/D-Serve 基于 Ascend 和 MindSpore 实现,已在商业环境中部署于数万个 NPU 上超过八个月,并进一步在 E2E 吞吐量、首 token 到达时间(TTFT)SLO(服务等级目标)和 D2D 传输时间上分别实现了 60%、42% 和 46% 的提升。作为带有优化的端到端系统,P/D-Serve 相比聚合 LLMs 实现了 6.7 倍的吞吐量增长。
引用
@article{arxiv.2408.08147,
title = {P/D-Serve: Serving Disaggregated Large Language Model at Scale},
author = {Yibo Jin and Tao Wang and Huimin Lin and Mingyang Song and Peiyang Li and Yipeng Ma and Yicheng Shan and Zhengfan Yuan and Cailong Li and Yajing Sun and Tiandeng Wu and Xing Chu and Ruizhi Huan and Li Ma and Xiao You and Wenting Zhou and Yunpeng Ye and Wen Liu and Xiangkun Xu and Yongsheng Zhang and Tiantian Dong and Jiawei Zhu and Zhe Wang and Xijian Ju and Jianxun Song and Haoliang Cheng and Xiaojing Li and Jiandong Ding and Hefei Guo and Zhengyong Zhang},
journal= {arXiv preprint arXiv:2408.08147},
year = {2024}
}