什么是 冷启动(Cold Start)?
冷启动(Cold Start)是模型服务在运行时、模型权重、缓存或硬件尚未完全预热时处理请求产生的额外启动延迟。
工作原理
冷启动是实际部署问题,而不是模型架构特性。LLM 服务在高效处理请求前,可能需要启动容器、从存储加载模型权重、初始化 CUDA 内核、分配 KV Cache 显存、编译优化内核,或预热路由和安全组件。冷启动对大模型尤其痛苦,因为权重很大,GPU 显存初始化成本高。生产系统通常通过 warm pool、最小副本数、预加载、流量整形和谨慎的自动扩缩容策略降低冷启动。
主要特点
- 在服务容量尚未预热时增加延迟
- 可能涉及容器启动、模型加载、GPU 初始化和缓存分配
- 对大模型和 GPU 推理更严重
- 常发生在从零扩容、部署、故障切换或流量突增期间
- 可通过 warm pool、预加载、最小副本和分阶段发布缓解
常见用途
- 诊断模型服务部署后的首次请求延迟
- 为 GPU 推理设计自动扩缩容策略
- 让延迟敏感聊天服务在低流量期间保持预热
- 衡量部署发布对用户体验的影响
- 区分冷启动延迟和稳态延迟
示例
loading...
Loading code...常见问题
为什么 LLM 冷启动很昂贵?
大模型权重、GPU 显存分配、内核初始化和预热步骤可能需要数秒甚至数分钟。
冷启动和 TTFT 一样吗?
不一样。冷启动是稳态服务前的启动开销;TTFT 是单个请求到第一个生成 token 的时间。
如何减少冷启动?
使用预热副本、预加载权重、关键路径避免 scale-to-zero,并在流量到来前调优自动扩缩容。
每个模型服务都应该避免 scale-to-zero 吗?
不一定。scale-to-zero 可为低频任务省成本,但对延迟敏感的用户 API 可能不可接受。