Проблема: Мощный AI-инференс не должен стоить как автомобиль
Если вы читали мою предыдущую статью "Собрал ферму из 6 б/у видеокарт", то знаете: доступ к вычислительным ресурсам для работы с большими языковыми моделями — это главная боль сообщества. Современные модели вроде Qwen2.5-32B или GLM-4.5 требуют десятки гигабайт VRAM для комфортной работы. Промышленные решения недоступны для большинства энтузиастов и небольших команд.
Ключевая мысль: Для инференса LLM критически важна не столько вычислительная мощность (TFLOPS), сколько объём VRAM и возможность распределить модель между несколькими GPU. Именно это позволяет загружать большие модели целиком, избегая медленного свопа на SSD или RAM.
В статье "Собираем ПК для локальных LLM за копейки" я уже показывал, как собрать систему на 3× RTX 3090. Но что делать, если бюджет ещё скромнее, а хочется именно 4 GPU для экспериментов с параллелизацией и распределёнными вычислениями?
Решение: Платформа X299 — забытая жемчужина для многокарточных сборок
Современные материнские платы для потребительских процессоров (LGA 1700, AM5) имеют серьёзные ограничения: обычно 1-2 полноценных PCIe x16 слота, остальные — x4 или x1 через чипсет. Для 4 GPU это катастрофа.
Платформа Intel X299 (сокет LGA 2066), выпущенная в 2017 году, предлагает уникальные возможности:
- До 44 линий PCIe от процессора (против 20 у современных Core i7/i9)
- Поддержка 4-х слотов PCIe x16/x8/x8/x8 в конфигурации Quad-GPU
- Сравнительно низкая цена на б/у компоненты
- Поддержка до 256 ГБ RAM (8 слотов DDR4)
Полная спецификация сборки
| Компонент | Модель | Примерная цена | Примечание |
|---|---|---|---|
| Материнская плата | ASUS Prime X299-A | 300 € | Б/у, с гарантией продавца |
| Процессор | Intel Core i9-10900X | 250 € | 10 ядер, 44 PCIe lanes |
| Оперативная память | 4×16GB DDR4 3200MHz | 120 € | Важно: 4 канала для X299 |
| Видеокарты | 4×RTX 3060 12GB | 800 € | Б/у с майнинговых ферм |
| Блок питания | Seasonic PRIME TX-1300 | 250 € | 1300W, 80+ Titanium |
| Корпус | Fractal Design Meshify 2 XL | 200 € | Поддержка E-ATX, хорошая вентиляция |
| Системный SSD | Samsung 980 Pro 1TB | 80 € | Для ОС и моделей |
| Итого | ~2000 € | Цена одной RTX 4090 |
Важно: RTX 3060 12GB выбраны не случайно. Они предлагают лучший баланс цены и объёма памяти. 4 карты = 48 ГБ VRAM — достаточно для большинства 70B моделей в 4-битном квантовании. Альтернатива — RTX 3080 10GB (40 ГБ суммарно) или RTX 4060 Ti 16GB (дороже).
Пошаговый план сборки
1 Подготовка и проверка компонентов
Перед сборкой обязательно проверьте все компоненты по отдельности:
- Протестируйте материнскую плату с минимальной конфигурацией (процессор, 1 планка RAM)
- Каждую видеокарту проверьте в отдельном ПК на стабильность (FurMark 15 минут)
- Измерьте реальное энергопотребление одной карты под нагрузкой
- Убедитесь, что блок питания имеет достаточно кабелей PCIe (8×8-pin для 4 карт)
2 Установка компонентов в корпус
Порядок имеет значение:
# Мысленный чеклист перед сборкой:
1. Установить материнскую плату в корпус
2. Установить процессор и кулер (рекомендую Noctua NH-D15)
3. Установить RAM в слоты A1, B1, C1, D1 (четырёхканальный режим)
4. Проложить кабели блока питания к материнской плате
5. Установить SSD в M.2 слот под радиатором
3 Установка видеокарт и настройка BIOS
Критически важный этап:
- Установите видеокарты в слоты PCIEX16_1, PCIEX16_2, PCIEX16_3, PCIEX16_5
- Включите систему и зайдите в BIOS (клавиша Del при загрузке)
- Настройте параметры PCIe:
- Above 4G Decoding: Enabled (обязательно!)
- PCIe Speed: Gen3 (для стабильности с б/у картами)
- PCIe Slot Configuration: x8/x8/x8/x8
- Сохраните настройки и перезагрузитесь
4 Установка ОС и драйверов
Рекомендую Ubuntu 22.04 LTS для стабильности:
# После установки Ubuntu:
sudo apt update
sudo apt upgrade -y
# Установка драйверов NVIDIA
sudo apt install nvidia-driver-535 -y
# Проверка установки
nvidia-smi
# Должны увидеть все 4 GPU с правильными названиями
5 Настройка окружения для LLM
Установите необходимые инструменты:
# Установка Python и базовых пакетов
sudo apt install python3-pip python3-venv -y
# Создание виртуального окружения
python3 -m venv ~/llm_env
source ~/llm_env/bin/activate
# Установка PyTorch с поддержкой CUDA 12
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# Установка llama.cpp с поддержкой CUDA
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_CUBLAS=1 -j$(nproc)
# Проверка multi-GPU
python3 -c "import torch; print(f'GPUs: {torch.cuda.device_count()}'); [print(f'GPU {i}: {torch.cuda.get_device_name(i)}') for i in range(torch.cuda.device_count())]"
Тестирование и оптимизация
После сборки необходимо провести комплексное тестирование:
Тепловой тест
Запустите стресс-тест всех GPU одновременно:
# Установка утилиты для стресс-теста
sudo apt install stress-ng -y
# Тест всех GPU (5 минут)
nvidia-smi -i 0,1,2,3 -l 1 --query-gpu=timestamp,name,temperature.gpu,power.draw --format=csv
# Параллельно запустите:
stress-ng --cpu 10 --timeout 300
Целевые показатели:
- Температура GPU под нагрузкой: 70-80°C (максимум 85°C)
- Температура VRAM: не более 95°C (используйте HWiNFO в Windows для проверки)
- Потребление системы: 800-1000W под полной нагрузкой
Тест производительности с реальными моделями
Протестируйте систему на реальных задачах. Я использовал следующие модели:
| Модель | Квантование | VRAM | Tokens/sec | Примечание |
|---|---|---|---|---|
| Qwen2.5-7B | Q4_K_M | ~5 GB | 45-55 | На одной карте |
| Qwen2.5-32B | Q4_K_M | ~22 GB | 18-25 | Распределена на 2 GPU |
| Llama 3.1 70B | Q4_K_M | ~42 GB | 8-12 | Распределена на 4 GPU |
Результат: Система успешно запускает 70B модели с приемлемой скоростью генерации (8-12 токенов/сек). Для сравнения: одна RTX 4090 даёт 15-20 токенов/сек на той же модели, но стоит в 2 раза дороже всей нашей сборки.
Распространённые проблемы и их решения
Проблема 1: Система не видит все 4 GPU
Решение:
- Проверьте настройки BIOS (Above 4G Decoding должен быть Enabled)
- Обновите BIOS материнской платы до последней версии
- Попробуйте разные комбинации слотов PCIe
- Проверьте питание (каждая карта должна иметь отдельный кабель от БП)
Проблема 2: Перегрев нижних видеокарт
В плотной конфигурации 4 GPU температура нижних карт может быть на 10-15°C выше. Решение:
- Установите дополнительные вентиляторы на вдув снизу корпуса
- Используйте карты с эффективной системой охлаждения (3-слотовые)
- Настройте агрессивную кривую вентиляторов через nvidia-settings
- Рассмотрите вариант с модифицированными backplate с теплопроводящей пастой
Проблема 3: Нестабильность при полной нагрузке
Решение:
# Ограничение мощности GPU для стабильности
sudo nvidia-smi -pl 150 # Установить лимит 150W на все карты
# Или для каждой карты отдельно
sudo nvidia-smi -i 0 -pl 140
sudo nvidia-smi -i 1 -pl 140
sudo nvidia-smi -i 2 -pl 140
sudo nvidia-smi -i 3 -pl 140
Альтернативные конфигурации
В зависимости от бюджета и задач, рассмотрите варианты:
| Бюджет | Конфигурация | Суммарный VRAM | Для каких моделей |
|---|---|---|---|
| 1500 € | 4×RTX 3060 12GB | 48 GB | До 32B в FP16, 70B в 4-bit |
| 2500 € | 4×RTX 4060 Ti 16GB | 64 GB | 70B в FP16, 120B+ в 4-bit |
| 3000 € | 2×RTX 4090 + 2×RTX 3060 | 72 GB | Максимальная производительность |
Сравнение с другими подходами
В статье "Стратегии масштабирования локальных LLM" я подробно разбирал разные подходы. Наша сборка занимает золотую середину между:
- Одной мощной картой (RTX 4090/5090) — выше производительность на одной модели, но меньше общий VRAM
- Серверным решением (например, из статьи "Запуск современных LLM на старом железе") — больше стабильности, но выше цена и энергопотребление
- CPU-инференсом (как в гайде по CPU+RAM инференсу) — дешевле, но в 10-20 раз медленнее
Итог: Стоит ли игра свеч?
Сборка бюджетной 4-GPU фермы на платформе X299 — это оптимальное решение для:
- Исследователей и энтузиастов, которые хотят экспериментировать с большими моделями
- Небольших команд, разрабатывающих AI-приложения с ограниченным бюджетом
- Образовательных целей — изучение распределённых вычислений и оптимизации LLM
Предупреждение: Эта сборка требует технических навыков. Если вы никогда не собирали ПК, начните с более простых конфигураций из статьи "Можно ли запустить локальную LLM на 10 ГБ видеопамяти?"
Общая стоимость сборки ~2000 евро сопоставима с ценой одной RTX 4090, но предлагает в 2 раза больше VRAM и возможность параллельной работы с несколькими моделями. При грамотной настройке и оптимизации такая система становится мощным инструментом для работы с локальными LLM.
Если у вас остались вопросы или есть опыт сборки подобных систем — делитесь в комментариях. В следующей статье разберём оптимизацию распределённого инференса и тонкую настройку vLLM для работы с несколькими GPU.