Что за стенд на 223 ГБ VRAM собрал negus123
Пользователь negus123 опубликовал в r/LocalLLaMA описание четырёх отдельных ПК, которые суммарно дают 223 ГБ видеопамяти (исходный пост). Сумма здесь важнее, чем кажется: это четыре независимые машины, а не один корпус с общим пулом памяти. Внутри каждой системы своя материнская плата, свой блок питания, свой набор драйверов и свой стек ускорителей.
Конфигурации такие: Ryzen 9600X с двумя CMP 170HX, Ryzen 5700 с пятью Vega 56, Intel i7 9700 с RTX 3070 и 2080 Ti, Ryzen 7500X3D с 7900 XTX и двумя 5600 XT. В каждой машине по 32 ГБ оперативной памяти в двухканальном режиме: DDR5 в первой и четвёртой, DDR4 во второй и третьей.
Практический смысл набора простой: получить десятки и сотни гигабайт VRAM из железа, которое стоит заметно меньше современных профессиональных карт. Плата за это известна заранее: разнородные GPU, разная пропускная способность, разные драйверные стеки и ручная балансировка моделей. В посте нет ни списка задач, ни замеров энергопотребления, ни результатов бенчмарков, поэтому дальше речь идёт о разборе подхода и его инженерных ограничений, а не об обзоре готового решения.
Четыре системы в одной таблице
| Система | CPU | RAM | GPU |
|---|---|---|---|
| 1 | Ryzen 9600X | 32 ГБ DDR5, 2 канала | 2× CMP 170HX |
| 2 | Ryzen 5700 | 32 ГБ DDR4, 2 канала | 5× Vega 56 |
| 3 | Intel i7 9700 | 32 ГБ DDR4, 2 канала | RTX 3070 + RTX 2080 Ti |
| 4 | Ryzen 7500X3D | 32 ГБ DDR5, 2 канала | 7900 XTX + 2× 5600 XT |
Объёмы по отдельным картам автор не расписывает, но арифметика 223 ГБ сходится только в одном варианте с заводскими объёмами памяти. Пять Vega 56 по 8 ГБ дают 40 ГБ, RTX 3070 добавляет 8 ГБ, 2080 Ti добавляет 11 ГБ, 7900 XTX добавляет 24 ГБ, две 5600 XT добавляют 12 ГБ. В сумме это 95 ГБ, значит на две CMP 170HX остаётся 128 ГБ, то есть по 64 ГБ на карту. Штатные CMP 170HX шли с 8 ГБ, так что в стенде стоят модифицированные версии, какие именно и откуда берутся, разбирается в отдельном материале (про CMP 170HX на 64 ГБ). Реконструкция остаётся реконструкцией: точно узнать расклад можно только у автора поста.
Ключевое уточнение по смыслу цифры 223 ГБ. Это арифметическая сумма видеопамяти всех карт во всех четырёх машинах, а не единый адресуемый пул. Одна модель целиком в такой пул не «зальётся» автоматически: придётся либо делить её по слоям, либо запускать отдельные модели на отдельных машинах.
Почему такая сборка вообще возможна
Технически ничего экзотического в четырёх ПК нет. Каждая система собирается из обычных комплектующих, а карты подключаются либо в слоты PCIe, либо через райзеры. Проблема не в существовании такой сборки, а в линиях PCIe и питании.
У пяти Vega 56 в одной машине пять физических слотов, которых на потребительской плате нет. Ryzen 5700 на AM4 даёт от процессора 24 линии PCIe, и без разделителей и райзеров пять карт туда не подключить. Первая и четвёртая системы выигрывают в другом: у Ryzen 9600X и Ryzen 7500X3D есть встроенная графика, поэтому CMP-карты без видеовыходов не мешают загрузке и отладке. Блоки питания тоже считаются отдельно по каждой машине: пять Vega 56 это уже около киловатта только по паспортным TDP.
Софт относится к разнородности спокойно ровно до определённого предела. llama.cpp умеет делить модель по слоям между устройствами и может собрать в одном процессе бэкенды CUDA, ROCm и Vulkan, хотя баланс между картами подбирается вручную. Связка четырёх машин в один инференс тоже возможна через RPC-режим. А вот vLLM с тензорным параллелизмом рассчитан на однородную группу карт и обмен через NCCL, поэтому смешивать в одной такой группе Nvidia и AMD не получится.
Зачем дома 223 ГБ VRAM: какие задачи требуют десятков гигабайт
Большинству домашних сценариев хватает 24 ГБ. Модели 7-14B в квантизации Q4 живут и на 8-12 ГБ, 27-35B укладываются в 24 ГБ с запасом на короткий контекст. Порог, за которым объём начинает определять не скорость, а саму возможность запуска, лежит выше.
Крупные LLM и MoE-модели
Размер весов считается просто: число параметров умножается на разрядность квантизации и делится на 8. Модель на 70 млрд параметров в Q4 занимает около 35 ГБ только под веса, с накладными расходами квантователя ближе к 38-40 ГБ, в Q8 уже около 70 ГБ. Модель на 405 млрд параметров в Q4 требует порядка 200 ГБ, и это без KV-кэша и служебных буферов. Именно здесь 223 ГБ перестают выглядеть избыточными.
MoE-архитектуры устроены иначе. Общее число параметров у них большое, а на каждый токен активируется лишь часть экспертов. Для модели уровня DeepSeek-V3 с 671 млрд общих параметров и десятками миллиардов активных вес всё равно нужно держать в памяти целиком, поэтому требования к VRAM определяются полным набором экспертов, а не активной частью. Вычисления при этом обходятся дешевле, чем у плотной модели того же размера, и это главная причина, по которой MoE так популярны для локального запуска. Часть экспертов можно вынести на CPU через offload, но тогда узким местом становится пропускная способность системной памяти.
Длинный контекст и RAG
KV-кэш растёт линейно с длиной контекста и занимает отдельную память помимо весов. Для плотной модели класса 70B с 80 слоями, 8 KV-головами и размерностью головы 128 один токен контекста в FP16 занимает около 0,3 МБ. На окне в 128 тысяч токенов это порядка 40 ГБ дополнительно. Отсюда простое правило: длинный контекст удваивает и утраивает требования к VRAM, даже если сама модель помещается в одну карту без проблем.
RAG сам по себе память не съедает: векторный индекс обычно живёт на диске или в оперативной памяти, а в VRAM попадают только модель, эмбеддер и реранкер. Другое дело, что эмбеддер и реранкер часто держат загруженными постоянно, и их гигабайты складываются с памятью основной модели.
Файнтюнинг и одновременный инференс
Обучение требует больше памяти, чем инференс, из-за состояний оптимизатора и активаций. LoRA на модель 70B не влезет в одну потребительскую карту, но QLoRA с квантизацией базовых весов снижает порог настолько, что задача становится решаемой на 24-48 ГБ. Полный файнтюнинг без адаптеров на таких объёмах не обсуждается вообще.
Второй сценарий, оправдывающий большой пул, это одновременная работа нескольких моделей. Связка «основная LLM плюс эмбеддер плюс реранкер плюс модель для vision» суммирует потребление, и на одной карте всё это начинает вытеснять друг друга. Разнести модели по разным машинам проще, чем ужимать их в один GPU, и именно распределённая архитектура стенда negus123 под такой сценарий подходит лучше всего.
Разбор четырёх систем: что даёт каждая карта
CMP 170HX: специализированная карта с HBM2e
CMP 170HX построена на чипе GA100 с памятью HBM2e и лишена видеовыходов, изначально её выпускали для майнинга. В штатном виде это карта с 8 ГБ, но на вторичном рынке есть перепаянные версии на 64 ГБ, и в стенде negus123 стоят, судя по арифметике, именно они. Две такие карты дают 128 ГБ из 223, то есть больше половины всей памяти.
Ограничения у этого решения серьёзные. Драйверы и совместимость с инференс-стеком зависят от партии и прошивки, интерфейс обычно урезан по линиям PCIe, NVLink отсутствует. Гарантий и сервиса нет, а цена ошибки при покупке перепаянной карты равна её полной стоимости. Для задач, где нужен большой объём под веса MoE-модели, это самый дешёвый гигабайт VRAM на рынке, но порог входа в виде проверки совместимости и питания довольно высокий.
Vega 56: пять карт и ограничения ROCm
Пять Vega 56 по 8 ГБ HBM2 дают 40 ГБ, и это самая «многочисленная» часть стенда. Архитектура GCN 5 поддерживается в ROCm исторически, но новые версии стека постепенно снимают поддержку старых карт, поэтому рассчитывать на свежий PyTorch из коробки не стоит. Придётся либо подбирать версию ROCm, либо идти через Vulkan-бэкенд llama.cpp.
Практические издержки тоже заметны: пять карт это пять слотов, пять райзеров, около 1050 Вт по паспортным TDP и отдельная задача по обдуву. Производительность на токен в секунду у такой группы будет низкой из-за возраста архитектуры, поэтому Vega 56 здесь имеет смысл рассматривать как хранилище слоёв для моделей, которые иначе не запустятся вовсе.
RTX 3070 и 2080 Ti: знакомый CUDA, но мало памяти
Третья система собрана на 8 ГБ RTX 3070 и 11 ГБ RTX 2080 Ti, суммарно 19 ГБ. По удобству работы это самый беспроблемный узел стенда: CUDA, зрелые драйверы, полная поддержка llama.cpp, exllama и большинства инструментов квантования. Проблема одна и она в объёме: 19 ГБ хватает на модели среднего размера в Q4, а на крупные веса не остаётся места.
Роль этой машины в общей картине понятна: она закрывает повседневные задачи и служит точкой входа в стек, пока остальные системы держат тяжёлые модели. Плюс 2080 Ti в формате 22 ГБ существует как модификация, но в исходном посте объёмы карт не раскрыты, поэтому точный вклад системы 3 в общие 223 ГБ остаётся предположением.
7900 XTX и 5600 XT: 24 ГБ и 6 ГБ на одной системе
Четвёртая система даёт 36 ГБ: 7900 XTX с 24 ГБ GDDR6 и две 5600 XT по 6 ГБ. 7900 XTX хорошо поддержана в ROCm, имеет высокую пропускную способность памяти и способна тянуть инференс самостоятельно, без соседей. Карты 5600 XT построены на RDNA1 и официально не входят в матрицу поддерживаемых ROCm ускорителей, поэтому их вклад чаще сводится к размещению части слоёв через Vulkan или к роли вспомогательной памяти.
Главная сложность такой связки в разной скорости карт. Когда модель делится между 7900 XTX и двумя 5600 XT, каждая карта ждёт остальные, и темп задаёт самый медленный ускоритель. Прибавка 12 ГБ памяти покупается ценой просадки скорости на всех слоях, которые проходят через слабые карты.
Как распределяются модели между разнородными GPU
223 ГБ существуют как сумма, а не как единое адресное пространство. Чтобы модель действительно работала на всём этом железе, её нужно разделить, и способ разделения определяет, получите вы ускорение или разочарование.
Tensor parallelism и pipeline parallelism
Тензорный параллелизм режет внутри одного слоя: матрицы весов делятся между картами, и каждая считает свою часть, после чего результаты синхронизируются. Такой подход требует очень быстрого обмена между GPU, поэтому он хорошо работает на однородных картах, соединённых NVLink или хотя бы полноценным PCIe x16. На разнородной сборке он превращается в генератор простоев.
Конвейерный параллелизм делит модель по слоям: первая карта считает первые слои и передаёт результат следующей. Обменов меньше, требования к интерфейсу ниже, и именно этот вариант реалистичен для стенда из старых и новых карт разных вендоров. Схема с KV-кэшем, PCIe x8 и вытеснением части экспертов на CPU разобрана в материале про сборку на двух Radeon AI PRO R9700 (как считать VRAM и KV-кэш под конкретную модель).
llama.cpp, vLLM и другие фреймворки
llama.cpp наиболее дружелюбен к разнородному железу: ключ -ts задаёт пропорции распределения слоёв между устройствами, поддерживаются CUDA, ROCm, Vulkan, Metal и SYCL, а RPC-бэкенд позволяет собрать в один инференс несколько физически разных машин. Это ровно тот сценарий, для которого построены четыре ПК negus123.
vLLM даёт высокую пропускную способность на однородных группах, но требует одинаковых карт в группе тензорного параллелизма и корректно работающего NCCL. Смешать в одной такой группе Nvidia и AMD штатно не получится. ExLlamaV2 хорош на одной или нескольких однотипных картах с большим объёмом, но на зоопарке из Vega, CMP и RDNA он не является рабочим вариантом.
Узкие места: PCIe, NVLink и пропускная способность
Ни на одной карте этого стенда нет NVLink, а значит весь обмен идёт через PCIe. На потребительских платформах слоты часто делятся до x8 или x4, и это напрямую бьёт по скорости конвейера. Пропускная способность памяти у карт тоже разная: HBM2e у CMP 170HX, HBM2 у Vega 56, GDDR6 у 7900 XTX и GDDR6 у младших карт. Самая медленная карта задаёт темп для всей цепочки.
Отсюда практическое следствие: 223 ГБ не означают линейного роста производительности. Они означают, что модель запустится, а не отправится в offload на системную память. Скорость генерации при этом будет определяться слабейшим звеном и качеством балансировки.
Практическая сторона: энергопотребление, охлаждение, шум и стоимость
Замеров от автора сборки нет, поэтому дальше только паспортные TDP карт и арифметика на их основе. Реальные цифры из розетки зависят от профилей питания, даунвольтинга и загрузки, и обычно оказываются ниже пиковых значений при инференсе.
Сколько ватт и тепла даёт такой стенд
| Карта | Паспортный TDP | Количество | Суммарно |
|---|---|---|---|
| CMP 170HX | порядка 180-250 Вт | 2 | 360-500 Вт |
| Vega 56 | около 210 Вт | 5 | 1050 Вт |
| RTX 3070 | около 220 Вт | 1 | 220 Вт |
| RTX 2080 Ti | около 250 Вт | 1 | 250 Вт |
| 7900 XTX | около 355 Вт | 1 | 355 Вт |
| 5600 XT | около 150 Вт | 2 | 300 Вт |
Только по видеокартам выходит порядка 2,5-2,7 кВт под полной нагрузкой. Добавьте к этому четыре процессора, платы, накопители и вентиляторы, и общая цифра приближается к 3 кВт. Это сопоставимо с бытовым обогревателем, и проводка в обычной квартире такое не всегда тянет: нужны отдельные линии и понимание, что четыре блока питания будут включены одновременно.
Шум и охлаждение в домашних условиях
Тепло тут не абстракция. Пять Vega 56 в одном корпусе выделяют больше киловатта, и рассеять его в жилой комнате без шума не получится. CMP-карты рассчитаны на серверный продув и в обычном корпусе требуют дополнительного обдува, а не штатных вентиляторов корпуса. Практика подобных сборок описана в разборе апгрейда домашнего сервера на Supermicro с пассивными Tesla (про охлаждение пассивных карт и экономику 64 ГБ VRAM).
Вариантов размещения немного: отдельная комната, гараж, кладовка с вытяжкой. В жилом помещении стенд придётся либо душить по мощности, либо терпеть постоянный гул. Водяное охлаждение на пять старых карт технически возможно, но по стоимости и трудозатратам оказывается отдельным проектом.
Стоимость владения и электричество
Считать просто, но результат зависит от тарифа. Стенд на 2,5 кВт, работающий 8 часов в сутки, съедает 20 кВт·ч в день. При тарифе 5 рублей за кВт·ч это 100 рублей в день и около 3000 рублей в месяц. При тарифе 8 рублей и круглосуточной работе счёт уходит за 15 000 рублей в месяц, что уже сопоставимо с арендой облачного GPU на несколько десятков часов.
К электричеству добавляются неочевидные расходы: замена вышедших из строя б/у карт, время на настройку драйверов и балансировку слоёв, потерянное на экспериментах. Для энтузиаста это часть хобби, для рабочего инструмента это статья затрат, которую нужно считать заранее.
Альтернативы: одна современная карта или облако
Одна карта с большим объёмом памяти
RTX 5090 предлагает 32 ГБ GDDR7, RTX 6000 Ada даёт 48 ГБ, а профессиональные карты нового поколения доходят до 96 ГБ. Разница с мульти-GPU стендом в предсказуемости: одна карта, один драйвер, никакой балансировки, весь объём доступен сразу. 48 ГБ закрывают большинство домашних сценариев, включая модели 70B в Q4 с умеренным контекстом и 27-35B с длинным. Про обратную сторону вопроса, дефицит и цены на профессиональные ускорители, мы писали отдельно (почему RTX 6000 дорожает и как проверять вторичные покупки).
Отдельно стоит учесть Apple Silicon с объединённой памятью: там доступны большие объёмы в одном устройстве, но пропускная способность памяти ниже, чем у дискретных карт с HBM.
Аренда облачных GPU
RunPod, Vast.ai, Lambda и подобные сервисы дают доступ к современным ускорителям без капитальных затрат: платите за часы работы. Схема удобна для разовых задач, файнтюнинга, тестирования моделей и пиковых нагрузок. Тарифы у площадок меняются постоянно, поэтому считать нужно по актуальному прайсу конкретного провайдера, а не по цифрам из старых обзоров.
Обратная сторона: данные уходят наружу, зависимость от интернета, а при постоянной загрузке расходы растут линейно и довольно быстро обгоняют домашний стенд. Для круглосуточного инференса облако редко оказывается дешевле.
Гибридный подход
Рабочая компромиссная схема: повседневные задачи и чувствительные данные остаются на домашнем железе, а тяжёлые разовые прогоны и обучение отправляются в облако. Такой вариант требует навыков работы с двумя окружениями и аккуратной организации данных, зато снимает необходимость держать 3 кВт в комнате ради нескольких запусков в месяц.
Когда сборка из нескольких старых GPU оправдана, а когда нет
Чек-лист: стоит ли собирать мульти-GPU стенд
- Есть задачи, которые не помещаются в 48 ГБ VRAM даже в Q4. Если нет, весь смысл затеи исчезает.
- Есть доступ к дешёвым б/у картам или специализированным ускорителям по цене ниже рыночной. Розничная закупка старых карт экономию убивает.
- Есть отдельное помещение с вентиляцией и проводкой под 3 кВт. В жилой комнате стенд превращается в источник дискомфорта.
- Скорость генерации не критична. Если нужны десятки токенов в секунду на большой модели, мульти-GPU из старых карт даст заметно меньше.
- Есть время и желание возиться с драйверами, версиями ROCm и ручным распределением слоёв.
- Готовность к тому, что часть карт выйдет из строя и потребует замены, а гарантии не будет.
Риски и подводные камни
- Несовместимость драйверов: разные поколения карт одной системы требуют разных версий CUDA или ROCm, и найти общую версию не всегда получается.
- Отказ б/у карт: майнинговые ускорители и старые игровые карты выходят из строя без предупреждения, а замена может оказаться дороже плановой.
- Охлаждение и шум: пассивные и серверные карты требуют продува, которого в жилом корпусе нет.
- Обновление ПО: новая версия фреймворка может потерять поддержку старых архитектур, и стенд перестанет запускаться без отката версий.
- Иллюзия единого пула: 223 ГБ не превращаются в одну большую карту, и часть памяти может простаивать, если мощности питания или охлаждения не позволяют держать все карты под нагрузкой одновременно.
Итог: кому подходит такой подход
Стенд negus123 решает одну конкретную задачу: получить очень большой объём VRAM за небольшие деньги, расплачиваясь сложностью, шумом, энергопотреблением и непредсказуемостью железа. Подход осмысленный для технически подкованного энтузиаста, у которого есть дешёвый доступ к картам, отдельное помещение и задачи, не влезающие в 48 ГБ.
Для большинства практических сценариев выгоднее выглядит одна современная карта с 32-48 ГБ или аренда GPU на часы. Если же цель именно в объёме, а не в скорости, имеет смысл повторить путь negus123 в усечённом виде: сначала одна машина с двумя крупными картами, затем расширение по мере появления реальных задач, требующих больше памяти. Перед покупкой посчитайте свои прогоны за месяц и сравните их стоимость в облаке со счётом за электричество от 3 кВт стенда, эта цифра обычно расставляет всё по местам быстрее любых технических аргументов.