- BrainTools - https://www.braintools.ru -

Много нас, а он один: распределение GPU между ML-инженерами с помощью Dev Cluster

За последние десять лет в мире машинного обучения [1] произошёл взрывной рост. Если в 2012 году мощную модель можно было обучить на нескольких GPU, то сегодня бигтехам нужны тысячи. Вместе с железом выросла и головная боль [2]: как дать всем ML-инженерам доступ к дефицитному ресурсу так, чтобы это не превращалось в постоянные просьбы из разряда «пожалуйста, почистите диск!!!».

Расскажу про Dev Cluster — инструмент, который создали в команде ML Platform (Yandex Infrastructure) для гибкого распределения GPU между ML-разработчиками. 

GPU сложно шерить 

Виртуалка с GPU стоит примерно в 100 раз дороже обычной CPU-машины. Раздавать каждому инженеру по собственной — экономически нерационально. Можно сделать shared-кластер, но для нас такой подход не работает.

Сначала в Яндексе стали использовать коммунальные виртуалки. Команды выделяли себе несколько общих виртуалок и «жили» в них, как в коммунальных квартирах, со всеми вытекающими последствиями. Приходилось делить свободные GPU и все другие ресурсы внутри виртуальных машин. 

Зачем нужен новый инструмент?

Основная проблема в том, что такая модель плохо масштабируется. Именно поэтому был создан Dev Cluster — Managed GPU Cluster для локальной ML-разработки. Он предоставляет контейнеры, обеспечивает шеринг GPU и позволяет бесшовно переключаться между разными конфигурациями железа или между разработкой и YTsaurus.

В Dev Cluster проще делать отладку в обычных контейнерах, но потом на больших объёмах экономически выгоднее запускать операции обучения в YTsaurus. 

Итог: удовлетворённость выросла почти в два раза

Разработку инструмента начали для решения вполне конкретной задачи. ML-инженеры жаловались на то, как им сложно и неэффективно работать с коммунальными GPU-виртуалками. 

Внутри команд провели опросы об удовлетворённости инфраструктурой до внедрения Dev Cluster и после. Ребята отметили, что разрабатывать код обучения и дебажить его стало гораздо удобнее. 

Прочитать подробнее о том, как команда ML Platform из Yandex Infrastructure создала Dev Cluster, а также как он устроен и выглядит для ML-инженера, можно по ссылке [3] в блоге Yandex Infrastructure.

Автор: danadst

Источник [4]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/31911

URLs in this post:

[1] обучения: http://www.braintools.ru/article/5125

[2] боль: http://www.braintools.ru/article/9901

[3] по ссылке: https://infra.yandex.ru/blog/gpu-sharing

[4] Источник: https://habr.com/ru/companies/yandex_cloud_and_infra/news/1048958/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1048958

www.BrainTools.ru

Rambler's Top100