第19章 动态 自适应推理引擎优化
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在现代硬件上运行超大规模语言模型(LLM)推理 时,需要动态运行时适应机制才能在不同条件下同时实现高吞吐量与低延迟。静态的"一刀切"模型服务优化方案已不再适用。
相反,尖端模型服务系统采用自适应策略,实时调整并行度、数值精度、CUDA内核调度及内存使用。本章深入探讨这些先进技术,包括动态并行度切换、精度缩放、实时缓存管理以及基于强化学习(RL)的调优。
本章提供超大规模 LLM 推理的最佳实践,指导您构建能够实时监控自身性能并动态调整以实现效率最大化的引擎。
自适应并行策略(TP与PP及混合模式对比)
大规模LLMs需要模型并行技术( ),如张量并行、管道并行或混合方案,以将计算任务分摊至多张GPU。每种方案各有优劣。表19-1总结了针对特定推理流量模式的推荐并行策略。
| 推理流量p | 推荐并行度 | 原理说明 |
|---|---|---|
| 大量短请求(< 256个令牌,高RPS) | 数据并行/副本扩展 | 最小化GPU间通信;每个GPU运行独立处理请求的副本(假设模型可容纳于单GPU内存) |
| 少量长请求(≥8k令牌,低并发) | 流水线并行处理(配合微批处理) | 通过跨GPU分层处理降低单请求延迟 |
| 混合负载(短请求+少量长请求) | 混合动态(自动切换) | 小型聊天在单GPU上运行,长聊天通过管道处理以满足延迟SLA |
| 超大规模模型(> 1 GPU内存) | 张量+管道混合架构 | 需适配模型规模;在计算与内存维度实现平衡 |
| MoE模型推理(稀疏专家选择) | 专家并行性 | 将独立专家分布于多张GPU;每次请求仅调用专家子集,降低单设备内存与计算负载 |
数据并行与副本扩展策略将在每块GPU上完整复制模型,并在副本间平衡请求负载。由于每块GPU独立处理不同请求,因此无需进行GPU间同步。
该策略能以最小通信开销实现大量中小型输入数据的吞吐量最大化。但若模型超出单GPU内存容量,则无法采用数据并行方案。
张量并行(TP)属于模型并行范畴(区别于数据并行),通过将模型矩阵(如权重、层等)拆分至不同GPU来加速矩阵乘法运算。但该方案需额外引入全局聚合通信以保持GPU同步。
流水线并行(PP)是另一种模型并行形式,同样采用模型分割策略。但其不分割单个模型层或矩阵,而是将完整层分配至不同GPU以突破内存限制——前提是层数据能容纳于单GPU内存中。PP会因顺序阶段延迟产生额外开销,这些延迟被称为流水线气泡(如图19-1所示)。
专家并行法应用于混合专家(MoE)模型架构,为每个专家子网络分配独立GPU。轻量级门控网络将输入请求或令牌导向由路由器识别的前k个活跃专家。此时每块GPU仅处理其承载的专家子集。
图19-1. PP引发的流水线 气泡
通过仅激活少量专家处理每个输入,专家并行机制显著降低了专家数量庞大的模型(通常称为宽专家模型)在单设备上的内存占用、推理时间及计算成本。这种基于路由器的条件化专家计算模式能随专家数量增加而高效扩展。例如DeepSeek-R1模型虽拥有256个专家,但推理时路由器仅选择前9个专家(含1个共享专家)。
传统上,并行化策略(包括多种并行技术组合的混合策略)在模型加载时就已确定并固定。但为在动态工作负载下实现性能最优化,现代推理引擎可在运行时根据输入特征动态选择不同并行策略。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access