Автомасштабирование

Тема дорожной карты · MLOps

Автомасштабирование — это техника, используемая для автоматического изменения числа активных экземпляров в ответ на изменения в спросе, что обеспечивает эффективное использование ресурсов и высокую доступность для ваших приложений. Этот подход особенно полезен в областях машинного обучения, где могут возникать резкие колебания нагрузки. Используйте его, когда вам нужно обрабатывать изменяющиеся нагрузки без необходимости в ручном вмешательстве. Часто используются команды, такие как autoscale, load balancer и cloudwatch.

Как это работает

Автомасштабирование позволяет эффективно использовать ресурсы, обеспечивая оптимальное количество экземпляров для обработки текущей нагрузки. Для обучения моделей часто используются spot и preemptible инстансы, которые могут быть до 90% дешевле on-demand экземпляров. Эти инстансы должны быть способны обрабатывать прерывание, что достигается с помощью регулярного checkpointing каждые N минут.

Для предоставления сервиса используются механизмы автоматического масштабирования, такие как KEDA, Karpenter и cluster autoscaler. Эти инструменты позволяют вам платить только за используемые ресурсы, что значительно снижает затраты. Модели оптимизации, такие как quantisation и distillation, также могут значительно сократить затраты на использование GPU, что особенно важно при обучении и использовании моделей.

Планирование ресурсов помогает выбрать правильный размер GPU для ваших задач. Например, использование флагманских GPU, таких как H100, может быть неоправданно дорого для задач, которые могут быть эффективно выполнены на более дешевых GPU, таких как A10G или L4. Для задач обучения и инференса важно отслеживать затраты на предсказания и тренировочные запуски, чтобы обеспечить видимость затрат на уровне команды.

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

Используйте spot инстансы для обучения моделей, особенно если тренировка длится более часа. Регулярное checkpointing поможет вам пережить прерывание. Оптимизация моделей для инференса, такая как quantisation, может значительно снизить затраты, особенно если используется низкокачественное quantisation, которое практически не влияет на качество модели.

Финансовые операции (FinOps) дают вам видимость затрат на уровне модели, запроса и команды. Это помогает изменить поведение команды, чтобы они стали более осознанными в отношении затрат. Выбор правильного размера GPU для ваших задач также важен. Большинство задач инференса не требуют использования флагманских GPU, таких как H100.

Типичные ошибки

Одной из распространенных ошибок является использование on-demand инстансов для обучения моделей, которые могут быть выполнены с использованием spot инстансов и checkpointing. Это может привести к значительным дополнительным затратам. Другой распространенной ошибкой является резервирование флагманских GPU, таких как H100, для задач инференса, которые могут быть эффективно выполнены на более дешевых GPU, таких как A10G или L4.

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

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…