昆仑芯大规模 LLM 推理优化,实现秒级扩缩容¶
Ch01.1149 昆仑芯大规模 LLM 推理优化,实现秒级扩缩容¶
📊 Level ⭐⭐ | 5.3KB |
entities/昆仑芯大规模-llm-推理优化实现秒级扩缩容.md
昆仑芯大规模 LLM 推理优化,实现秒级扩缩容¶
来源: 百度Geek说
发布日期: 2026-03-31
原文链接: https://mp.weixin.qq.com/s/RcqccHL7POCHrB5MJAw-4w
。
点击蓝字,关注我们
本文整理自 26 年 3 月 15 日 vLLM-Kunlun Meetup 北京站活动
的同名主题演讲。
在实际业务运行中,大模型推理服务会面临明显的流量波动,不同时段的请求量差异很大。如果不能快速扩容,就会出现两种问题:要么峰值时服务响应慢、甚至超时,影响用户体验;要么为了应对峰值长期预留大量资源,造成资源闲置浪费。所以我们需要具备快速弹性扩缩容的能力。
但对于大模型推理而言,快速扩容存在一些现实瓶颈,从 0 到完全拉起一个大模型服务,动辄数分钟。我们以 Qwen3-235B 为例,把 521 秒冷启动耗时拆解开:69% 的时间耗在权重加载,磁盘 I/O 是最大瓶颈,传统的加载路径往往比较低效;15% 是一些编译开销;5% 是 CUDA Graph 初始化延迟。
针对前面的问题,我们对大模型冷启动的过程做出了一些优化:主要包括权重传输优化、编译缓存复用、特定场景的 CUDA Graph 延迟捕获策略,以及启动加速优化,对大模型冷启动的完整流程做了性能提升。
首先来看权重传输优化。
我们知道,模型权重是冷启动中最大的耗时项,传统方式是从磁盘加载,速度慢。我们的思路是,如果集群中已经有其他节点在运行相同的模型,我们能否直接从这些运行中的节点同步权重,而不是每次都从磁盘读取?
基于这个思路,我们设计了自适应权重传输引擎。它主要包含三个关键点:
-
第一,利用 NVLink 和 RDMA 这样的高速网络,直接在节点间传输权重,完全绕开磁盘;
-
第二,我们设计了并行传输架构,接收端会为每一块 GPU 都建立独立的 RDMA 连接,这样可以充分利用多网卡的带宽,实现并行传输;
-
第三,这个引擎能够智能地判断传输场景,如果是在同一台机器内部,就使用 NVLink,如果是在不同机器之间,就使用 RDMA,自动选择最优的传输路径。
通过这些优化,我们成功将 Qwen3-235B 模型的 348 GB 权重传输时间缩短到了约 2 秒,极大地突破了磁盘 I/O 的瓶颈。
接下来是编译缓存复用。
我们发现,在跨节点部署时,每个新节点启动都会重复大量的编译工作,这造成了大量的时间和资源浪费。我们的解决方案是,将这些编译产生的中间状态,比如 Inductor 优化缓存、DeepGEMM 算子、Triton 内核等,进行统一的缓存和管理。
当一个新节点启动时,它会首先检查是否有匹配的缓存可用,如果有,就直接通过 RDMA 高速网络从缓存节点同步过来,无需重复编译。
为了保证缓存的一致性和命中率,我们采用了一致性哈希等技术来管理缓存节点,从而实现 100% 的缓存命中率,在扩容场景下可以完全消除重复编译的开销,确保了所有推理引擎实例的一致性。
第三项优化是针对 CUDA Graph 的。
传统的 CUDA Graph 是在启动时一次性捕获所有计算图,这非常耗时,通常需要 10 到 60 秒。
我们采用了一种 Lazy CUDA Graph 的分阶段捕获策略。具体来说,在实例初始化阶段,我们只捕获最小必要的计算图,确保内存池等核心组件能够正常工作,这样可以大大减少初始化时间和显存占用。当第一个实际的推理请求到达时,我们再一次性捕获剩余的完整计算图。之后
→ 原文存档
关联¶
- 相关概念: Harness Engineering