大规模部署大语言模型(LLM)面临双重挑战:一方面需保障高需求时段的快速响应能力,另一方面又要有效控制 GPU 成本。组织通常面临两难选择:是为应对峰值需求而配置额外的 GPU 资源,还是在流量高峰期间承担无法满足服务级别协议的风险,必须在二者之间做出权衡。
- 使用 GPU 部署多个副本以处理 最坏情况下的流量场景,为花费大部分时间处于空闲状态的硬件付费。
- 从零开始大幅扩展,让用户饱受延迟峰值之苦。
这两种方法都存在不足:第一种会耗费您的预算,第二种则可能令用户感到失望。
NVIDIA Run:ai GPU 显存交换(也称为模型热插拔)是一项创新技术,旨在突破 GPU 显存限制,提升自动扩展效率,从而显著提高推理工作负载的 GPU 利用率。
为何选择模型热插拔?
热插拔为模型服务引入了一种更加动态的资源管理方式。它允许多个模型共享同一块 GPU,即使这些模型的显存需求总和超过了 GPU 的可用容量。其工作原理如下:
- 动态内存卸载:在特定时间框架内未收到请求的模型不再占用 GPU 显存。不使用时,系统会将其交换到 CPU 显存。
- 快速激活:在收到请求后,系统会立即将模型交换回 GPU 显存,同时尽可能降低延迟。
- 模型副本越多,硬件越少:这使得多个模型能够共享同一硬件,从而在不影响响应速度的情况下显著减少始终开启的机器数量。此外,由于服务器 (即 CPU 进程) 即使在 GPU 部分被交换时仍然处于活动状态,因此在服务器已初始化时,副本可以快速重新启用。
借助热插拔技术,组织能够高效应对不可预测的工作负载,同时避免因过度配置带来的高昂成本。
GPU 显存交换基准测试:性能验证
为了演示 GPU 显存交换的性能,我们模拟了真实世界中大语言模型部署的场景。
测试中的模型
- Meta Llama 3.1 8B Instruct (FP32:约 32 GB)
- Mistral-7B (FP32:27.5 GB)
- Falcon-11B (FP32:41.83 GB)
硬件与软件环境
- GPU: NVIDIA L40S (48 GB) 通过 PCIe 4.0 x8 连接,限制为最大理论吞吐量的一半
- 实例类型: AWS g6e.4 xlarge
- 调度程序: NVIDIA Run:ai 调度程序 (v2.19)
- 推理引擎: 具有默认配置的 vLLM 版本 0.6.4
- 服务器镜像预加载到节点中,模型权重缓存在 EBS 存储中,从而在所有场景中消除网络流量开销。
指标
- 第一个 token 所需时间 (TTFT): 从第一次请求到达服务器时开始测量,到模型生成第一个 token 为止。我们使用了 vLLM 的官方基准测试脚本,通过禁用预热阶段来模拟生产环境。
输入条件
- 提示长度:128 个 token 和 2048 个 token,模型停止在 EOS token 处。
比较三种部署场景的延迟和效率
我们评估了三种不同的情况:
- 零扩展:测量 TTFT 从头开始加载模型。
- 单个 GPU 上模型之间的 GPU 显存交换:评估模型从 CPU 显存交换回 GPU 显存时的 TTFT。
- 基准 (暖模型) :当模型已驻留在 GPU 显存中时,建立基准 TTFT。
1. 零延迟扩展
从零开始扩展包括初始化 Pod、将模型加载到 GPU 以及处理首个请求。由于初始化开销较大,该方法的 TTFT 显著高于其他方法。
模型 | 输入长度 (Token) | TTFT (s) |
Llama 3.1 8B Instruct | 128 | 159.49 |
2,048 | 159.77 | |
Mistral-7B | 128 | 145.90 |
2,048 | 146.90 | |
Falcon-11B | 128 | 207.07 |
2,048 | 208.13 |
对于较小的模型,首字生成时间持续超过140秒,而对于稍大的模型,则超过200秒。这种延迟(最长达208秒)在实时应用中通常难以接受,凸显了在生产环境中从零开始扩展的效率低下问题。
2. GPU 显存交换 – 最佳效率
在此测试中,模型于 CPU 内存中启动,并根据请求动态交换至 GPU 内存。测试包含两组模型:第一组为 Llama 3.1 8B 与 Mistral-7B,第二组为 Llama 3.1 8B 与 Falcon-11B,其处理序列为:
- 系统会向一个模型发送请求,提示其将请求加载到 GPU 显存中。系统会动态地将此模型从 CPU 交换到 GPU 显存,并记录 TTFT。
- 在此模型完成任务并自动交换回 CPU 内存后,系统会向第二个模型发送请求。同样,它被加载到 GPU 显存中,并记录其 TTFT。
注意:在 GPU 显存交换过程中,TTFT 受限于 PCI 带宽,以及模型在 CPU 与 GPU 显存之间交换所需的时间。
模型 | 输入长度 (Token) | TTFT (s) |
Mistral-7B | 128 | 2.4 |
2048 | 2.57 | |
Llama 3.1 8B Instruct | 128 | 2.9 |
2048 | 3 |
模型 | 输入长度 (Token) | TTFT (s) |
Falcon-11B | 128 | 2.93 |
2,048 | 3.13 | |
Llama-3.1 8B Instruct | 128 | 2.9 |
2,048 | 3.13 |
这两个批次(Llama 3.1 8B Instruct 与 Mistral-7b 搭配,以及 Llama 3.1 8B Instruct 与 Falcon-11b 搭配)均能在不同模型和输入规模下生成一致的结果。由于显存占用较高,Falcon-11b 的首令牌生成时间(TTFT)相较 Mistral-7b 略长,符合预期。然而,这一差异小于 0.5 秒,影响微小,仍在实际应用场景可接受的性能范围内。
这些结果的生成仅需 2 到 3 秒(取决于输入序列的长度),相比从零开始扩展,效率提升了 50 至 66 倍,具体提升幅度因模型类型和输入长度而异。
3. 基准性能 – 温暖的模型,高昂的成本
为建立基准,我们测量了已完全加载至 GPU 显存中的模型的 TTFT。从延迟角度看,这代表了理想情况下的性能表现。
模型 | 输入长度 (Token) | TTFT (s) |
Llama-3.1-8B-Instruct | 128 | 0.038 |
2,048 | 0.21 | |
Mistral-7B | 128 | 0.036 |
2,048 | 0.17 | |
Falcon-11B | 128 | 0.05 |
2,048 | 0.25 |
暖模型能够提供近乎即时的响应,但要求 GPU 始终完全专用于该模型。在需求较低的时段,GPU 仍无法得到充分利用,因此在同时运行多个模型或副本时,会造成显著的成本增加。
无损成本效益

GPU 显存交换在性能与成本之间实现了良好平衡,将 TTFT 缩短至几秒钟。该方法使组织能够将工作负载整合到更少的 GPU 上,同时满足严格的服务水平协议,保障系统的高效与可靠。相比始终运行的保温模型,这种方法仅需在延迟上做出轻微权衡,即可带来显著的成本节约。
尽管 NVIDIA Run:ai 的模型流式传输技术可将零场景下的首次响应时间(TTFT)缩短数十秒,但通过 GPU 显存交换技术,能够进一步将 TTFT 降至 10 秒以内,更适用于对响应时效有较高要求的应用场景。
借助 GPU 显存交换技术,您可以显著提升 GPU 利用效率,降低资源闲置带来的成本,同时保障用户期待的响应速度。 立即联系我们,实时体验 GPU 显存交换功能,并深入了解 NVIDIA Run:ai 如何助力重塑您的 AI 基础设施。