《刘童旋_基于C++构建大模型推理优化框架xLLM实践.pdf》由会员分享,可在线阅读,更多相关《刘童旋_基于C++构建大模型推理优化框架xLLM实践.pdf(32页珍藏版)》请在三个皮匠报告上搜索。
1、基于C+构建大模型推理优化框架xLLM实践刘童璇电商场景的 AI 需求AI 生成商品图生成、短视频、AI营销内容生成、AI 数字人AI 生成商品图、短视频、AI 营销内容生成、AI 数字人AI 生成商品图生成、短视频、AI营销内容生成、AI 数字人AI 客服与售后管理、AI 经营托管、AI 仓配优化、AI 交互式推荐AI 生成商品图生成、短视频、AI营销内容生成、AI 数字人自动分拣机器人、智能空间、自动驾驶Generative AIAgentic AIPhysical AI电商场景 AI 推理的挑战大模型、多模态、文生图/视频、生成式推荐等多场景多模型的推理效率的挑战不同模型采用的不同推理框
2、架,带来无法实现多模型间的协同的挑战输入的多样性,硬件异构,用户的优先级,不同 SLO,分布式调度的挑战模型的规模、效果和效率的平衡,性能优化和轻量化的挑战为什么选择C+来构建大模型推理引擎?大模型推理引擎xLLM大模型多模态文生图/视频生成式推荐深度解耦的分布式设计,推理从单机走向集群动态PD分离、结合大规模专家负载均衡混合的EPD分离架构,异构实例协同推理全局多级KV Cache,推理内存池化全局智能调度,严格SLO下最大化资源利用率在离线任务的统一调度和弹性调度多优先级的用户请求调度请求快迁移和快恢复的容错机制Runtime运行时,极致性能优化全图化、多层流水线的执行引擎xTensor显
3、存管理优化高效融合算子库、异构硬件、通算并行xLLM-自适应PD调度-问题和挑战初期 PD 分离架构中 Prefill 和 Decode 节点比例固定实际场景的Input 和 Output 变化显著,PD 资源浪费xLLM-自适应PD调度-实现方案P和D 可自动切换身份PD 间 KV Cache迁移和请求可平滑迁移xLLM-自适应PD调度-实验效果在不同模型上,自适应PD调度可以实现吞吐提升1.59X-2.2X自适应PD调度使用的SLO Aware调度策略对比Mini Load和Round Robin具有显著的效果优势xLLM EPD分离调度-问题和挑战Encoder/Prefill/Deco
4、de分别不同的计算、访存特点不同阶段的Stage,最优化的Batch Size不同xLLM EPD分离调度-实现方案通过将编码、预填充和解码三个阶段调度到不同的异构推理实例上,在各个阶段之间重新分配资源xLLM EPD分离调度-实验效果在不同模型上,EPD分离调度可以实现吞吐提升最多3.7X的吞吐提升EPD调度的消融实验,可以看到EPD分离架构和调度优化各自独立带来的性能提升xLLM 在离线统一调度-问题和挑战请求波峰波谷的变化显著,尖峰时负载高且抖动剧烈基于传统潮汐调度的在离线混部调度成本高xLLM 在离线统一调度-实现方案负载低时,可以快速调度,插入离线请求执行推理负载高时,驱逐离线请求的
5、KV Cache,并保存离线请求xLLM 在离线统一调度-实验效果在离线统一调度策略,可以提供稳定的SLO性能,并带来最多3X的离线吞吐提升xLLM 多层流水线执行-问题和挑战调度和模型执行串行执行,导致GPU/NPU利用率低单流交替执行计算、通信,计算/通信资源利用不充分计算和数据搬运串行,无法打满算力BubblexLLM 多层流水线执行-实现方案CPU调度和GPU/NPU计算异步流水线执行不同Layer的GPU/NPU计算和通信异步流水线执行不同计算单元、访存并行流水线执行,如Cube/Vector/MTE等xLLM 多层流水线执行-实验效果在不同模型上基于多级流水线的能力,可以带来5%-
6、10%吞吐的提升,并且随着模型尺寸变小,收益更加明显xLLM 生成式推荐一次推理产出512-4096个semantic id(beam width),经过固定个step(4次)产出完整的item id基于C+实现的xLLM具备巨大的优势,通过实现高性能的Scheduler、Filter机制、自定义算子问题和挑战实现方案xLLM 全局KV Cache通过构建全局KV Cache实现高效的 Cache共享实现基于KV Cache的负载均衡策略构建高效的Failover策略xLLM