冷啟動的痛點:兩段下載拖慢擴容
部署大型語言模型到 Amazon SageMaker HyperPod 時,從請求 Pod 到真正能服務流量之間,有兩段連續下載:先從 Amazon ECR 拉取推論伺服器容器映像,再從 Amazon S3、Amazon FSx for Lustre 或 HuggingFace Hub 下載模型權重。AWS Machine Learning Blog 指出,小模型可能只要幾分鐘,但像 DeepSeek-R1 這種 600 GB 以上的模型,光是權重下載就要 30 分鐘以上。
每次擴容都會重複這個循環。如果 HorizontalPodAutoscaler 因為流量尖峰而新增五個 Pod,這五個 Pod 會各自獨立下載,實際能接流量的時間被網路吞吐量卡住,而不是被排程速度卡住。
模型快取怎麼運作
AWS 在 2026 年 9 月 10 日發表模型快取功能,把權重和容器映像預先載入節點的本地 NVMe 儲存。Pod 啟動時直接從 NVMe 讀取,速度約 7 GB/s,而不是走網路下載。啟用後,Pod 通常可以在數秒內開始服務流量。
模型快取分成兩個獨立能力,可以分開或一起啟用:
權重快取:操作員會建立 ModelDataCacheConfig 資源,把權重從來源下載到所有目標節點的 NVMe。下載完成後,節點會被標記為 cache-ready,操作員會等到所有目標節點都準備好才建立推論部署。快取在 Pod 重啟後仍然保留,擴容時若新 Pod 落在已有快取的節點上,就能立即啟動。
映像快取:操作員建立 DaemonSet,把推論伺服器容器映像預先拉到所有目標節點。與權重快取不同,映像快取不會阻擋部署建立;Pod 啟動時若映像已快取,就跳過 ECR 拉取,省下 5 到 7 分鐘。多個部署若使用相同映像,會共用一份映像快取,操作員會追蹤引用,直到沒有部署引用時才清理。
兩種快取都採用「偏好排程」而非「強制排程」。Pod 會優先落在有快取的節點,但不會被卡住;若落在沒有暖快取的節點,就退回原本的下載流程,行為與未啟用快取時相同。
啟用方式與支援範圍
啟用模型快取很簡單:在既有的 InferenceEndpointConfig 或 JumpStartModel 資源中加入 modelCacheConfig 區段,不需要額外基礎設施。以下是一個 InferenceEndpointConfig 範例:
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
name: example-model
namespace: default
spec:
modelName: example-model
modelSourceConfig:
modelSourceType: s3
s3Storage:
bucketName: example-bucket
region: us-west-2
modelLocation: "models/example-model"
modelCacheConfig:
weightsCache:
enabled: true
imageCache:
enabled: true
instanceType: ml.g5.24xlarge
worker:
image: vllm/vllm-openai:latest
modelInvocationPort:
containerPort: 8000
modelVolumeMount:
name: model-weights
mountPath: /opt/ml/model
resources:
limits:
nvidia.com/gpu: "4"
模型快取支援所有 HyperPod Inference 支援的模型來源,包括 Amazon S3、Amazon FSx for Lustre、HuggingFace Hub,以及 Amazon SageMaker JumpStart(含 gated 模型)。
效能數據與限制
AWS 的基準測試顯示,在 57 到 145 GB 的模型上,啟用權重快取後擴容速度快約 60%。映像快取可以移除超過兩分鐘的冷映像拉取時間,相較於每次 Pod 啟動都從 ECR 重新拉取,最高可減少 97%。模型越大,效益越明顯,因為省下的下載量更多。
不過有幾個限制要留意:
- 權重快取是每個節點一份,NVMe 消耗會隨節點數線性成長。
- 第一次啟用快取時,仍需從遠端來源下載一次,之後才從本地讀取。
- NVMe 容量有限,模型大小不能超過執行個體的 NVMe 容量。例如 ml.g5.xlarge 只有 250 GB,放不下 300 GB 的模型。
- 來源更新不會自動偵測。如果你在相同的 Amazon S3 路徑更新權重檔,但沒有改 InferenceEndpointConfig spec,操作員會繼續服務快取版本。要取得新權重,必須更新 spec(例如改路徑或加版本後綴)。
對產品建置者的意義
模型快取解決的是推論擴容的「最後一哩」延遲。過去,即使 autoscaler 在幾秒內做出反應,實際能接流量的時間仍被下載卡住。現在把權重和映像預載到節點,讓擴容從「等網路」變成「等排程」。這對需要快速回應流量尖峰的產品特別有用,例如即時對話或批次推論服務。
如果你正在評估 SageMaker HyperPod 的推論部署,可以參考前綴感知路由:讓 KV cache 不再被隨機打散,那篇文章討論了另一個降低推論延遲的機制。兩者可以互補:模型快取處理冷啟動,前綴感知路由處理熱啟動時的 cache 效率。
實際採用前,建議先確認執行個體的 NVMe 容量是否足夠容納模型權重,並規劃好權重更新流程,避免快取造成版本不一致。
參考來源
本文由 AI 協助自上述來源整理,經人工審核後發布。
