{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Бюджетный сервер для обучения нейронных сетей

Всем добрый день. В этой статье я расскажу как собрать сервер для обучения нейронных сетей и сэкономить кучу денег.

Спойлер, сэкономлено почти 400 000 рублей.

Немного предыстории.

Я много лет занимаюсь наукой и стартапами. Последние несколько лет я делал проект в сфере аналитики международных финансовых рынков на базе нейронных сетей (В связи с развалом международной оплаты его пришлось прикрыть, если кому-то интересно, и сейчас я его разворачиваю в другую сторону. Но написать я хочу не об этом). Кому интересно, можете прочитать статьи здесь.

Проблематика проектов такова, что развиваясь я неизбежно пришел к работе с большими данными. Легко некоторые датасеты стали достигать под сотню гигабайт, и обучать их на обычном дектопе стало затруднительно.

Если посмотреть в сторону облачных решений, то все они стоят как крыло от боинга.

Не в рамках рекламы, а в рамках примера я приведу сервис:

Вы сами можете убедиться в стоимости цен.

В качестве примера на рисунке выше я привел некую сопоставимую по характеристикам машину, сборку которой я буду описывать.

Как вы видите, 50+ к в месяц заставляют задуматься о покупке своего сервера.

Логика решения

Когда вы создаёте сервер, то ваши действия должны быть целесообразны.

Например, мне нужно создать ансамбль нейронных сетей. В ансамбле от 9 до 12 нейронок. Допустим каждой из них нужен датасет по 100 Гб. У вас может быть больше или меньше. Главное, вы можете посчитать, сколько у вас должен быть размер хранилища.

Следующим немаловажным фактом является наличие RAID 0 уровня под PCI-E для максимизации производительности работы с данными. В моём случае это ключевой фактор как с целью генерации датасетов, так и работы с ними.

Другой фактор, возможность масштабирования ресурсов.

Объем датасета желательно целиком засунуть в оперативную память, чтобы комфортно было подготавливать и гонять данные через обучение нейронной сети.

Всё это и многое другое накладывает ограничения на ваш выбор.

Другим супер важным фактором является текущий финансовый кризис. Поэтому закупка и сборка должна быть такой, чтобы сэкономить очень много денег.

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

В качестве материнской платы была выбрана двухсокетная материнская плата X99 D4X8

Материнская плата имеет 2 сокета 2011-3, 256 Гб максимальный объем оперативной памяти, два NVME m2 слота и 3 PCI-E слота по 16 линий на каждом, что является важным фактором с точки зрения вычисления на GPU.

Куплена материнская платы была на aliexpress за 11500.

Для примера ссылка:

На момент написания статьи она стоит 7200. Упал доллар к рублю, стало дешевле.

В качестве аналога можно привести:

Материнская плата Supermicro MBD-H11DSI-O Socket SP3 16xDDR4 2xPCI-E 16x 3xPCI-E 8x 10 EATX Retail.

Цена: 57 тысяч рублей.

Или вот:

Серверная материнская плата ASUS Z10PE-D8 WS.

Цена: 59 тысяч рублей.

Итого, сэкономлено 45 тысяч рублей.

Здесь я скажу ДВА очень важных момента, на которые вы должны обратить внимание!!!

Если вы будете покупать подобные платы, то осознавайте её размер. Об этом я дополнительно скажу ниже.

Например, размер этой платы 33 на 30,5. Заявляется EATX, что в принципе правда. Но ей нужен ООЧЕНЬ большой корпус, желательно EEATX.

Выбирайте верно блок питания. Посмотрите, у материнской платы 2 гнезда для подключения питания CPU на 8 пинов.

Если у кого то не работают SSD под M.2 слоты, то около слота есть переключатели, которые я обозначил на картинке выше. Их нужно переключить.

К сожалению, аппаратного RAID для M2 SSD у меня сделать не удалось, поэтому пришлось довольствоваться программным через Windows. Для SATA портов разумеется всё в порядке.

Другим важным моментом является разгон. Имеется возможность прошить BIOS и сделать анлок Turbo Boost и андервольтинг. Turbo Boost и андервольтинг дают возможность поднять частоту на ядрах до 3 ГГц, что является важным с целью повышения производительности.

На просторах интернета есть решения на эту тему. Но я пока себе не делал.

CPU

Процессоры подбирал здесь:

Смотрел по соотношению цены и характеристик. Взял топовый по производительности, но хороший по цене.

Взял 2 XEON 2693v3 по 18 ядер на каждом.

Оба они мне обошлись в 25500

В России они продавались дорого, по 70 тысяч за штуку.

Итого сэкономлено порядка 130 тысяч.

Оперативная память

Большая часть датасетов у меня порядка 100 Гб. И на текущем этапе было принято установить на борт 128 Гб. 4 планки по 32 Гб DDR4 фирмы Samsung обошлись мне в 12 тысяч каждая планка, итого 48.

ВАЖНО! Когда вы покупаете память, обращайте внимание на её тип в спецификации материнской платы и её поддержку процессором. Потому как часть китайских плат поддерживают DDR3.

Обращаю внимание на то, что данная память серверная. Она подойдет в х99, но не подойдет в обычные компьютеры.

Для сравнения взял Самсунг 32 Гб с яндекс маркета: 42 тысячи рублей за планку. Итого: 168 за комплект.

Сэкономлено: 120к.

Блок питания

Взял Taifast на 1800 Вт за 8,5к. В Росси такой мощности стоят порядка 55к.

Разница порядка 47к.

Здесь есть важный момент, в выборе блока питания я немного ошибся. Точнее ошибся не я, а заявлено было неверно, что якобы есть 2 ветки питания CPU на 8 пинов, по факту оказалась 1. В итоге мне пришлось покупать переходник 2xPATA->8-pin 12В.

Всё отлично работает, особенно с учётом того, что веток питания в принципе на данном блоке великое множество.

Важным фактором выбора данного блока была возможность наращивания мощности сервера с точки зрения обучения на GPU.

Вы должны понимать, что ваш блок питания должен спокойно питать всю систему.

х145 Вт CPU уже 300 Вт. + 60 Вт Материнская плата.

+ Видеокарта 3090 ti 450 Вт.

Итого, если вы ставите 2 топовые карты объединенные по SLI, то вам и 1800 Вт может хватить впритык.

SSD и HDD

HDD взял Seagate на 4 Тб. На первое время достаточно для хранения датасетов.

Цена вопроса 7 тысяч. В ДНС такой стоит порядка 10к. +3к экономии

SSD KingSpec 2 штуки по 512 Гб работают в RAID 0 для ускорения производительности. Обошлись оба за 8,5 к. В России за 2 можно отдать порядка 14к. +6к экономии.

В будущем планирую поставить что-то такое. Это переходник PCI-E под M2, чтобы сделать RAID 0 уровня под несколько SSD. Например данный под 4 SSD.

Система охлажедения

Здесь есть важный нюанс для рассматриваемой платы, для которой я купил процессор 2693v3.

Можно рассмотреть какого-то рода башенные куллеры (с 6 трубками), как представлено на рисунке выше. Проблема в том, что 2-х вентиляторных куллеров не достаточно по рассеиваемой мощности для охлаждения, нужно радиатор как на рисунке ниже. Однако он не помещается в материнскую плату. И это очень важно!

Поэтому, было принято решение об установке водяного охлаждения с показателями рассеиваемой мощности порядка 200Вт, что вполне хватит на наши 145 Вт процессоры.

Цена вопроса системы охлаждения для 2 CPU: 6,5K. Цена в России примерно одинаковая.

На корпус было установлено 3 куллера по 120 - 140 мм.

Корпус

Корпус это очень больная тема. Я перепробовал несколько. Покупал в России, пришлось относить в магазин.

Если посмотреть на размер плат:

То E-ATX точно соотносится с тем, что заявляет производитель материнской платы: E-ATX305 × 330.

Однако, корпуса, которые заявляют поддержку E-ATX делают это опрометчиво. Я перепробовал несколько, ни в одну он не вошел.

Он поддерживает EE-ATX, и наверное в него войдет материнская плата, но подобные корпуса стоят 35к+.

Поэтому было принято решение купить самый большой корпус с поддержкой E-ATX и немного допилить его напильником, чтобы установить туда материнскую плату.

Был куплен: корпус Cougar PANZER MAX-G [106AMK0015-00] черный

Цена вопроса 12к. +30к экономии.

Для того, чтобы выпилить часть задней панели как на рисунке выше, а также для доработки мест крепления материнской платы был куплен инструмент: пилки для электролобзика, свёрла 2,5 мм, метчики М3, вороток. В качестве упоров для материнской платы использовались пластиковые скобы высотой 5 мм.

После удаления лишнего, материнская плата встала.

Упоры для крепления материнской платы дорабатывались как показано на картинке ниже.

Как итог, часть корпуса под материнскую плату после установки упоров выглядела вот так:

Для поддержки материнской платы сверху пришлось делать пластиковый прихват:

Тем не менее, всё отлично встало и работает:

Итог

Всё отлично работает.

Цена сборки (с учётом доработки): порядка 130 000 рублей.

Экономии 380 000 рублей, по сравнению, если закупать аналоги в России.

Под конец хочу сказать, что не призываю никого покупать на Алике. Следует понимать, что это риск в разных смыслах слова. + Качество. Каждый делает свой выбор сам.

Однако, в кризис порой не бывает выбора, и приходится искать решения.

Всем всех благ и успешного бизнеса.

0
58 комментариев
Написать комментарий...
Гала Перидоловна
Взял 2 XEON 2693v3 по 18 ядер на каждом.

Это Хасвелл почти 10 летней давности

Обращаю внимание на то, что данная память серверная. Она подойдет в х99, но не подойдет в обычные компьютеры.

Все Ryzen поддерживают ECC. Как минимум часть плат ASRock поддерживает комбинацию ECC + Ryzen. Но в целом это конечно бессмысленно, т.е. память с ECC дороже.

Взял Taifast на 1800 Вт за 8,5к. В Росси такой мощности стоят порядка 55к.

Это унылое говно, а не блоки питания. У той же supermicro блоки питания под сервера с видюшками от 2 кВт, хотя можно 3 кВт+ купить. Но самое большое отличие в том, что у серверов два блока питания, если это не лезвие. Лезвия по-другому резервируют питание в случаях выхода из строя одного из блоков питания.

+ Видеокарта 3090 ti 450 Вт.

Не серверная видеокарта. И нужно понимать, что есть обучение, есть инференс. Надо смотреть на то что там с тензорными ядрами. Велика вероятность что в ваших задачах v100 скорее всего будут сильно производительнее 3090 ti.

SSD KingSpec 2 штуки по 512 Гб работают в RAID 0 для ускорения производительности. Обошлись оба за 8,5 к. В России за 2 можно отдать порядка 14к. +6к экономии.

Никогда не стоит использовать RAID0. Во-первых, это не надежно. Во-вторых, встроенные контроллеры обычно очень плохие по производительности. Смысла брать SSD и объединять их - нет. Если уж хочется RAID0, то надо брать внешний PCI-E контроллер, но с Intel могут быть проблемы. Лучше собирать коробку на AMD EPIC, у AMD PCI-E линий раза в 3-4 больше, чем аналогичных конфигурациях у Intel. Вообще любые конфиги на видеокартах типа A100 сейчас собирают на AMD из-за PCI-E.

Цена сборки (с учётом доработки): порядка 130 000 рублей.
Экономии 380 000 рублей, по сравнению, если закупать аналоги в России.

Это не экономия. Собрали +/- нормальный игровой комп со старыми процами, которые будут медленнее современных десктопных процов. Тем более SIMD инструкции в новых десктопных процах возможно превзойдут старые Xeon. Не могу оценить, т.к. нет десктопных вариантов и некуда их вставить. На сервер это все не тянет, скорее воркстейшен. Ну и я бы лучше брал б/у v100 все же.

Ответить
Развернуть ветку
Вася Пражкин
Но самое большое отличие в том, что у серверов два блока питания, если это не лезвие.

Ващет по-разному бывает, какой конфиг соберете. Но 2 БП большого смысла нет. Проще собирать с одним и резервировать нодами.

Ответить
Развернуть ветку
Гала Перидоловна

Проще собирать лезвия с централизованным питанием на всю стойку. Но это могут позволить себе далеко не все.

Ответить
Развернуть ветку
55 комментариев
Раскрывать всегда