Шаблон масштабування On-Off для робочих навантажень обробки AI та відео
Платформа для обробки відео на базі AI потребувала обробки високозмінних робочих навантажень — від нуля завдань у неробочий час до сотень одночасних завдань з обробки відео та AI-інференсу в пікові періоди — без оплати за простійні GPU та обчислювальні ресурси.
Обговоріть Ваш Проєкт
Виклик
Робочі навантаження AI та обробки відео за своєю суттю є переривчастими та дорогими:
- Інстанси GPU є дорогими, незалежно від того, чи обробляють вони завдання, чи простоюють
- Кодування відео, транскрипція та AI-інференс вимагають різних профілів ресурсів
- Співвідношення пік-до-мінімуму становило 50:1 — 200+ завдань у піковий період, майже нуль вночі
- Традиційне авто-масштабування було занадто повільним (5-10 хвилин холодного старту) для чутливих до часу запитів користувачів
- Фіксована інфраструктура, виділена для пікового навантаження, означала 80%+ втрат у непікові години
Наше Рішення
Ми реалізували шаблон масштабування On-Off — гібридну архітектуру, де обчислювальні ресурси надаються just-in-time для активних робочих навантажень і повністю звільняються, коли простоюють, з теплими пулами (warm pools) для завдань, чутливих до затримки, і холодними пулами (cold pools) для пакетних завдань.
Архітектура
- Черга завдань (Job Queue): Черга завдань на основі бази даних з класифікацією за пріоритетом
- Оркестратор (Orchestrator): Сервіс, що керує життєвим циклом ресурсів та маршрутизацією завдань
- Робітники GPU (AI): Хмарні GPU-поди для інференсу (виявлення об'єктів, транскрипція, розпізнавання мовця)
- Робітники CPU (Відео): Хмарні VM для кодування та рендерингу відео
- Теплий пул (Warm Pool): Попередньо ініціалізовані інстанси для завдань, чутливих до затримки (< 30 секунд запуску)
- Холодний пул (Cold Pool): Інстанси за запитом для пакетної/масової обробки (2-5 хвилин запуску є прийнятними)
Реалізація шаблону On-Off
Стани життєвого циклу ресурсів
Ресурси проходять визначений життєвий цикл: від повністю звільнених (нульова вартість), через виділення та розігрів (завантаження моделей, перевірки працездатності), до станів готовності та обробки, потім через період охолодження, перш ніж повернутися до звільненого стану.
Стратегія теплого пулу (Warm Pool)
Для обробки, чутливої до затримки (ініційованої користувачем, очікує результатів за хвилини):
- Підтримувати мінімальний теплий пул інстансів у робочі години
- Попередньо завантажувати AI-моделі під час запуску контейнера
- Маршрутизувати вхідні завдання спочатку до теплих інстансів
- Масштабувати додаткові теплі інстанси, коли глибина черги перевищує поріг
- Налаштовуваний таймер охолодження підтримує інстанси активними між спорадичними завданнями
Стратегія холодного пулу (Cold Pool)
Для пакетної обробки (нічні масові завдання, нетермінові перекодування):
- За замовчуванням нуль запущених інстансів
- Черга завдань запускає виділення ресурсів, коли надсилаються пакетні завдання
- Інстанси, оптимізовані для масової обробки, для пропускної здатності, а не затримки
- Негайно завершувати роботу після завершення пакетної обробки
- Використовувати spot/preemptible інстанси для значної економії коштів
Класифікація та маршрутизація завдань
Завдання автоматично класифікуються за пріоритетом та типом, а потім маршрутизуються до відповідного пулу:
- Високопріоритетні AI-завдання, ініційовані користувачем, маршрутизуються до теплих GPU-пулів
- Критичні завдання в реальному часі маршрутизуються до постійно активних виділених інстансів
- Середньопріоритетні завдання кодування маршрутизуються до теплих або холодних CPU-пулів
- Низькопріоритетні пакетні завдання маршрутизуються до холодних spot/preemptible інстансів
Логіка оркестратора (Orchestrator)
Тригери масштабування вгору (Scale-Up)
- Глибина черги перевищує налаштовуваний поріг
- Середній час очікування перевищує SLA для рівня пріоритету
- Заплановане збільшення потужності перед відомими піковими годинами
- Ручний запуск через admin API для очікуваних сплесків трафіку
Тригери масштабування вниз (Scale-Down)
- Жодні завдання не оброблялися протягом періоду охолодження
- Заплановане зниження потужності після пікових годин
- Усі завдання в черзі завершені, нових надходжень немає
- Досягнуто порогового значення вартості за розрахунковий період
Здоров'я та відновлення
- Регулярні перевірки стану всіх активних інстансів
- Несправні інстанси автоматично замінюються
- Невдалі завдання повторно додаються в чергу з лічильником спроб і маршрутизуються до іншого інстанса
- Dead letter queue для завдань, що перевищили максимальну кількість повторних спроб
Вплив на вартість
Шаблон On-Off забезпечив приблизно 70% зниження витрат порівняно з постійно працюючою фіксованою інфраструктурою, усуваючи простій обчислювальних ресурсів у непікові години, оптимізуючи розмір ресурсів для кожного типу завдання та використовуючи spot-інстанси для пакетних робочих навантажень.
Ключові особливості
- Нульова вартість простою — Ресурси повністю звільняються, коли не обробляють завдання
- Теплі пули (Warm Pools) — Попередньо ініціалізовані інстанси для робочих навантажень, чутливих до затримки
- Холодні пули (Cold Pools) — Виділення ресурсів за запитом для пакетних завдань за найнижчою вартістю
- Класифікація завдань — Автоматична маршрутизація на основі пріоритету, типу та вимог до затримки
- Періоди охолодження (Cooldown Windows) — Налаштовуваний тайм-аут простою запобігає передчасному масштабуванню вниз між сплесками
- Підтримка Spot/Preemptible — Пакетні завдання маршрутизуються до інстансів зі знижкою для значної економії
- Здоров'я та відновлення — Автоматична заміна несправних інстансів з повторним додаванням завдань у чергу
- Заплановане масштабування — Передбачення відомих шаблонів трафіку за допомогою правил виділення ресурсів за часом
Результати
Технологічний Стек
caseStudyDetail.more Кейси
Ознайомтесь з іншими нашими технічними впровадженнями
Використання RunPod для масштабованого, економічно ефективного висновку AI
Платформа відеоаналітики на базі AI потребувала високопродуктивних GPU обчислень для виявлення об'єктів у реальному часі та висновку через декілька паралельних відеопотоків — без надмірної вартості виділених GPU серверів, що працюють 24/7.
Обробка рахунків-фактур за допомогою AI, OCR та інтеграції з QuickBooks
Середній бізнес, який щомісяця обробляє сотні рахунків-фактур від постачальників, потребував усунення ручного введення даних шляхом автоматичного вилучення даних рахунків-фактур за допомогою AI/OCR та їх прямої синхронізації з QuickBooks для ведення бухгалтерського обліку та відстеження платежів.
Готові Трансформувати Свій Бізнес?
Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.