Автор считает, что трансформерные LLM — первое по-настоящему интересное событие в разработке за долгое время, но не хочет зависеть от чужого облачного сервиса. Он хочет свой маленький AI data center дома. Из-за дефицита комплектующих собирает его из хлама.
Главное — GPU. Всё, что нормально тянет AI, безумно дорого. Но автор вспомнил про AMD V620: в 2022 году AMD делала карты для облачного гейминга — взяла рабочую станцию, добавила RAM и убрала видеовыходы. Облачный гейминг провалился из-за задержек, карты перепроизвели, и теперь они валяются на eBay у продавцов электронного мусора. У каждой 32GB VRAM, они почти новые, но без вентиляторов — это серверные карты, им нужен обдув от громких серверных вертушек.
Материнку взял с платформы X299 2017 года — она старая и дешёвая, зато есть четыре PCIe x16 слота с правильным расстоянием. CPU — Intel Core i9 10900X. Автор называет его худшим процессором Intel за двадцать лет: в 2019 это был очередной рефрешенный Skylake, прожорливый и дорогой. Зато теперь копейки. RAM и SSD спасены из домашних компьютеров. Блок питания — 1600W, потому что на eBay он оказался дешевле 1200W. Пришлось купить новый корпус и вентиляторы.
С охлаждением пришлось повозиться. Четыре двухслотовые карты рядом — это примерно 160мм. Автор смоделировал в OnShape и напечатал крепления, которые ставят два 80мм вентилятора на две карты, используя отверстия от заводских направляющих. Взял вентиляторы на 10000 RPM — они очень громкие. Материнка сначала не хотела управлять их скоростью, так что первую настройку он делал в берушах.
Сам запуск тоже не задался: час провозился с BIOS, пока не нашёл нужные настройки. В 2017 никто не ожидал, что в эту плату воткнут столько VRAM, поэтому пришлось включить Resizable BAR и MMIO High Size в двух разных меню. Плюс внезапно выяснилось, что в гараже нет Ethernet, и автор среди ночи начал сверлить стены.
После этого поставил Ubuntu 24.04, собрал llama.cpp и протестировал Gemma4 — она влезает в одну карту и работает нормально, хотя и медленнее, чем на старой RTX 3090. Затем запустил Deepseek V4 Flash — целевую модель для этой сборки. Работает медленно, но помещается.
Потом вернулся к вентиляторам. На полной скорости их слышно через стены, а полная мощность не нужна. Материнка от Supermicro не умеет крутить разные вентиляторы с разной скоростью, поэтому автор собрал контроллер на клонах Arduino Nano с Aliexpress, используя код из колледжа. Контроллер принимает процент от сервера, а скрипт на сервере читает температуры и задаёт обороты. Этот скрипт автор попросил написать сам Deepseek V4 Flash. Было забавно: модель сначала начала писать PyTorch-скрипт, чтобы прогреть GPU, а автор объяснил, что она сама работает на этих картах в llama.cpp. У модели случился краткий экзистенциальный кризис.
Контроллер на макетной плате замотан изолентой и засунут в корпус. Пока всё стабильно, и автор готов разбираться, как выжать из этой штуки скорость — об этом будет следующая глава.