|
Рубрика:
Наука и технологии /
Раздел для научных публикаций
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Матушкин Д.Р., студент, НИУ ВШЭ, matushkin2003@list.ru
Повышение эффективности использования GPU в кластерах Kubernetes для рабочих нагрузок AI/ML
В работе исследуются подходы к повышению использования GPU в Kubernetes для рабочих нагрузок AI/ML за счет совместного использования и дробления видеокарт. Даны обзор подходов, сравнение изоляции нагрузок и эксперимент с совместным инференсом embedding модели и LLM в RAG сценарии на одном GPU.
Введение
AI/ML практик увеличило спрос на GPU и сделало их одними из самых дорогих и дефицитных элементов вычислительной инфраструктуры. Поскольку стоимость владения GPU во многом определяется тем, насколько полно устройства загружены, для организаций становится критичным уметь повышать утилизацию этих ресурсов при сохранении предсказуемости работы нагрузок.
Во многих командах GPU нагрузки запускаются в Kubernetes, который обеспечивает единый способ доставки, масштабирования и изоляции контейнеров. При этом стандартная модель выделения GPU в Kubernetes по умолчанию опирается на целочисленный ресурс: GPU запрашивается через «resources.limits», планировщик исходит из этого значения, а «долю GPU» в виде стандартного ресурса указать нельзя. На практике это означает, что даже небольшой инференс сервис может занять целый GPU, хотя фактически использует лишь часть вычислительных возможностей устройства.
Следствием становится систематическое недоиспользование дорогостоящего оборудования [1, 2] и рост совокупной стоимости AI/ML платформы [3]: вместо повышения плотности размещения и управляемости ресурсов организации нередко вынуждены наращивать общий объем GPU для реализации всех этапов жизненного цикла моделей машинного обучения.
Один из рабочих путей улучшения ситуации — внедрение механизмов совместного использования и дробления GPU, которые делают возможным запуск нескольких независимых нагрузок на одном физическом ускорителе. В Kubernetes такие подходы обычно реализуются через экосистему NVIDIA (device plugin и связанные компоненты) и поддерживаемые режимы дробления, при которых один GPU может быть разделён на несколько независимых GPU экземпляров.
Цель данной работы — исследовать методы повышения эффективности использования GPU в Kubernetes кластерах за счёт внедрения механизмов шаринга и дробления GPU для AI/ML нагрузок, а также проверить эффективность изоляции нагрузок и рассмотреть вариант применения данных технологий.
Рассмотрим три подхода дробления видеокарты, которые частично взаимозаменяемы по цели (повышение плотности размещения и утилизации), но различаются по механизму разделения и уровню изоляции:
- Nvidia Time-Slicing;
- Nvidia MIG;
- Nvidia MPS.
<...>
Ключевые слова: GPU, Nvidia, MIG, Time-Slicing, MPS, RAG, AI, ML, LLM
Полную версию статьи читайте в журнале Подпишитесь на журнал
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|