詳細解釋
冷啟動(Cold Start)是模型或服務首次啟動或閒置後重新啟動時的初始化階段,由於資源加載和預熱導致響應延遲增加。
類型:
- 模型冷啟動:
- 權重加載:從磁盤/存儲加載模型到記憶體
- 編譯優化:TensorRT、PyTorch (Torch Compile)的圖優化
- 緩存填充:KV快取、特徵緩存初始化
- 批次累積:攢批導致首請求等待
- 推薦系統冷啟動:
- 新用戶:無歷史數據,無法個性化推薦
- 新物品:無交互數據,無法評估受歡迎度
- 解決:基於內容的推薦、探索策略
優化策略:
- 預熱(Warmup):
- 定期發送假請求保持熱狀態
- 啟動後立即執行預熱推理
- 預置並發(Provisioned Concurrency)
- 漸進加載:
- 按需加載:首次請求時加載對應模型
- 層級加載:優先加載常用層
- 優化啟動:
- 輕量鏡像:減少容器啟動時間
- 並行加載:多線程/多進程加載
- 編譯緩存:保存優化後的計算圖
成本權衡:
- 熱常駐:成本持續,但無冷啟動
- 冷啟動:節省成本,但首請求慢
- 預置並發:平衡兩者(如AWS Lambda Provisioned Concurrency)
監測指標:
- 冷啟動時間:從請求到首次響應
- P99延遲:冷啟動場景的延遲分布
- 資源利用率:啟動後的資源效率
冷啟動是生產AI服務必須優化的關鍵指標。