Я начну с самой важной части машины глубокого обучения: графического процессора. Я выбрал Gigabyte NVIDIA GTX 1060 6GB, который был разогнан с тактовой частотой ядра 1,53 ГГц и увеличен до 1,77 ГГц. 1060 6 ГБ - отличный вариант для экономичного графического процессора, и он идеально вписывается в мой бюджет (на момент написания стоил всего 220 долларов). Графические процессоры NVIDIA необходимы для глубокого обучения, чтобы воспользоваться преимуществами своей платформы CUDA и ускоренной библиотеки глубокого обучения cuDNN. Если у вас есть деньги, я рекомендую перейти на GTX 1070 или 1080 (если вы думаете о Titan X, это не та сборка, которую вы ищете).

ЦП

ЦП гораздо менее важен для глубокого обучения, поэтому для построения бюджета имеет смысл тратить здесь меньше денег. Я выбрал Intel Core i3-6100 из-за нескольких замечательных обзоров, респектабельной тактовой частоты 3,7 ГГц и использования гиперпоточности Intel, которая позволяет каждому ядру обрабатывать два потока обработки. ЦП не является полностью несущественным, поскольку он отвечает за некоторые задачи во время обучения, включая: запись и чтение переменных в коде, выполнение вызовов функций, создание мини-пакетов из данных и передачу данных в графический процессор. Пока что я был очень впечатлен этим чипом, который стоит всего 110 долларов.

Материнская плата

Материнская плата не имеет решающего значения для производительности, но при выборе одной из них важно помнить о будущих обновлениях. Мои требования были следующими: он должен поддерживать мой процессор (очевидно), он должен иметь как минимум два слота PCIe 3.0 для графического процессора (желательно больше), и он должен поддерживать до 64 ГБ ОЗУ для будущих обновлений. Я выбрал материнскую плату MSI Z170A Gaming, которая имеет 7 слотов PCIe 3.0 (до 4 графических процессоров), поддержку до 64 ГБ оперативной памяти DDR4 с частотой до 3600 МГц и 4 порта SATA 6 ГБ / с, что приятно иметь для потенциально добавление еще одного SSD.

баран

Я выбрал память Corsair Vengeance 16GB (2 x 8GB) DDR4, которую мне удалось получить за 100 долларов. Рекомендация, которую я встречал несколько раз, - увеличить объем ОЗУ в два раза по сравнению с общим объемом памяти графического процессора, поэтому на данный момент 16 ГБ ОЗУ должно быть достаточно. Но в целом, чем больше ОЗУ, тем лучше, и это может оказаться полезным для очень больших наборов данных и моделей, требующих интенсивной предварительной обработки.

Источник питания

Я выбрал полумодульный блок питания EVGA 750 Вт 80+ с золотым сертификатом, который мне обошелся в 89 долларов. 750 Вт - это намного больше, чем мне нужно прямо сейчас, поскольку я попробовал несколько онлайн-калькуляторов блоков питания, которые оценили мое максимальное энергопотребление примерно в 350 Вт. Но это оставляет мне достаточно места для обновления компонентов без необходимости покупать новый блок питания. Я выбрал полумодульный блок, потому что я действительно не видел выгоды платить дополнительные деньги за полностью модульный блок. К сожалению, я не исследовал потенциальную экономию от получения более эффективного платинового или титанового блока питания. Вы можете приобрести платиновый блок за немного большую первоначальную плату, но в конечном итоге вы сможете сэкономить деньги из-за более дешевого счета за электроэнергию. Я рекомендую изучить эту тему перед покупкой.

Место хранения

Я купил SanDisk SSD 240 ГБ за 70 долларов и HDD Western Digital 7200 об / мин на 1 ТБ за 50 долларов. Я установил свою операционную систему на твердотельный накопитель, а также буду использовать ее для программного обеспечения, которое я часто использую. Я буду использовать жесткий диск для хранения таких вещей, как изображения, видео и большие наборы данных. SSD, вероятно, не полностью необходим для глубокого обучения, за исключением редкого случая, когда у вас есть очень большой 32-битный набор данных с плавающей запятой, который не помещается в память, что создает узкое место при использовании жесткого диска. Но давайте будем честными, жесткий диск больше никому не нужен. Как только вы перейдете на SSD, вы никогда не вернетесь назад.

Случай

Выбирая чехол, я искал самый дешевый, который работал с моим оборудованием и получил достойные отзывы. Fractal Design Core 2300 ATX Mid Tower отвечал всем требованиям по цене 40 долларов. Он поставляется с двумя 120-миллиметровыми вентиляторами, которые, как описано в обзорах, обеспечивают отличный воздушный поток. Меня действительно не волновал внешний вид, поэтому, если вам нужен яркий чехол, вам не понравится этот. Это неплохо для прокладки кабелей, но и не очень хорошо. В остальном это отличный бюджетный чехол, который мне подходит.

Контрольные точки

Для тех, кто не считает, моя общая стоимость составила 785 долларов. Итак, какую производительность дает вам эта машина за 800 долларов? Для простого сравнения я использовал встроенную сверточную модель Tensorflow, подобную LeNet-5, с набором данных MNIST. Я обучил его на своем MacBook Pro, экземпляре g2.2xlarge, экземпляре p2.large и моей новой машине, используя следующую команду:

time python3 -m tensorflow.models.image.mnist.convolutional

Как вы можете видеть выше, моя новая машина (с маркировкой «DL Rig») - явный победитель. Он выполнял эту задачу более чем в 24 раза быстрее, чем мой MacBook Pro, и почти в два раза быстрее, чем экземпляр AWS p2.large. Излишне говорить, что я очень доволен тем, что мне удалось получить за такую ​​цену.

Что касается сборки компьютера, это действительно несложно, так что пусть вас это не пугает. До этого проекта я знал столько же, сколько Джон Сноу, когда дело доходило до создания компьютера. На YouTube есть множество видеороликов, которые проведут вас через весь процесс. Если вы все же решите собрать свой собственный компьютер, я настоятельно рекомендую использовать pcpartpicker.com для поиска запчастей. Помимо каталога деталей, сайт автоматически проверяет проблемы совместимости при выборе различных компонентов и содержит множество примеров сборок от разных пользователей.

В моем следующем посте я расскажу о процессе загрузки машины с Ubuntu, установке всех необходимых драйверов NVIDIA и создании среды conda со всем программным обеспечением, необходимым для начала обучения глубоких нейронных сетей.

Обновление: вот ссылка на мой дополнительный пост Руководство по установке программного обеспечения Ubuntu + Deep Learning.

Имейте в виду, что это сообщение может содержать партнерские ссылки