Обновить
119.78
Cloud.ru
Провайдер облачных сервисов и AI-технологий

3 неочевидных способа сэкономить на инференсе ML-модели в облаке кроме автоскейлинга 💸💸💸

Привет! Сегодня хотим поделиться тремя полезными способами сэкономить на инференсе, которые работают в облаке, причем, не только у нас (что? да!).  

А то ведь как бывает: запустишь свою крутую LLM-ку в продакшен, а счет прилетает такой, что хочется отключить обратно. Горизонтальный скейлинг не всегда выход. Но дешевле — не значит менее производительно. Мы приведем алгоритмы для сервиса Evolution ML Inference, но их можно адаптировать для любого провайдера. 

Способ 1. Использовать Sleep Mode vLLM 🔧

Способ работает только для языковых моделей (LLM), таких как Qwen, LLaMA, Mistral и других, запускаемых через vLLM. С диффузионными моделями, CV и временными рядами фокус не прокатит. Sleep Mode временно выгружает веса модели из GPU в RAM, освобождая до 90% видеопамяти. А раз GPU-ресурс не используется, то и не тарифицируется. «Разбудить» модель можно за секунды и без полной перезагрузки. 

Что делать: 

1. Запустите модель в ML Inference с runtime vLLM.

2. Включите режим разработки:

   VLLM_SERVER_DEV_MODE=1

3. Добавьте флаг:

   --enable-sleep-mode   

4. Управляйте через HTTP:

   ⦁ POST /sleep?level=1 — выгрузить веса, сохранить возможность быстрого запуска.

   ⦁ POST /wake_up — вернуть модель в активное состояние.

Когда применять: 

  • В сценариях с неравномерной нагрузкой (например, днём активность, ночью — нет).

  • Между итерациями RLHF, когда нужно освободить GPU. 

Способ 2. Serverless + Scale to Zero 🔧

Способ подходит вообще для всего. Суть в том, что контейнер с моделью останавливается при отсутствии запросов, освобождая все выделенные ресурсы (GPU, RAM, CPU). Кеш модели сохр��няется, но тоже не тарифицируется в период простоя — PROFIT! При поступлении нового запроса модель запускается из кеша — и тут, мы, конечно, имеем проблему с задержкой при «холодном старте». Но пара секунд ожидания экономит нам сотни тысяч.

Что делать: 

1. При создании инференса в ML Inference:

   ⦁ Установите min_replicas = 0.

   ⦁ Выберите тип масштабирования: RPS или Concurrency.

2. Убедитесь, что Idle-таймаут = 40 сек.

Когда применять: 

  • Для MVP, демо, внутренних API.

  • Сценариев с нерегулярной нагрузкой (например, 100 запросов в день).

  • Моделей, где допустима небольшая задержка при первом запросе.

Способ 3. Time Slicing GPU 🔧

Способ работает в рамках Managed Kubernetes (MK8s), при условии, что в кластере создана группа узлов с GPU NVIDIA Tesla V100. Суть в том, что одна физическая GPU делится между несколькими подами (например, 5 подов по 1 GPU): каждый получает свою долю времени, как если бы у него была выделенная карта. 

Что делать: 

1. Создайте кластер Managed Kubernetes с узлом, где:

   ⦁ GPU: NVIDIA Tesla V100.

   ⦁ Количество GPU: 1.

2. Настройте Time-Slicing. Создайте ConfigMap:

   apiVersion: v1

   kind: ConfigMap

   metadata:

     name: time-slicing-config

     namespace: gpu-operator

   data:

     tesla-v100: |-

       version: v1

       sharing:

         timeSlicing:

           resources:

             - name: nvidia.com/gpu

               replicas: 5

   Примените: kubectl apply -f cloudru-time-slicing.yaml

3. Установите NVIDIA GPU Operator. В Личном кабинете Cloud.ru:

   ⦁ Перейдите в кластер → Плагины → Добавить.

   ⦁ Выберите NVIDIA GPU Operator.

   ⦁ В расширенной конфигурации укажите:

     devicePlugin:

       config:

         name: time-slicing-config

         default: tesla-v100

4. Проверьте работу. Запустите Deployment с 5 репликами:

   resources:

     limits:

       nvidia.com/gpu: 1

Все 5 подов должны перейти в статус Running.

Когда применять: 

  • Для тестовых и демо-сценариев, стартапов или MVP.

  • Для низконагруженных задач — инференс небольших моделей, дообучение, RLHF.

  • Для команд разработки, чтобы работать в одном кластере и делить ресурсы.

А какие нестандартные методы оптимизации бюджета используете вы? Собираем коллекцию советов для экономных в комментариях!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Публикации

Информация

Сайт
cloud.ru
Дата регистрации
Дата основания
2019
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Контент-редактор Cloud.ru