Amazon Web Services представила функцию кэширования моделей для Amazon SageMaker HyperPod — сервиса для развёртывания и обслуживания больших языковых моделей. Нововведение устраняет задержку между запросом на запуск пода и моментом, когда он готов принимать трафик. Раньше этот интервал определялся двумя последовательными загрузками: контейнерного образа сервера вывода из Amazon Elastic Container Registry (ECR) и весов модели из хранилища — Amazon S3, Amazon FSx for Lustre или HuggingFace Hub.

Проблема холодного старта особенно остра для крупных моделей. Для модели DeepSeek-R1 объёмом более 600 ГБ загрузка весов занимает 30 минут и больше. Контейнерные образы серверов вывода, таких как vLLM или LMI, весят несколько гигабайт и скачиваются 5–7 минут. При автомасштабировании каждый новый под проходит этот цикл заново. Если HorizontalPodAutoscaler запрашивает пять подов, все пять независимо скачивают образ и веса. Политика масштабирования может сработать за секунды, но фактическое время до обслуживания дополнительного трафика составляет 25–30+ минут.

КомпонентЧто кэшируетсяЭкономия времени
Кэш весовВеса модели на NVMeС 20–30+ минут до секунд
Кэш образовКонтейнер сервера вывода5–7 минут

Кэширование моделей решает проблему, предзагружая данные на узлы до планирования подов. Функция включает две независимые возможности. Кэш весов скачивает веса модели на локальные NVMe-накопители каждого узла заранее. После завершения загрузки оператор помечает узел как cache-ready и только затем создаёт развёртывание вывода. При запуске под читает данные с локального NVMe со скоростью около 7 ГБ/с вместо сетевой загрузки. Кэш сохраняется между перезапусками подов на том же узле. При масштабировании новые поды, попадающие на узлы с уже закэшированными весами, стартуют мгновенно.

Для модели DeepSeek-R1 объёмом 600+ ГБ холодный старт занимает 30+ минут, после кэширования — секунды.

Кэш образов предварительно загружает контейнер сервера вывода на узлы через DaemonSet, избавляя от ожидания ECR. В отличие от кэша весов, он не блокирует создание развёртывания. Если под запускается до завершения кэширования образа на узле, он скачивает образ из ECR обычным способом. Несколько развёртываний с одинаковым образом используют один кэш; оператор отслеживает ссылки и удаляет кэш только тогда, когда на него не остаётся ссылок.

Обе функции используют предпочтительное планирование, а не обязательное. Поды предпочитают узлы с кэшированными данными, но не блокируются, если такого узла нет. Это важно при быстром масштабировании, когда число новых подов превышает количество узлов с прогретым кэшем. В таком случае часть подов стартует по старой схеме, но остальные получают ускорение.

Для команд, развёртывающих крупные модели в production, кэширование меняет экономику автомасштабирования. Раньше реакция на всплеск трафика упиралась в пропускную способность сети до хранилища. Теперь узлы с NVMe-кэшем снимают это ограничение. Функция доступна для InferenceEndpointConfig и JumpStartModel, включается добавлением modelCacheConfig с параметрами weightsCache или imageCache. Это не первое решение для ускорения загрузки моделей в облаках, но в экосистеме SageMaker оно встроено в оператор HyperPod и не требует внешних инструментов.