什么是 冷启动(Cold Start)?

冷启动(Cold Start)是模型服务在运行时、模型权重、缓存或硬件尚未完全预热时处理请求产生的额外启动延迟。

工作原理

冷启动是实际部署问题,而不是模型架构特性。LLM 服务在高效处理请求前,可能需要启动容器、从存储加载模型权重、初始化 CUDA 内核、分配 KV Cache 显存、编译优化内核,或预热路由和安全组件。冷启动对大模型尤其痛苦,因为权重很大,GPU 显存初始化成本高。生产系统通常通过 warm pool、最小副本数、预加载、流量整形和谨慎的自动扩缩容策略降低冷启动。

主要特点

  • 在服务容量尚未预热时增加延迟
  • 可能涉及容器启动、模型加载、GPU 初始化和缓存分配
  • 对大模型和 GPU 推理更严重
  • 常发生在从零扩容、部署、故障切换或流量突增期间
  • 可通过 warm pool、预加载、最小副本和分阶段发布缓解

常见用途

  1. 诊断模型服务部署后的首次请求延迟
  2. 为 GPU 推理设计自动扩缩容策略
  3. 让延迟敏感聊天服务在低流量期间保持预热
  4. 衡量部署发布对用户体验的影响
  5. 区分冷启动延迟和稳态延迟

示例

loading...
Loading code...

常见问题

为什么 LLM 冷启动很昂贵?

大模型权重、GPU 显存分配、内核初始化和预热步骤可能需要数秒甚至数分钟。

冷启动和 TTFT 一样吗?

不一样。冷启动是稳态服务前的启动开销;TTFT 是单个请求到第一个生成 token 的时间。

如何减少冷启动?

使用预热副本、预加载权重、关键路径避免 scale-to-zero,并在流量到来前调优自动扩缩容。

每个模型服务都应该避免 scale-to-zero 吗?

不一定。scale-to-zero 可为低频任务省成本,但对延迟敏感的用户 API 可能不可接受。

相关工具

相关术语