Железо для Deep Learning

DRAFT

Если вы интересуетесь искусственным интеллектом, то вам, скорее всего, известно, что глубокое обучение требует больших вычислительных ресурсов. Означает ли это, что для сборки системы для работы с deep learning вам потребуется быстрый многоядерный центральный процессор? Или же наоборот может ли оказаться его покупка пустой тратой денег? А потратить деньги на дорогое железо, которое вам не пригодится, довольно легко. Эта заметка поможет прояснить какие компоненты системы являются наиболее важными при построении относительно дешевой и высокопроизводительной сборки для глубокого обучения.

Заметка основана на нескольких англоязычных статьях и собственном опыте и не претендует на оригинальность 🤓 В завершении статьи вы найдете конфигурацию машины с приблизительными ценами на комплектующие, которую я подготовил для себя.

GPU

Я предполагаю, что для deep learning задач вы будете использовать графический процессор / GPU. При построении или обновлении существующей системы важность GPU трудно переоценить. Графический процессор является сердцем deep learning приложений, и от него зависит рост в скорости обработки данных.

При выборе графического процессора можно столкнуться со следующими сложностями:

  1. плохое соотношение цена/производительность;
  2. нехватка денег на желаемую видеокарту;
  3. неудачная система охлаждения.

На конец января 2019 г. хорошими вариантами являются Nvidia GeForce RTX 2070 или Nvidia GeForce RTX 2080 Ti. Смотрите на 16-битные модели! Более дешевые 32-битные Nvidia GeForce GTX 1070, Nvidia GeForce GTX 1080 и их старшие модели Ti также являются неплохим вариантом.

Будьте внимательны с объемом оперативной памяти у GPU. Новые 16-битные RTX карты Nvidia могут быть использованы для тренировки бОльших моделей, чем GTX карты предыдущего поколения с тем же объемом RAM. Не буду вдаваться в подробности, но основная причина этому – вычисления с использованием 16-битных чисел и более быстрое перемножение матриц. Вцелом, требования к памяти приблизительно следующие:

  • >= 11 Гб – исследования, для которых важны результаты измерений; оптимальный вариант для тренировки больших моделей;
  • >= 8 Гб – прочие исследования и построение прототипов; оптимальный вариант для стартапов;
  • 4 - 8 Гб – оптимальный вариант для образования, участия в соревнованиях Kaggle, работы над портфолио.

Важная деталь, которую ни в коем случае не следует упускать при выборе конкретной видеокарты – это охлаждение. Особенно, если вы планируете использование нескольких графических процессоров подключенных по PCIe и расположенных рядом друг с другом в рамках одной сборки. При интенсивных вычислениях и плохом охлаждении вы получите снижение производительности на пару-тройку десятков процентов, а в худшем случае выведете видеокарту из строя. Обычно, GPU имеют три типа охлаждения blower (у Nvidia называется Founders Edition), open-air и AIO. Вам нужен первый тип охлаждения:


Blower GPU Cooling

Производительность подобных видеокарт обычно несколько ниже производительности GPU с open-air охлаждением и вентилятор может быть шумным.

RAM