Открытие KAI Scheduler от Nvidia
Следуя ранее объявленным планам, Nvidia сообщила о том, что она открыла новые элементы платформы Run:ai, включая KAI Scheduler.
Что такое KAI Scheduler?
KAI Scheduler — это решение для планирования GPU, основанное на Kubernetes, теперь доступное под лицензией Apache 2.0. Изначально разработанное в рамках платформы Run:ai, KAI Scheduler теперь доступен для сообщества и продолжает входить в состав платформы NVIDIA Run:ai.
Nvidia заявила, что эта инициатива подчеркивает ее приверженность развитию как открытого кода, так и инфраструктуры корпоративного ИИ, способствуя активному и совместному сообществу, поощряя вклад, отзывы и инновации.
Преимущества KAI Scheduler
Управление рабочими нагрузками ИИ на GPU и CPU предъявляет множество требований, которые традиционные планировщики ресурсов часто не могут удовлетворить. KAI Scheduler был разработан для решения таких проблем:
- Управление изменяющимися требованиями к GPU;
- Сокращение времени ожидания доступа к вычислениям;
- Гарантии ресурсов или распределение GPU;
- Бесшовное подключение инструментов и фреймворков ИИ.
Управление изменяющимися требованиями к GPU
Рабочие нагрузки ИИ могут изменяться очень быстро. Например, вам может понадобиться только один GPU для интерактивной работы, а затем вдруг требуется несколько GPU для распределенного обучения или множества экспериментов. Традиционные планировщики не справляются с такой изменчивостью.
KAI Scheduler постоянно пересчитывает значения справедливой доли и в реальном времени adjusts квоты и лимиты, автоматически соответствуя текущим требованиям рабочей нагрузки.
Сокращение времени ожидания доступа к вычислениям
Для инженеров по машинному обучению время имеет значение. Планировщик сокращает время ожидания, комбинируя следующие стратегии:
- Групповое планирование: позволяет отправлять партии заданий и уходить, уверенным в том, что задачи будут запущены по мере освобождения ресурсов;
- Иерархическая очередь: упрощает управление приоритетами и справедливостью.
Чтобы оптимизировать использование ресурсов, KAI Scheduler также использует две эффективные стратегии:
- Упаковка и консолидация: максимизирует использование вычислительных ресурсов и борется с фрагментацией, упаковывая меньшие задачи в частично используемые GPU и CPU;
- Распределение: равномерно распределяет рабочие нагрузки по узлам или GPU и CPU.
Гарантии ресурсов или распределение GPU
На общих кластерах некоторые исследователи обеспечивают себе больше GPU, чем необходимо, чтобы гарантировать доступность в течение дня. Этот подход может приводить к недоиспользованию ресурсов.
KAI Scheduler решает эту проблему, обеспечивая гарантии ресурсов. Он гарантирует, что команды практиков ИИ получают свои выделенные GPU, динамически перераспределяя неиспользуемые ресурсы для других нагрузок.
Бесшовное подключение инструментов и фреймворков ИИ
Подключение рабочих нагрузок ИИ к различным фреймворкам может быть сложным. Ранее команда сталкивалась с множеством ручных конфигураций для интеграции с такими инструментами, как Kubeflow, Ray и Argo. KAI Scheduler упрощает этот процесс, имея встроенный podgrouper, который автоматически обнаруживает и подключается к этим инструментам, сокращая сложность конфигурации и ускоряя разработку.