Как совместно использовать один сервер глубокого обучения GPU?

#python #tensorflow #server #deep-learning #architecture

#python #тензорный поток #сервер #глубокое обучение #архитектура

Вопрос:

Для нашей команды разработчиков мы хотим создать центральный сервер с графическим процессором для их задач глубокого обучения / обучения (с одним или несколькими мощными графическими процессорами вместо нескольких рабочих станций для каждого члена команды с собственным графическим процессором). Я предполагаю, что это обычная настройка, но я не уверен, как заставить этот общий доступ к GPU работать для нескольких членов команды одновременно. Мы работаем со скриптами Tensorflow / Keras и Python.

Мой вопрос: каков типичный подход, позволяющий членам команды обучать свои модели на этом центральном сервере? Просто разрешите им доступ через SSH и выполните сетевое обучение непосредственно из командной строки? Или настроить сервер-концентратор Jupyter, чтобы наши разработчики могли запускать код из своего браузера?

Мой главный вопрос: если есть только один графический процессор, как мы можем убедиться, что несколько пользователей не могут запускать свой код (т. Е. Обучать свои сети) одновременно? Есть ли способ отправлять учебные задания на программное обеспечение центрального сервера, и они выполняются на GPU один за другим?

(Извините, если это неправильный сайт, чтобы задать этот вопрос, но какой другой сайт Stack Exchange был бы лучше?)

Комментарии:

1. Попробуйте заглянуть в pcluster или slurm для одного случая GPU. Kubernetes — еще одна технология, на которую стоит обратить внимание

2. Вы нашли какие-либо жизнеспособные решения?

3. @AtifAli Не совсем, в итоге мы купили большую машину с 4 графическими процессорами в дополнение к нашей офисной машине меньшего размера с одним графическим процессором.

4. И как вы делитесь ресурсами для своей новой машины с 4 GPU? Если 2 пользователям нужен доступ одновременно? как вы разделяете процессоры, оперативную память и хранилище? чтобы один пользователь не мог влиять на другого?

5. @AtifAli Мы написали пользовательскую оболочку обучения Torch / Keras, которая управляет всеми нашими изображениями и видео, создает из них данные обучения и проверки и ставит в очередь все наши учебные задания, чтобы система запускала эти учебные задания одно за другим, используя все 4 графических процессора для каждого задания…

Ответ №1:

Хотя нам больше не нужна эта настройка, один из вариантов решения этой проблемы — использовать менеджер рабочей нагрузки, такой как slurm. Также доступно управление графическим процессором.