В прошлый раз мы рассматривали локальный инференс на бюджетных ноутбуках, а потом я попытался запустить gpt-oss-120b на трех видеокартах. Протестировав модель в рабочих задачах, я понял что она может стать заменой облачным провайдерам. Однако, уже тогда стало понятно что десктопные материнские платы и корпуса не могут вместить в себя 3 RTX 3090. Поэтому я присмотрелся к майнерским решениям, где на материнских платах имеется большое количество PCI-слотов с достаточным расстоянием между ними, и все это можно спрятать в просторный корпус. И вот что получилось в итоге:

Видео-вариант статьи можно посмотреть на youtube.
Я преследую цель подобрать потребительское железо для локального инференса, а так как все это делается на энтузиазме и финансирование из собственных средств, то речь идет о бюджетных вариантах, как минимум я стараюсь экономить.
По сути, эта статья отражает весь мой путь в сборке железа и запуска LLM в домашних условиях за год изысканий. А текущая конфигурация некая логически завершенная веха исследований. Мы пойдем коротким путем: рассмотрим несколько материнских плат для майнинга, протестиурем их, а одну прокачаем до максимума и в конце подсчитаем финансовые затраты. Излагать текст буду стараться в хронологическом порядке, чтобы соблюдать логику выводов.
Навигация по тексту:
Модель для тестирования
Как я писал выше, меня интересовал локальный инференс модели gpt-oss-120b. Все тесты ниже проводились на модели от Unsloth с квантизацией Q8_K_XL, если не указано иное. Понятно, что это MoE-модель, а у таких моделей скорость деградирует при заполнении контекста, поэтому мерить будем начальную скорость.
Запуск моделей через llamacpp подробно описал в этой инструкции, дальше тесты будут без тюнингов дополнительных параметров.
Установку NVIDIA-драйвера можно посмотреть здесь, все тесты будут запускаться на версии 580.82.07.
Тестовый запрос на скорость инференса:
Напиши полный код приложения рендера треугольника при помощи vulkan на go.
Видеокарты
Пожалуй, это основа для LLM, поэтому сразу затронем этот вопрос.
Моя первая карта Tesla P40 с кастомной системой охлаждения (даташит) (пост в тг), на которой я проводил первые длительные тесты ИИ в работе. Потребляет всего 250 Вт, имеет разъем питания CPU. В ширину занимает 2 PCI-слота.

После этого приобрел RTX 3090 TI от KFA2 (пост в тг), разъем питания 12+4 pin. Стоковое потребление 450Вт, но на практике не более 360Вт, а максимальное 480Вт. В ширину занимает чуть больше чем 3 PCI-слота.

Затем купил Asus Rog String RTX 3090 с тремя PCI-разъемами. Стоковое потребление 390Вт, а максимальное 480Вт, и она действительно может столько потреблять. В ширину занимает 3 PCI-слота.

Большая часть материала ниже будет использовать 3 вышеперечисленные карты. Но дабы понять сколько можно выжать максимально я приобрел третью RTX 3090 Gigebyte RTX 3090 Gaming OC с двумя PCI-разъемами (пост в тг). Стоковое потребление 350Вт, а максимальное 400Вт. Стандартная RTX 3090.

Комплект: корпус + ETH B75 + БП
Из всего многообразия вариантов на Авито, мой выбор пал на комплект за 3300 рублей, в который входил достаточно качественный горизонтальный корпус, материнская плата ETH B75 v1.12 и шумный блок питания True Miner на 1800Вт. Писал об этом в телеграм-канале.

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

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

В корпусе крепление самой платы и видеокарт заточены под материнскую плату ETH B75, что может стать проблемой при выборе другой платы для майнинга, потому что расстояние между PCI-слотами может быть больше или меньше, а значит отверстия и крепления не подойдут. Не то чтобы бы это была нерешаемая проблема, но вносит некоторое неудобство.
Плата ETH B75
Плата ETH B75 от неизвестного производителя. На ней 8 PCI-слотов и на каждом по одной PCI-линии. Сокет LGA 1155 поддерживает процессоры Intel Core второго и третьего поколений. В моем случае на плате уже стоял двухядерный Intel Celeron G1610 с частотой 2.6ГГц.
На борту только 1 разъем для плашки памяти DDR3 SO-DIMM. Сетевой порт на 100Mb/s, это мало для скачивания моделей ИИ, приходится долго ждать. Питание на плату подается от PCI-коннектора.

БП
Блок питания оказался очень шумным, вентилятор всегда крутит на 100%, что не подходит для домашнего использования. Однако, количество питающих кабелей в избытке: 8 раздвоенных PCI-кабелей и 1 CPU.

Запуск
Обладая полной уверенностью в успехе затеи, я перекинул все оборудование с хуанана на плату ETH B75.

К моему сожалению Tesla P40 отказалась работать на 1 PCI-линии, карта определяется системой, но драйвер ее не видит. Поиски в интернетах натолкнули на мысль, что эта карта не может работать на одной PCI-линии.

Тогда я прогнал тесты gpt-oss-20b на двух других картах. Загрузка 12гб модели длится около 80 секунд, что очень медленно. Инференс около 100т/с, при этом нагрузка на карту не превышала 80%, а значит конфигурация не позволяет раскрыть всей доступной мощи. Ранее я писал в телеграм-канале что скорость инференса gpt-oss-20b в среднем ~160т/с.
Плата H510 Pro BTC+
Собрав все проблемы я сделал выводы и отправился на поиски другой платы для майнинга, на которой есть хотя бы 1 полноценный PCI-слот с 16-тью линиями, и с более новым сокетом. Такой оказалась H510 Pro BTC+ за 4500р на Авито, во многом превосходящая ETH B75:
-
сокет
LGA 1200, есть поддержка Intel Core10и11поколений -
1 слот
DDR4с частотой до3200МГц -
гигабитная сеть
-
полноценный
PCI-слотна 16 линий -
синхронизаторы питания для подключения двух БП

В комплекте были двухядерный Celeron G5905 с частотой 3.5ГГц и плашка от AMD на 8гб с частотой 2400МГц. Под конец вы поймете что апгрейдить эти комплектующие не обязательно, потому что профит слишком мал для такой цены.
Полный надежд на лучший опыт и более быстрый инференс я перекинул все оборудование на новую плату. Кулер снял со своей экспериментальной платы Lenovo RD450x, как оказалось у него был переходник на сокет LGA 1200.

Модель gpt-oss-120b грузится 3,5 минуты, очень долго, но это мы разберем позже. Инференс около 65т/с, из-за слабой Tesla P40.

Еще одна RTX 3090 и новый БП
Теперь мне нужно попытаться еще выжать скорость и “одомашить” сборку, чтобы она не была такой шумной при использовании.
На замену Tesla P40 я купил Gigebyte RTX 3090 Gaming OC, о которой писал выше. А шумный БП заменил на мощный и тихий блок питания Azerty Red Power 1050w (на Ozon) за 5000р.

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


Тем не менее даже при таком раскладе мне удалось добиться 100т/с на этой сборке.

Как ускорить загрузку модели?
Загрузка модели на видеокарты длится 3 минуты 30 секунд, при размере модели 64.4гб скорость составляет ~314MB/s, это долго.
Изначально я подключил SSD диск через SATA, а это уже ~550 MB/s. Вся периферия включая 5 PCI-слотов, SATA и диск через m2 идут через DMI чипсета, который ограничен скоростью PCIe 3.0 на 4 линии, а это ~4 GB/s. Схематично это выглядит так (здесь и далее скорости указаны упрощенно):
SATA SSD (~550 MB/s)
→ DMI (~4 GB/s)
→ CPU
→ DMI (~4 GB/s)
→ PCIe x1 (~1 GB/s)
→ GPU
При таком подключении происходит двойная нагрузка на пропускную способность DMI чипсета платы. Профита от m2 тоже ждать не стоит, потому что даже в описании платы написано что он поддерживает режим SATA3 6 Гбит/с, тем более что m2 будет гонять данные через DMI. К тому же m2 у меня не завелся, ни с переходником на PCI-слот, ни напрямую.

Ускорение мы сможем получить если снизим нагрузку на DMI, для этого нам нужно вынести чтение данных, например на первый PCI-слот который 16-ю линиями идет напрямую на CPU по такой схеме:
NVMe (~3 GB/s)
→ PCIe x4 (~4 GB/s)
→ CPU
→ DMI (~4 GB/s)
→ PCIe x1 (~1 GB/s)
→ GPU
Я перенес все данные моделей ИИ на NVMe-диск и подключил его через PCI-переходник в первый слот. Получилось сократить загрузку моделей на видеокарты с 3 минут 30 секунд до 2-х минут, скорость загрузки выросла на ~240MB/s до ~549MB/s.
А почему не ~1GB/s? Наверное потому что для PCI x1 3.0 теоретический максимум ~985 MB/s, а загрузка модели это не просто memcpy, это: расспаковка, аллокация памяти, копирование и возможно конвертация. К тому же на DMI держится вся периферия, и отсутствие видимых данных внутри шины не говорит о ее бездействии.
Для себя я сделал вывод, что дальше оптимизировать некуда, кроме как переходить на другую плату. Однако, первоначальная загрузка, это не такой уж частый процесс. Поэтому идем дальше.
Финальный апгрейд: CPU + RAM + БП
Следующим этапом апгрейда будет блок питания, чтобы не ограничивать энергопотребление, более мощный процессор и более быстрая оперативная память.
У меня было подозрение, что двухядерный Celeron и 2400МГц на ОЗУ не дают раскрыться всей вычислительной мощи RTX 3090, поэтому я присмотрел 6-ти ядерный Intel Core i5 10600kf за 7000р с базовой частотой 4.1ГГц и поставил ОЗУ на 16гб с частотой 3200МГц, которую я взял еще до повышения цен.

Я не стал далеко ходить и выбрал самый мощный блок питания от Azerty на 1200Вт за 6000р (на Авито, на Ozon), в нем есть 12vhpwr для RTX 3090 TI от KFA2, и 5 разъемов для питания PCI, один из них пойдет на питание процессора, а значит остается 4. Но этого вполне хватает чтобы запитать плату и 3 видеокарты RTX 3090 без ограничения по энергопотреблению. Недостающие кабели я взял с предыдущего БП этого же производителя.

В итоге: скорость загрузки модели не изменилась, а скорость инференса увечилась всего-лишь примерно на 10% до 110т/с.
Можно выиграть еще несколько токенов если загрузить оригинальную квантизацию в формате mxfp4 (например от ggml-org).

Энергопотребление всей сборки во время инференса ~800Вт.
А чтобы закрыть крышку корпуса и при этом не согнуть провода я купил угловые коннекторы:

Какова цена?
Настало время подсчитать во сколько вся эта сборка может обойтись:
|
Название |
Цена (руб) |
Примечание |
|---|---|---|
|
Корпус |
3300 |
Плата ETH B75 не подходит для инференса, БП True Miner не для домашнего использования |
|
Плата H510 Pro BTC+ и Celeron G5905 + ОЗУ 8GB 2400MHz |
4500 |
CPU и RAM можно не апгрейдить, профит незначительный |
|
Блок питания Azerty на 1200W |
6000 |
Azerty Red Power 1050W не в счёт, в итоговой сборке не используется |
|
Кулер |
1200 |
|
|
Диск SSD на 512GB |
7000 |
Цена взята с Ozon |
|
Итого (без видеокарт) |
22000 |
Без последнего апгрейда |
|
RTX 3090 × 3 (одна в среднем 60000) |
180000 |
Tesla P40 не в счёт, в итоговой сборке не используется |
|
Итого вся сборка |
202000 |
Не считая мелочей (кабели, коннекторы и т.д.), промежуточные траты (ОЗУ, CPU i5) |
Итог
Если вы сразу перешли в этот раздел, то вот вам результаты:
-
загрузка модели gpt-oss-120b размером
64.4гб~2 минуты -
скорость генерации ответа ~100т/с (цена сборки: 202к рублей)
-
скорость генерации ответа при максимальном апгрейде и на
mxfp4квантизации ~115т/с
Пройдя весь этот путь в течение года я получил большой опыт как в сборке железа под локальные модели ИИ, точнее под LLM, так и в запуске этих самых моделей.
Однако, не стоит забывать что на данный момент (апрель 2026 года) облачный инференс значительно дешевле по финансам и умнее локального, в этом я убедился на своей практике в рабочих задачах. В обоих случаях есть свои издержки, в локальном инференсе нужно платить временем и финансами, а в облачном нужна “вера в приватность”. Найдутся сторонники и того и другого.
В своей работе DevOps-инженером я выяснил что модель gpt-oss-120b хорошо справляется как LLM в рабочих задачах, достаточно быстрая и умная. Так что подобные сборки имеют смысл в среде, где приватность важнее денег.
Что дальше? У меня есть сборка на AM4, Threadripper и я присматриваюсь к Epyc, хочется понять какую скорость инференса можно из этого выжать и в каком бюджете.
В своем телеграм-канале я выкладываю посты про мои исследования локального инференса. А у себя на сайте выкладываю инструкции.
Автор: Byurrer


