
Введение
Запуск больших языковых моделей на своём железе — это всегда поиск компромисса. Либо ты тратишь больше $10 000 на потребительские видеокарты, которые едва тянут модели на 70 миллиардов параметров, либо лишь мечтаешь о серьезном железе корпоративного класса, которое, увы, тебе не по карману. Платформа Grace‑Hopper — архитектура суперчипа NVIDIA, объединяющего CPU и GPU, — это именно та инфраструктура для ИИ, о которой грезит сообщество LocalLlama. Но такие системы обычно стоят от $100 000 и доступны только дата‑центрам и научным институтам.
Поэтому, когда на Reddit я наткнулся на систему Grace‑Hopper за 10 000 евро, первой мыслью было: «Это развод». А второй: «Интересно, получится ли договориться за 7500?».
Эта история — о том, как я купил корпоративное ИИ‑оборудование, изначально рассчитанное на жидкостное охлаждение в серверной стойке, но кое‑как переделанное предыдущим владельцем на воздушное. Затем я вновь переделал его на водяное охлаждение, пережил несколько ситуаций на грани фола (включая работу с GPU, который докладывал о температуре в 16 миллионов градусов) и в итоге получил десктопную систему, способную запускать у меня дома модели на 235 миллиардов параметров. Это рассказ о сомнительных решениях, творческом решении проблем и о том, что происходит, когда пытаешься превратить серверное чудовище в домаш��юю рабочую станцию.
Если вам когда‑нибудь было интересно, что нужно, чтобы запускать по‑настоящему большие модели локально, или если вы просто зашли посмотреть, как кто‑то разбирает «железо» за $80 000 с одной лишь надеждой и бутылкой изопропилового спирта — вы по адресу!
Сделка
В начале этого года, просматривая r/LocalLLaMA/new, я наткнулся на невероятно выгодное предложение. Насколько выгодное? Вот характеристики сервера, предлагаемого за 10 тысяч евро — серьёзное обновление по сравнению с моей системой на 4x RTX 4090:
Характеристики:
2x Nvidia Grace-Hopper Superchip
2x 72-ядерных процессора Nvidia Grace CPU
2x GPU Nvidia Hopper H100 Tensor Core
2x 480 ГБ LPDDR5X памяти с коррекцией ошибок (ECC)
2x 96 ГБ HBM3 памяти
1152 ГБ общей высокоскоростной памяти
NVLink-C2C: пропускная способность 900 ГБ/с
программируемое энергопотребление от 1000 Вт до 2000 Вт (TDP CPU + GPU + память)
1x высокоэффективный блок питания 3000 Вт (230 В → 48 В)
2x слота PCIe Gen4 M.2 22110/2280 на материнской плате
4x FHFL PCIe Gen5 x16
Уточнение: С тех пор как я купил эту систему, цены на DDR5 RAM стали безумными. 960 ГБ быстрой DDR5 сейчас стоят дороже, чем вся моя Grace-Hopper система 🤯
«Это развод», — подумал я, потому что:
H100 стоят около 30-40 тысяч евро каждая, а в этой системе их две
системы Grace-Hopper NVL2 практически недоступны для потребителей!
В посте Reddit объяснялась причина такой низкой цены: Основная причина в том, что это «Франкенштейн-система», переведённая с жидкостного охлаждения на воздушное. Кроме того, она выглядит не очень эстетично и не подходит для монтажа в стойку из-за прикреплённого блока питания на 48 В. Изначально система поставлялась напрямую от Nvidia.
Я немедленно предложил купить её, ведь почему бы и нет? Если это мошенничество, я всегда могу отказаться, но я хотел быть первым в очереди!
Оказалось, что я живу недалеко от продавца, и он владеет интернет-магазином, который продаёт модифицированное серверное оборудование Nvidia в формате настольных ПК. Это всё ещё казалось довольно рискованным, поэтому я провёл исследование и нашёл видеообзор одного из его настольных ПК на YouTube. Поскольку сделка теперь казалась хотя ��ы правдоподобной, а продавец находился всего в двух часах езды и согласился принять наличные, пришло время отправиться в дорожное путешествие по Баварии.
Я приехал к фермерскому дому в небольшом лесу и встретил Бернхарда — владельца GPTshop.ai. Он показал мне хорошую мастерскую (плазменные резаки, электронная лаборатория и т.д.), в которой он изготавливает специальные корпуса для высокопроизводительных H100-десктопов. Эти настольные ПК выглядят очень прилично, поэтому жаль, что его веб-магазин производит сомнительное впечатление; регистрация бизнеса на Каймановых островах определённо его не улучшает. Что я могу сказать, так это то, что этот товар был сильно скидочным и не относился к тем изысканным высококлассным настольным системам, которые он обычно продаёт.
Отказ от ответственности: У меня нет никакой аффилированности с GPTshop.ai, кроме как передачи им пачки наличных и получения взамен покрытого пылью сервера. Если бы это была спонсорская публикация, они вряд ли позволили бы мне упоминать температуры GPU в 16 миллионов градусов или часть, где мне пришлось паять компоненты навесным монтажом, молясь электронным богам.
Разборка сервера Grace Hopper

Сам сервер находился в не самом лучшем состоянии. Всё это добро работало чрезвычайно шумно, имело высокопроизводительные вентиляторы, которые засосали много пыли, покрыв материнскую плату таким её слоем, что я не мог определить цвет текстолита. Однако система запустилась и работала нормально, поэтому я передал пачку наличных, пристегнул сервер ремнём безопасности на заднем сиденье моей машины (весил он около 20 кг) и повёз домой.
Я упоминал слово "шумно"? Запуск системы причиняет физическую боль. Там установлено 8 модулей Sunon с двойными вентиляторами, каждый из которых громкий, как мощный пылесос, но с гораздо более высокой и раздражающей тональностью звука. При работе всех 8 на полной мощности требуется защита для слуха — я мог слышать работу системы в подвале с закрытыми окнами на расстоянии 50 метров! Моя жена немедленно (и совершенно справедливо) запретила его использование дома. Мы оба работаем из дома, и мы не могли участвовать в онлайн-созвонах. Но у меня были другие планы…
Прежде всего, я, конечно же, сначала сфотографировал различные соединители между всеми этими платами, модулями и материнской платой, а потом приступил к разборке сервера.
Очистка сервера

Существенную часть пыли удалось убрать пылесосом во время разборки, но было очевидно, что под модулями Grace‑Hopper её ещё много. После их демонтажа я решил полностью промыть материнскую плату.
Я купил несколько литров изопропилового спирта и с помощью мягкой щётки несколько раз обработал всю плату, чтобы удалить оставшуюся мелкую пыль из разъёмов и между выводами SMD‑компонентов.
Я предположил было, что пыль может быть и внутри модулей Grace‑Hopper — но на самом деле я просто очень ��отел их открыть, чтобы заглянуть внутрь.
Положил материнку на теплый пол на неделю для просушки, а пока перешёл к замене системы охлаждения.
Новая система водяного охлаждения

Я подумал было о создании собственного, кастомного блока водяного охлаждения, но беспокоился о возможных протечках, так что поискал и нашёл недорогие системы водяного охлаждения «все‑в-одном», по ~40 евро каждая со скидкой. Двух штук на каждый модуль GH200 было бы достаточно, поэтому я тщательно измерил размеры кристаллов GPU и CPU, а также расположение винтов, и занёс эти данные в Fusion 360 для моделирования адаптерных блоков.
У меня есть Bambu X1, который очень пригодился для прототипирования адаптерных блоков. Допуски должны быть очень точными, поэтому я напечатал несколько версий с вырезами, чтобы убедиться в надёжном контакте с открытым кристаллом GPU и безопасном расстоянии от хрупких частей.
Отправил детали на ЧПУ-фрезеровку, они приехали, когда материнская плата закончила сохнуть. После использования ещё большего количества изопропилового спирта для удаления масла, использованного в процессе обработки, их установили без особых проблем.
Сборка настольной системы

Мой основной материал для таких проектов — ProfilAlu с eBay. Он недорогой, жёсткий и поставляется предварительно нарезанным для сборки. Я собрал дизайн в Fusion 360, и детали прибыли через несколько дней. Однако различные крепления потребовали гораздо больше работы. Мне нужно было спроектировать несколько десятков специальных креплений для различных плат и фиксаторов воздушных фильтров; на это ушло несколько килограммов филамента, чтобы всё получилось правильно.
Катастрофы
То, что издаёт звук «ХЛОП» ночью… 💀
Я обнаружил, что один из самых страшных звуков, которые вы когда‑либо услышите, — это «хлопок», за которым следует «шипение», исходящие от материнской платы стоимостью $80 000, над которой вы только что работали. Запах волшебного дыма, появляющийся моментами позже, вызывает больше ощущение ужаса.
Идея была достаточно простой: у меня есть 8 мощных вентиляторов, каждый из которых должен потреблять огромный ток и работать при 12 В. В то же время у меня есть четыре системы водяного охлаждения, которые также работают при 12 В. Просто, правда? Я меняю стандартный 3-контактный разъём вентилятора от потребительского охладителя Arctic на странный серверный разъём вентилятора, и я могу запитать их от материнской платы, да ещё с управлением скоростью вращения!

Проблема 1. Какие-то странные разъёмы для вентиляторов на материнской плате. Они выглядели как крошечные Molex, но я их не узнал. Кажется, я наконец нашёл их в продаже, но они стоили ~20 евро каждый, а у меня есть принципы! Поэтому я составил схему проводки и с помощью резки и пайки изготовил адаптеры, после чего восстановил систему. Затем последовали хлопок и шипение… Мои расчёты по потреблению тока, должно быть, были не совсем точны!
Проблема 2. После разборки только что изготовленного изящного адаптера и перепайки вентиляторов я обнаружил, что несколько вентиляторов больше не работают. Хмммм. Перестановка различных вентиляторов показала ясную картину: некоторые разъёмы для вентиляторов на материнской плате не работали. Я взял свою самодельную тепловизионную камеру (тема для другого поста в блоге) и осмотрел всю плату, прежде чем заметить то, что выглядело как тёплый MOSFET (по сути, переключатель). Я погуглил маркировку, но результатов не было.
Проблема 3. Мне нужен был новый способ питания 12В AIO-водяных охладителей. Основной блок питания обеспечивает 48 В при 62,5 А, что как-то многовато, и я не был готов подключать их последовательно после последнего небольшого «инцидента». Я купил дешёвый блок питания 12 В-5 А с Amazon, потому что было указано «доставка на следующий день», и он обошёлся менее чем в 10 евро. Когда он прибыл, моя система охлаждения снова заработала!
Критические ошибки вентиляторов
Система больше не запускалась. Проверяя логи, я увидел 6 критических ошибок, по одной для каждого неработающего драйвера вентилятора из 8 пар:
№ | Дата/время | Компонент | Событие | Состояние | Значение |
|---|---|---|---|---|---|
4 | 08/06/25 19:24:08 CEST | Fan FAN_6_F | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM |
5 | 08/06/25 19:24:08 CEST | Fan FAN_6_R | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM |
6 | 08/06/25 19:24:08 CEST | Fan FAN_5_F | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM |
7 | 08/06/25 19:24:08 CEST | Fan FAN_5_R | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM |
8 | 08/06/25 19:24:08 CEST | Fan FAN_8_F | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM |
9 | 08/06/25 19:24:08 CEST | Fan FAN_8_R | Lower Critical going low | Asserted | Reading 0 < Threshold 2156 RPM… |
Если отключить вентиляторы, то BMC (Baseboard Management Controller) немедленно паникует и отключает материнскую плату, чтобы предотвратить термическое повреждение, даже несмотря на наличие водяных охладителей. Поэтому я отключил подсистему проверки вентиляторов.
# stops the service for the current session
systemctl stop phosphor-sensor-monitor.service
# prevents the service from starting on the next boot
systemctl disable phosphor-sensor-monitor.serviceКому нужен аппаратный мониторинг? ¯\_(ツ)_/¯
Ядерный синтез?
Отлично! На этом этапе я смог запустить процесс загрузки и даже доходил до входа в систему! Но только примерно в 1 случае из 4… Не оптимально. И даже если удавалось войти в систему, то сервер падал через 2 минуты.
Изучая логи BMC, я увидел:
Время | Источник | Процесс | Событие |
|---|---|---|---|
Sep 23 08:20:18 | oberon-bmc | shutdown_ok_mon[1478] | event: FALLING EDGE offset: 26 timestamp: [571.615238550] |
Sep 23 08:20:18 | oberon-bmc | power-status[1493] | event: FALLING EDGE offset: 18 timestamp: [571.632491062] |
Sep 23 08:20:18 | oberon-bmc | shutdown_ok_mon[545] | SHDN_OK_L-I = 0 |
Sep 23 08:20:18 | oberon-bmc | shutdown_ok_mon[545] | Asserting SYS_RST_IN_L-O to hold host in reset |
Sep 23 08:20:18 | oberon-bmc | shutdown_ok_mon[545] | gpioset SYS_RST_IN_L-O = 0 |
Sep 23 08:20:18 | oberon-bmc | power-status[697] | gpioset SYS_RST_IN_L-O = 0 |
Sep 23 08:20:18 | oberon-bmc | power-status[697] | Set SYS_RST_IN_L-O=0 |
Итак, критический сбой в 08:20:18:
Сигнал SHDN_OK_L-I опускается до нуля (обнаружен спадающий фронт)
Это немедленно запускает последовательность отключения
Система отключается примерно через 30 секунд после успешной загрузки
Но почему?!!? Я же отключил аппаратный мониторинг.
Глубже погружаясь в логи:
Время | Источник | Процесс | Событие |
|---|---|---|---|
Oct 05 10:15:00 | oberon-bmc | ipmid[520] | thresholdChanged: Assert |
Oct 05 10:15:00 | oberon-bmc | ipmid[520] | thresholdChanged: Assert |
Oct 05 10:15:00 | oberon-bmc | ipmid[520] | thresholdChanged: Assert |
Oct 05 10:15:00 | oberon-bmc | satellitesensor[2351] | Sensor HGX_GPU_1_TEMP_1 high threshold 92 assert: value 1.67772e+07 raw data nan |
Oct 05 10:15:00 | oberon-bmc | satellitesensor[2351] | Sensor HGX_GPU_1_TEMP_1 high threshold 89 assert: value 1.67772e+07 raw data nan |
Oct 05 10:15:00 | oberon-bmc | satellitesensor[2351] | Sensor HGX_GPU_1_TEMP_1 high threshold 87 assert: value 1.67772e+07 raw data nan |
Oct 05 10:15:00 | oberon-bmc | phosphor-fru-fault-monitor[524] | /xyz/openbmc_project/logging/entry/496 created |
Oct 05 10:15:00 | oberon-bmc | phosphor-fru-fault-monitor[524] | /xyz/openbmc_project/logging/entry/497 created |
Oct 05 10:15:00 | oberon-bmc | sensor-monitor[499] | Starting 1000ms HardShutdownAlarmHigh shutdown timer due to sensor /xyz/openbmc_project/sensors/temperature/HGX_GPU_0_TEMP_1 value 16777214 |
Внимание: Ваш GPU не должен достигать 16 777 214 градусов Цельсия во время загрузки. Представьте, что случилось бы под нагрузкой!
Это заняло некоторое время для отладки, поскольку я был совершенно уверен, что датчики физически не могут считывать температуры выше 16 миллионов градусов Цельсия… Но затем я заметил нечто интересное в этом конкретном числе:
Десятичное | Двоичное | Шестнадцатеричное |
|---|---|---|
16,777,214 | 1111 1111 1111 1111 1111 1110 | 0xFFFFFE |
Это 2²⁴ - 2, что подозрительно близко к максимальному значению 24-битного целого без знака. В мире аппаратного обеспечения это сообщения от датчика: «Я понятия не имею, что происходит!» Когда оборудивание не может считать значение правильно — будь то из‑за плохого соединения, повреждённой цепи или сбоя инициализации — оно часто возвращает максимальное (или почти максимальное) возможное в данном представлении значение. Это похоже на цифровую версию пожатия плечами.
Логи подтвердили эту теорию: там была величина 1.67772e+07 (16 777 214), что не было свидетельством того, что мой GPU достиг температур ядерного синтеза 🔥 — это было свидетельством того, что датчик температуры просто вышел из строя. А если ошибка датчика носит прерывистый характер, наиболее вероятная причина — плохое соединение или физическое повреждение.
Потратив весьма много времени на поиск программных решений (потому что кому хочется снова разбирать всё?), я наконец смирился с неизбежным и достал отвёртки.

В этом году мне как раз пришлось обзавестись новым микроскопом, и он идеально подошел для диагностики и решения проблемы. Рядом с одним из модулей я обнаружил поврежденные компоненты для поверхностного монтажа. Скорее всего, они пострадали уже после чистки — вероятно, во время обратной сборки модулей с медн��ми переходниками. Те весят больше двух килограммов, так что даже легкий удар мог легко их повредить.
Удивительно, но эти крошечные детали всё еще держались на дорожках, что позволило мне их промерять: конденсатор на 100 нФ и резистор на 4,7 кОм (оба у меня были под рукой, поскольку это стандартные номиналы для развязки). Плохая новость была в другом: в моих запасах в основном лежали крупные компоненты типоразмера «0805» (длиной 2 мм), а здесь стояли крошечные «0402» (всего 1 мм). К тому же одна из контактных дорожок полностью оторвалась.
Методом кропотливой пайки, предварительно зачистив лак, чтобы открыть медные дорожки, я собрал компоненты навесным монтажом в ажурную трехмерную конструкцию. Затем всю эту сборку я залил УФ-отверждаемым защитным компаундом, дал ему застыть и для надежности стянул конструкцию скотчем. Вышло очень профессионально. После сборки система наконец-то начала загружаться без сбоев.
Финальные штрихи

Я напечатал на 3D-принтере несколько дополнительных деталей:
Крепления для E1.S SSD 8 ТБ, который я нашёл недорого онлайн
Полная задняя панель для монтажа блока питания 3 кВт 48 В
Стильная сетка для защиты радиаторов водяного охлаждения и пылевых фильтров
Запуск самих GPU также был болезненным, поэтому я оставлю детали здесь для будущих искателей приключений:
# Data Center/HGX-Series/HGX H100/Linux aarch64/12.8 seem to work!
wget https://us.download.nvidia.com/tesla/570.195.03/NVIDIA-Linux-aarch64-570.195.03.run
# Tell the driver to completely ignore the NVLINK and it should allow the GPUs to initialise independently over PCIe !!!! This took a week of work to find, thanks Reddit!
# create a modprobe config file:
sudo nano /etc/modprobe.d/nvidia-disable-nvlink.conf
# add the driver option
options nvidia NVreg_NvLinkDisable=1
# update the boot files:
sudo update-initramfs -u
# reboot
sudo rebootБенчмарки
Ради этого вы, возможно, и пришли? Я только начал, но после компиляции последней версии Llama.cpp с использованием 144 ядер за 90 секунд, вот несколько цифр бенчмарков на LLM большего размера:

Модель | Обработка запроса | Генерация токенов |
|---|---|---|
gpt-oss-120b-Q4_K_M | 2974.79 | 195.84 |
GLM-4.5-Air-Q4_K_M | 1936.65 | 100.71 |
Qwen3-235B-A22B-Instruct-2507-Q4_K | 1022.79 | 65.90 |
Это довольно ещё не оптимизировано, но пока выглядит многообещающе! Во время тестов LLM я достигал потребления около 300 Вт на GPU, что далеко от максимума в 900 Вт.
Разбивка затрат
Вот во сколько обошлась вся сборка от первоначальной покупки до финальных штрихов:
Компонент | Описание | Стоимость (EUR) |
|---|---|---|
Сервер Grace-Hopper | 2x GH200 суперчипа с GPU H100 («Frankenstein special») | €7,500 |
Хранилище | б/у 8 ТБ E1.S NVMe SSD («состояние нового») | €250 |
Адаптеры для водяного охлаждения | 2x ЧПУ‑фрезерованные медные монтажные пластины для AIO‑охладителей | €700 |
AIO водяные охладители | 4x Arctic Liquid Freezer III 420 (B-Ware) | €180 |
Каркас конструкции | профили из экструдированного алюминия, предварительно нарезанные и доставленные | €200 |
Передняя панель из стекла | тонированная стеклянная передняя панель, предварительно нарезанная и доставленная | €40 |
Филамент для 3D-печати | 2x 1 кг чёрного PLA для специальных креплений и скоб | €40 |
Различное оборудование | гайки, болты и монтажное оборудование | €50 |
Средство для очистки | 5 литров 99.9% изопропилового спирта (использовал от души) | €20 |
Блок питания 12 В-5 А | отдельный блок питания для AIO-водяных охладителей | €10 |
Эстетика | светодиодная лента (потому что «RGB всё ускоряет») | €10 |
Итого | Собственно, даже не перевалило за 9000 | €9,000 |
Не включено: беруши (совершенно необходимы!), микроскоп, который у меня уже был (но оказался незаменим), расход материалов на несколько неудачных 3D-печатей и стоимость нервов от созерцания надписи про «16 777 214°C» в системных логах.
Заключение
Так стоило ли оно того? Теперь у меня есть настольная система, способная запускать модели с 235 миллиардами параметров дома, за меньшую стоимость, чем один H100. Это потребовало разборки оборудования стоимостью $80 000, отладки датчиков (показывающих температуры, словно плата лежит на поверхности Солнца), и пайки компонентов навесным монтажом под микроскопом. У вас могло бы получиться по-другому. Скажем, в смысле расстояния: мне вот пришлось проехать два часа, чтобы забрать эту систему.