В этом материале
GPU-планирование не отменяет учёт CPU и системной памяти. Проверяйте весь набор ресурсов и готовность модели; наличие свободного ускорителя ещё не означает готовность подходящего узла.
В кластере может отображаться свободный GPU, а модельный процесс всё равно не запускаться. Причина бывает в системной памяти, CPU, ограничениях узла или ещё неготовом окружении. Для владельца оборудования важно описать весь сервер, а финансовому партнёру — не считать кластерную ёмкость простой суммой карт.
Разделите виды ресурсов
Kubernetes документирует планирование GPU через поддерживаемые механизмы устройств. CPU и память контейнеров имеют собственные requests и limits.
Это разные ресурсы одного задания. Системная RAM не является VRAM, а число виртуальных CPU не должно автоматически трактоваться как число физических ядер хоста.
До запуска запишите модель GPU, нужную память хоста, CPU, хранение и ограничения размещения. Утверждение «требуется одна карта» не описывает достаточную конфигурацию задания.
Проверьте условный конфликт
Предположим, GPU доступен, но другие процессы заняли нужную RAM. Добавление ещё одной карты в такой узел может не увеличить число запускаемых моделей. Сначала нужно понять, какой совместный набор ресурсов требуется каждой реплике.
Для пилота сохраните паспорт задания и попробуйте его на выделенном узле. Затем добавьте согласованную фоновую нагрузку. Сравните ожидание размещения, запуск и устойчивую работу.
Отдельно фиксируйте, на каком этапе возникла проблема. Ожидание планировщика, ошибка загрузки весов и отказ уже работающего API требуют разных действий.
Различайте запуск контейнера и готовность модели
Созданный процесс может ещё получать файлы, подготавливать память или прогреваться. Передавать ему пользовательский поток нужно по согласованному признаку готовности, а не только факту существования контейнера.
Проверьте перезапуск после обычного обслуживания и потерю одного компонента. Запишите, когда реплика действительно возвращается к обработке. Для GPU-модели этот интервал может включать больше операций, чем для небольшого веб-приложения.
Проверка готовности не заменяет контроля качества ответа. Если модель загружена неверно, живой endpoint может оставаться непригодным для задачи.
Учтите неоднородность узлов
Разные GPU, архитектуры CPU и размеры памяти могут требовать разных условий размещения. Не направляйте одну конфигурацию на любой узел только потому, что общее число ускорителей достаточно.
Укажите допустимые варианты и проверьте каждый, прежде чем считать их взаимозаменяемыми. Для машины владельца добавьте расписание и порядок вывода из работы.
Совместное использование GPU также требует отдельной модели распределения. Его нельзя вывести из стандартной записи количества устройств без настроек и проверки ограничений.
Для пробного отчёта полезна последовательность событий одного задания: ожидание, назначенный узел, подготовка среды, готовность и завершение. Она позволит владельцу понять, где именно находился его ресурс, без доступа к содержимому чужих запросов и без путаницы разных видов простоя.
Критерии готовности к размещению
Мы не заявляем, что любое предложенное оборудование уже подключается к готовому кластеру.
Для подготовки полезны RAM и VRAM, разделение GPU и контейнеры против VM.