Сегодня расскажу, как можно собрать дома простенький сервер для экспериментов с ИИ (будь он неладен), и при этом не разориться.
Речь пойдет исключительно о "железной" части, программную оставим на следующий раз, чтобы не утомлять читателя.
P.S. Отличный кликбейтный заголовок =).
Вместо предисловия
Бла-бла из каждого утюга: ИИ, голосовые помощники, генераторы изображений, видео, дипфейки и прочая ересь.
Не иначе, как что-то распыляют в воздухе, как обычно.
Картина дня выглядит примерно так:
Конечно, есть непреодолимое желание попробовать всё "изнутри". А тут и статейки подоспели из серии "играем почти во всё на видеокарте без видеовыхода".
В них идёт речь о неких видеокартах для майнинга типа P106-100, которых выпустили в огромных количествах для работы в фермах.
Когда бум майнинга прошёл и успешные криптоинвесторы пошли строем на юх несколько охладели к теме майнинга -- эти видеокарты стали появляться в продаже по цене около 2000 рублей на этих ваших авидлах.
Нашему человеку это пришлось по нраву -- и как результат -- куча статей о том, как вдохнуть новую жизнь в компуктер 12 летней давности и запустить это ваш гребаный Cyberpunk 2077 на говне и палках:
Но стоп. Причем тут ИИ и игры ? Давайте разбираться.
CUDA
Попробую объяснить.
Современные видеоигры -- это то, что двигает индустрию вперед. Ну один из факторов (там есть ещё порно, но об этом как-нибудь в другой раз).
Современные игры требуют хорошую видеокарту -- тот самый компонент компьютера, который быстро посчитает вам физику, отрисует текстуры и выполнит еще кучу действий, с которыми, в принципе, справится и ваш процессор, но видеокарта сделает это значительно быстрее. Это "значительно" -- не x2 или x3. А несколько порядков.
Производителей карт у нас немного -- NVidia, AMD и Intel. Да, в Китае есть ещё и свои, но только для внутреннего рынка.
У NVidia есть технология CUDA - Compute Unified Device Architecture – это архитектура, которая позволяет использовать графический процессор (GPU) для повышения производительности параллельных вычислений. Она представляет собой набор инструментов и библиотек для работы с графическим процессором, основанных на технологии GPGPU.
Видеокарты решают задачи, сходные с задачами ИИ: совершать много параллельных вычислений, опираясь на матрицы. Ведь изображение в компьютерных играх строится похожим образом: картинку рендерят из треугольников или прямоугольников, обрабатывая их матрицами.
У AMD (Radeon) и Intel (Ark) тоже есть аналогичные технологии (наверное), но так уж получилось, что из-за распространенности и довольно лёгкого порога вхождения -- CUDA, считай, является стандартом.
Короче, почему бы не купить видеокарту с поддержкой CUDA по цене, сходной с двумя посещениями рыгаловки средней руки и не использовать её для всякого. В конце концов в случае провала я всегда смогу запустить пару игрушек и это тоже неплохо =).
Собираем компьютер
Нам понадобится:
- Материнская плата
- Процессор
- Память
- Приснопамятная видеокарта
- Накопител(и)
- Блок питания, чтобы тащить всю эту музыку
- Охлаждение (как для процессора, так и корпусное)
- Корпус
Последнее, кстати, с одной стороны выглядит не вполне обязательным, но коллега по работе сказал очень правильную фразу:
Если вся эта хреновина решит загореться, то пусть она лучше горит внутри корпуса.
Что хочется от всей конструкции ?
Максимально дёшево, на грани фола.
Только Б/У комплектующие, за исключением БП и охлаждения. Ибо радиотехника -- это наука не только о плохих контактах, но ещё и о плохом питании. Проблемы по питанию частенько фантомные.
Охлаждение же достаточно доступное для того, чтобы разориться на новые комплектующие и не проклинать внезапно заклинивший вентилятор.
Закупаться будем по частям. Если случится fail, то, хотя бы во всю конструкцию будет влито не так много денежных знаков, чтобы о них переживать.
Да начнется квест...
Материнская плата
Имею страсть к формфактору ITX, плата всего 17х17 см. Хорошо помню, как собирал что-то на Socket 1150 лет 10-12 назад. Помню, что можно было было даже построить Hackintosh (это такой Mac для очень бедных).
Внезапно, АлиЭкспресс подкидывает вот такое чудо:
Jingsha B85M-I. Чудо сумрачных китайских гениев от электроники на Socket 1150.
Ценник светится в райне 3500 рублей на момент просмотра. Ждем пару дней, ибо доллар начинает падать, цена ещё немножко корректируется в мою пользу.
Ок, кто не рискует -- тот не пьет Трихопол. Заказываем, тем более в отзывах видим персонажа, явно сборщика, который оставил несколько одинаковых 5-звездных отзывов с разницей в несколько недель. А значит дело того стоило, ведь эти ребята считают каждую копейку и там literally -- сэкономленный рубль -- заработанный рубль.
Тут тебе и USB3, и M2, причем поддерживаются как и PCI-Express, так и SATA накопители. Причем, тип выбирается набором перемычек. (Привет, зумеры, надеюсь у вас горит пукан при виде этих самых перемычек).
Кстати, тут парадигма "только БУ" тоже работает.
Эти чудо-платы делаются в третью смену на китайских заводах, там же, где и гораздо более именитые железки.
Но есть нюанс... Чипсеты "сдуваются" с отслуживших компьютеров, а вот остальной обвес -- новый.
Вероятность отвала довольно велика, но игра стоит свеч, ибо платы тестируются, чтобы избежать совсем уж косяков.
Отработает свои 5 лет сверх нормы -- а что мы еще от нее хотим за 3500 рублей?
Прошивка BIOS на этих платах -- тоже отдельная история. То есть там можно найти такое, что вообще к плате отношения не имеет. Но, как правило всё работает.
Вот что точно не работает -- это нормальный sleep. Даже не мечтайте. Скрестите пальцы, чтобы включился Wake On Lan.
Ладно, заказ выслан и уже ползёт через таможни, значит можно покупать процессор.
Процессор и память
Внезапно, в России очень любят Xeon.
Причём, во всех видах. Это и "десктопные" сокеты типа 115x, и серверные типа 2011v3.
С последними всё выглядит логичным -- соблазн получить 12 ядер и 24 потока за очень, очень низкую цену и воткнуть это всё в какую-нибудь материнку Huananji -- любимое занятие нашего человека. А тут китайцы с кулерами, способными охладить средних размеров ядерный реактор подоспели.
И то, чтобы было списано 10 лет назад с каких-нибудь серверов находит вторую (а может быть и девятую) жизнь в компьютере геймера из России.
Осуждать это трудно, да и бессмысленно. Такие "сборки" работают, работают неплохо, гоняют эти ваши Ведьмаки.
Отдельная тема -- жулики с маркетплейсов, которые пишут в описании Core i7 что-то там, а внутри стоит китайский Xeon. На вопрос "какого хрена" мы получаем ответ -- "это полный аналог". Нихрена он не аналог. Это серверный процессор. Он для другого, как минимум. У вас не будет ни энергосбережения, ни режима сна, вместо этого будет глючный BIOS, безумное потребление по сегодняшним меркам и шум вентиляторов. А ещё заведется далеко не вся память.
Короче, как уплачено, так и нахреначено.
Ладно, вернемся к нашим баранам.
Тут хочется и видеоядро в процессоре, ибо видеокарта без выхода, и чтобы не особо горячо, ибо главный компонент тут всё-таки видеокарта.
Открываю Авито, вижу кучу продавцов, которые барыжат Xeon'ами весьма системно и нахожу вот такое предложение:
Отличный вариант -- Xeon 1265lv3 с 4 ядрами и 8 потоками, хорошим TDP в 45 ватт и ещё и памятью.
Такие процессоры ставили в свое время на компактные рабочие станции, где требовалась хорошая производительность.
45 ватт не перегрузят китайскую систему питания материнской платы, что тоже не маловажно.
Видеокарта
Начитавшись статей и насмотревшись роликов приступаю к поискам все там же, на Авито.
Тут куча подводных камней.
Во-первых карты с "ферм" часто бывают с утерянными планками для крепления. В худшем случае придется ее либо искать (а это опять время и траты), в лучшем -- напечатать оную на 3д-принтере.
Во-вторых ушатанное охлаждение. Кулеры часто разбиты, требуют замены. Тоже самое по термопасте. Карты покупались на убой, никто особо не морочился с обслуживанием.
В-третьих -- прошивка BIOS на таких картах имеет прибитую гвоздями скорость вентиляторов. То есть независимо от температуры -- шпарить на фиксированную скорость.
Короче, ищем карту с целыми кульками и заглушкой. Если охлаждение "модифицировано" в прошивке, придется стиснуть зубы и искать прошивку на techpowerup.
И вот прекрасный экземпляр от MSI:
Повезло -- и карта холодная (видимо, обслужена), и кулеры не убиты и даже прошивка от нормальной видюхи, то есть с динамическим изменением оборотов.
Накопители
И снова боремся с жабой-душительницей, стоящей на страже бюджета.
Что делает нормальный человек? Покупает в бюджетную сборку накопитель NVME на 512Гб за полторы тысячи рублей.
Что делает искатель приключений? Ставит WD Black ноутбучного формата на 7200 оборотов (он же типа "как SSD", ну конечно, конечно) и вторым накопителем в ящике находит старый M2 SSD на 64гб.
Расчет тонкий. Если мы пользуемся Linux (а мы именно его и будем запускать), то мы себе нанищебродим т.н. LVM Cache. То есть поставим диск обычный, SSD, добавим в LVM и объявим, что "быстрый диск" у нас теперь кэш. Ну и boot на него положим, ага, для скорости.
Это ничего, что диск у нас не того размера и приходится печатать проставку на 3d-принтере.
Короче не делайте так. Нет, делайте конечно, но денег это сэкономит не очень много, зато потенциально нервов потреплет.
Блок питания
Ну тут вообще всё прозаично и даже не стоит морочиться отдельным разделом. Выбрал в DNS с соотношением -- минимальная цена/максимальный рейтинг.
Выбор пал на Digma мощностью 450W.
Самый подкупающий отзыв был -- "тяжеленький". Это, кстати довольно много значит =).
Надо сказать, что я надеялся обойтись старым БП от FSP на 450w. Но не фартануло -- он отлично уходил в защиту, когда видеокарта начинала загружаться по полной.
Так, чтобы не потерять видюху, да и все остальное -- от греха купим новый БП из 2025 года, а старый утилизируем на каком-нибудь форуме любителей старья.
Первая попытка сборки
Пока вопрос с корпусом ещё не решен -- собираем всю конструкцию на "открытом стенде", который печатался на 3д-принтере пару дней:
Моделька тут:
Установлен еще старый БП, который, как выяснилось не сдюживает полную нагрузку видеокарты.
Пора подумать о корпусе...
Корпус и охлаждение
И вот тут от количества вариантов начинает ехать крыша, так что надо опять составить список требований.
- Корпус должен быть достаточно компактным, но видюха должна влезать
- Он должен быть продуваемым
- Он должен быть хоть немного нескучным
Под все требования отлично попадает Jonsbo C6 handle
Корпус близок к идеалу -- всё подогнано, всё грамотно. Металл толстый, даже на thingiverse.com есть модельки для защелок, если убью родные.
Скажу больше, я даже его приобрел несмотря на цену -- от 3500 руб в рознице. И да, он абсолютно шикарен.
Но возникли душевные метания, как без них.
Во-первых, получалась "копейка" в кузове, ну может быть не Ferrari, но от Lada Granta точно. А у нас тут киберпанк, если кто не понял. Hi tech, low life.
Во-вторых полку в шкафу одну демонтировать все равно пришлось, чтоб он туда влез. Т.е. он компактный конечно, но не настолько, чтоб прям быть стелс-вариантом =).
Короче, ищем приключений дальше, открываем Авидло и смотрим, что дают.
Дают многое. Прям как в баре Titty Twister и его зазывалой из фильма "От заката до рассвета":
All right, pussy, pussy, pussy! Come on in pussy lovers! Here at the Titty Twister we're slashing pussy in half! Give us an offer on our vast selection of pussy, this is a pussy blow out! All right, we got white pussy, black pussy, Spanish pussy, yellow pussy, we got hot pussy, cold pussy, we got wet pussy, we got...
Среди кучи объявлений попадается интересное. Некая компания, которая специализируется на сборках компов -- дешево отдает игровые и офисные корпуса. С нюансом. В них немного попали ботинком.
В кого-то больше, в кого-то меньше. У игровых, к примеру кокнуто закаленное стекло. А у офисных следы ударов.
Металл современного корпуса мнется пальцами ребёнка. Представляете, что будет, если такой корпус уронить при погрузке ?
Цена интересная -- чуть ли не от 300 рублей. Жаба подбрасывает и по летней жаре отправляюсь к ним в гости, где выуживаю вот такого вот товарища:
Что подкупило:
- Нет пластиковой морды. Морда выдавлена из металла.
- Конечно же, цена. За 350р я "отхватил" вполне годный корпус.
Что пришлось подкрутить -- врезать винт в нижнюю часть, ибо там была подозрительная щель, такое ощущение, что не хватало клепки.
А ещё выяснилось, что один из USB портов не работает. Причину я нашел, где-то внутренний дефект платы. Бросил "соплю" паяльником, USB бодро задышал.
Ещё не проверял front audio, но теперь знаю, как это дело лечить, так что и это меня не остановит. Да и на сервере front audio -- так уж, чтоб было.
Конструкторы корпуса -- люди странные. Да, я понимаю, что везде уже давно M2 диски. Но кто придумал место для двух HDD 2.5 расположить так, чтобы к нему можно было добраться, сняв материнскую плату ? Вы серьезно ?
Короче будем исправлять.
Печатаем на 3д-принтере 8 уголков, привинчиваем их на винты с потайной головкой.
Закрепляем самоконтрящейся гайкой.
Дальше тупо спиливаем лишнее бор-машинкой и заливаем из термосоплей, чтобы не было замыканий, несмотря на то, что винты у нас точно ниже стоек.
Ну и крепим хард(ы)
Тут тонко -- HDD специально стоит платой "вверх". Корпус можно положить на бок, не хотелось бы, чтобы он работал вверх ногами.
Ещё повезло, что материнка не задевает "прокладкой" для CPU эти самые винты.
Но и тут бы план "Б" -- снимаем нафиг винт и клеим уголок на смесь суперклея и соды. PET-G из которого напечатаны уголки все равно с другим клеем типа эпоксидки не подружится. А так -- дешево и сердито.
Про охлаждение ничего сказать особо не могу.
Корпус имеет два посадочных места под 120мм вентиляторы на "морде", что кстати можно отнести к плюсам.
Однако, видеокарта... ну не будет совместима со стандартным 25 мм толщиной вентилятором.
В загашнике нашелся вариант потоньше, в притирочку, но встало.
На выдув обычные 80мм, другое все равно не поставишь
На самом деле, за такую цену корпус не жалко и попилить -- водрузив в крышу пару вертушек, но это как-нибудь в другой раз.
Ну еще есть 120мм на боковой крышке.
Что в итоге
На днище еще есть место под целый 3.5 дюйма HDD или еще один 2.5 дюйма.
После включения попадаем в BIOS Setup и выставляем значение Switchable Graphics
Это тут самый важный параметр, см. ссылки на статьи о "видеокарте без видеовыхода" в самом начале статьи. В моем случае -- параметр зовётся Switchable Graphics. Думаю, на большинстве китай-материнок он называется так же.
Обещал не расписывать софт в этой статье (более подробный setup будет описан в другой раз, тем более я хочу кое-что переделать по-мелочи)
Однако:
- Поставил ProxMox и настроил проброс видеокарты P106-100 в виртуалку. Исчерпывающая статья на хабре, после открытия ресурса обязательно моем руки и промываем глаза
- Настроил Wake On Lan, чтобы включать удаленно.
- Как уже говорилось, вся система работает на LVM Cache, то есть приемущества мелкого SSD есть. Вроде стабильно. Про LVM Cache я когда-то очень давно писал вот тут:
По финансовой стороне -- вот чистая стоимость всей системы. Ну ок, пусть она будет из идеального мира, она была бы такой, если было чуть больше планирования :)
- Материнская плата Jingsha B85M-I -- 3356 -- AliExpress
- Cooler ID Cooling DK-03 -- 251 -- Маркетплейс
- Xeon 1265lv3 + 16GB RAM -- 3440 -- Авито
- Видеокарта P106-100 -- 2029 -- Авито
- Жесткий диск WD Black 500 Gb -- 900 -- Авито
- БП Digma DPSU 450W -- 1955 -- Неназванный оффлайн магазин
- Корпус -- 350 -- Авито
- ИТОГО: 12281
В нее не попал корпус от Jonsbo, ибо он нашел другое применение, а еще я специально не указываю 64 гб SSD (он у меня был), ну и вентиляторов, которые тоже были в наличии. Уверен, кто хоть как-то занимался сборкой компов -- в хозяйстве найдется что-то, что "валяется", можно подрезать у знакомых или друзей.
Ещё ниже -- полезные ссылки по нищебродингу на Xeon:
Думаю, пока хватит, чтобы оценить масшатбы бедствия.
Lessons learned
Извечный вопрос -- зачем всё это ?
Да, вы можете пообщаться с чат-ботами бесплатно "без регистрации и смс". И тот же Google уже сбрасывает отлично сформулированные нейросетью ответы на заданные вопросы.
Но как работает это изнутри -- вы не поймете никогда, пока не попробуете сами.
Да, P106-100 c её 6 гигабайтами через год может быть будет выглядеть очень наивно, модели для ИИ требуют всё больше памяти.
Но вы не знаете, что будет через полгода. Вы даже не знаете, что будет через три дня.
А ещё собирать компы весело и интересно. Правда не держите дома комплектующие "про запас". Из них неожиданно отрастают целые компы и их становится некуда ставить.
Про деньги -- их всё равно сожрет инфляция. Не надо отказываться от удовольствия что-то попробовать. В нашем же случае можно немножко изменить конфигурацию дисков (убрать изврат из LVM), накатить Windows, настроить драйвера и вполне легко продать игровую машину какому-нибудь страждущему, на которой он вполне себе запустить почти все, кроме последнего Indiana Jones, который требует трассировки лучей. А P106-100 оным не обладает, ибо по факту является версией Geforce 1060. Расходы отобьются.
Про опыт -- ну тут выбор за вами. Либо платите "курсам", где вам будут рассказывать, что небо голубое, трава зеленая, а вода мокрая. Либо идём по пути классика -- "и опыт, сын ошибок трудных, и гений -- парадоксов друг".
Мне кажется, тут выбор очевиден.
Ещё есть вариант -- арендовать такую машинку в каком-нибудь дата-центре. Если увлечетесь, то бюджет утечёт быстро. Если не зацепит, ну может сэкономите чуть чуть.
Но собранный вами" компуктер" -- он ваш.
Спасибо, что дочитали до конца. Как всегда, надеюсь, это было интересно.