В прошлый раз мы рассматривалилокальный инференс на бюджетных ноутбуках, а потом я попыталсязапустить gpt-oss-120b на трех видеокартах. Протестировав модель в рабочих задачах, я понял что она может стать заменой облачным провайдерам. Однако, уже тогда стало понятно что десктопные материнские платы и корпуса не могут вместить в себя 3RTX 3090. Поэтому я присмотрелся к майнерским решениям, где на материнских платах имеется большое количествоPCI-слотовс достаточным расстоянием между ними, и все это можно спрятать в просторный корпус. И вот что получилось в итоге:
Видео-вариант статьи можно посмотретьна youtube.
Я преследую цель подобрать потребительское железо для локального инференса, а так как все это делается на энтузиазме и финансирование из собственных средств, то речь идет о бюджетных вариантах, как минимум я стараюсь экономить.
По сути, эта статья отражает весь мой путь в сборке железа и запускаLLMв домашних условиях за год изысканий. А текущая конфигурация некая логически завершенная веха исследований. Мы пойдем коротким путем: рассмотрим несколько материнских плат для майнинга, протестиурем их, а одну прокачаем до максимума и в конце подсчитаем финансовые затраты. Излагать текст буду стараться в хронологическом порядке, чтобы соблюдать логику выводов.
Навигация по тексту:
- Модель для тестирования
- Видеокарты
- Комплект: корпус + ETH B75 + БП
- Плата H510 Pro BTC+
- Еще одна RTX 3090 и новый БП
- Как ускорить загрузку модели?
- Финальный апгрейд: CPU + RAM + БП
- Какова цена?
- Итог
Модель для тестирования
Как я писал выше, меня интересовал локальный инференс моделиgpt-oss-120b. Все тесты ниже проводились на модели отUnsloth с квантизацией Q8_K_XL, если не указано иное. Понятно, что этоMoE-модель, а у таких моделей скорость деградирует при заполнении контекста, поэтому мерить будем начальную скорость.
Запуск моделей черезllamacppподробно описалв этой инструкции, дальше тесты будут без тюнингов дополнительных параметров.
УстановкуNVIDIA-драйвераможно посмотретьздесь, все тесты будут запускаться на версии580.82.07.
Тестовый запрос на скорость инференса:
Напиши полный код приложения рендера треугольника при помощи vulkan на go.
Видеокарты
Пожалуй, это основа дляLLM, поэтому сразу затронем этот вопрос.
Моя первая картаTesla P40 с кастомной системой охлаждения(даташит) (пост в тг), на которой я проводилпервые длительные тесты ИИ в работе. Потребляет всего250 Вт, имеет разъем питанияCPU. В ширину занимает 2PCI-слота.
После этого приобрелRTX 3090 TIотKFA2(пост в тг), разъем питания12+4 pin. Стоковое потребление450Вт, но на практике не более360Вт, а максимальное480Вт. В ширину занимает чуть больше чем 3PCI-слота.
Затем купилAsus Rog String RTX 3090с тремяPCI-разъемами. Стоковое потребление390Вт, а максимальное480Вт, и она действительно может столько потреблять. В ширину занимает 3PCI-слота.
Большая часть материала ниже будет использовать 3 вышеперечисленные карты. Но дабы понять сколько можно выжать максимально я приобрел третьюRTX 3090Gigebyte 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от неизвестного производителя. На ней 8PCI-слотови на каждом по однойPCI-линии. СокетLGA 1155поддерживает процессорыIntel Coreвторого и третьего поколений. В моем случае на плате уже стоял двухядерныйIntel Celeron G1610с частотой2.6ГГц.
На борту только 1 разъем для плашки памятиDDR3SO-DIMM. Сетевой порт на100Mb/s, это мало для скачивания моделей ИИ, приходится долго ждать. Питание на плату подается отPCI-коннектора.
Блок питания оказался очень шумным, вентилятор всегда крутит на 100%, что не подходит для домашнего использования. Однако, количество питающих кабелей в избытке: 8 раздвоенныхPCI-кабелейи 1CPU.
Обладая полной уверенностью в успехе затеи, я перекинул все оборудование с хуанана на платуETH B75.
К моему сожалениюTesla P40отказалась работать на 1PCI-линии, карта определяется системой, но драйвер ее не видит. Поиски в интернетах натолкнули на мысль, что эта карта не может работать на одной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. Вся периферия включая 5PCI-слотов,SATAи диск черезm2идут черезDMIчипсета, который ограничен скоростьюPCIe 3.0на 4 линии, а это~4 GB/s. Схематично это выглядит так (здесь и далее скорости указаны упрощенно):
При таком подключении происходит двойная нагрузка на пропускную способностьDMIчипсета платы. Профита отm2тоже ждать не стоит, потому что даже в описании платы написано что он поддерживаетрежим SATA3 6 Гбит/с, тем более чтоm2будет гонять данные черезDMI. К тому жеm2у меня не завелся, ни с переходником наPCI-слот, ни напрямую.
Ускорение мы сможем получить если снизим нагрузку наDMI, для этого нам нужно вынести чтение данных, например на первыйPCI-слоткоторый 16-ю линиями идет напрямую наCPUпо такой схеме:
Я перенес все данные моделей ИИ на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Вт.
А чтобы закрыть крышку корпуса и при этом не согнуть провода я купил угловые коннекторы:
Какова цена?
Настало время подсчитать во сколько вся эта сборка может обойтись:
Цена (руб)
Примечание
Плата ETH B75 не подходит для инференса, БП True Miner не для домашнего использования
Плата H510 Pro BTC+ и Celeron G5905 + ОЗУ 8GB 2400MHz
CPU и RAM можно не апгрейдить, профит незначительный
Блок питания Azerty на 1200W
Azerty Red Power 1050W не в счёт, в итоговой сборке не используется
Диск SSD на 512GB
Цена взята с Ozon
Итого (без видеокарт)
Без последнего апгрейда
RTX 3090 × 3 (одна в среднем 60000)
Tesla P40 не в счёт, в итоговой сборке не используется
Итого вся сборка
Не считая мелочей (кабели, коннекторы и т.д.), промежуточные траты (ОЗУ, CPU i5)
Если вы сразу перешли в этот раздел, то вот вам результаты:
- загрузка моделиgpt-oss-120bразмером64.4гб~2 минуты
- скорость генерации ответа~100т/с(цена сборки: 202к рублей)
- скорость генерации ответа при максимальном апгрейде и наmxfp4квантизации~115т/с
Пройдя весь этот путь в течение года я получил большой опыт как в сборке железа под локальные модели ИИ, точнее подLLM, так и в запуске этих самых моделей.
Однако, не стоит забывать что на данный момент (апрель 2026 года) облачный инференс значительно дешевле по финансам и умнее локального, в этом я убедился на своей практике в рабочих задачах. В обоих случаях есть свои издержки, в локальном инференсе нужно платить временем и финансами, а в облачном нужна “вера в приватность”. Найдутся сторонники и того и другого.
В своей работе DevOps-инженером я выяснил что модельgpt-oss-120bхорошо справляется какLLMв рабочих задачах, достаточно быстрая и умная. Так что подобные сборки имеют смысл в среде, где приватность важнее денег.
Что дальше? У меня есть сборка наAM4,Threadripperи я присматриваюсь кEpyc, хочется понять какую скорость инференса можно из этого выжать и в каком бюджете.
В своемтелеграм-каналея выкладываю посты про мои исследования локального инференса. А у себяна сайтевыкладываю инструкции.