Бюджетный AI-сервер на майнинг-GPU: тест P104-100 для локальных LLM

👁 290 IVOL-Service

Бюджетный AI-сервер на майнинг-GPU: тест P104-100 для локальных LLM

TL;DR: Собрал inference-сервер на 2x P104-100 (8GB) за 5000₽. Qwen3-30B выдает 23 т/с, GPT-OSS-20B — 42 т/с. Ограничение до 120W почти не влияет на скорость. Окупается за 3-5 месяцев vs Claude API при объеме 2M+ токенов/мес.


Зачем мне локальные LLM?

Я автоматизирую бизнес-процессы через n8n и AI-агентов. API Claude/GPT отлично работают, но есть проблемы:

  • Счета растут: $50-100/мес при 3M токенов
  • Лимиты: Rate limits на пиковых нагрузках
  • Приватность: клиентские данные не хочется отправлять в облако
  • Эксперименты: спонтанные тесты промптов без оглядки на бюджет

Решение: собрать локальный сервер на дешевых GPU. Почему майнинг-карты? Нет видеовыходов = цена в 2-3 раза ниже gaming-аналогов при том же чипе. И ГЛАВНОЕ - ЦЕНА 2500 за 2 карты!


Железо: что у меня было

Базовый сервер (уже был в наличии):

  • CPU: 2x Intel Xeon E5-2699 v4 (44 физ. ядра, 88 потоков @ 2.20GHz)
  • RAM: 256GB DDR4
  • SSD: 1TB NVMe
  • PSU: 850W 80+ Gold

GPU Setup (тест 1):

  • 2x ASUS ROG Strix P104-100 (8GB GDDR5X)
  • Цена: 2500₽ за обе (Avito, б/у)
  • TDP: 180W на карту (штатный)

Почему P104:

  • Чип GP104 = GTX 1080 без видеовыходов
  • 8GB VRAM хватит для Qwen3-30B Q4 (17.3GB на 2 карты)
  • Драйвера: стандартные NVIDIA (Ubuntu 22.04, driver 535)
  • ЦЕНА

Софт: Ollama + модели

Установка (5 минут)

# Ubuntu 22.04
curl -fsSL https://ollama.com/install.sh | sh

# Проверка GPU
nvidia-smi
# Output: 2x P104-100, 8GB каждая

# Запуск Ollama
systemctl start ollama

Загрузка моделей

# Qwen3-30B (квантизация Q4_K_M)
ollama pull qwen3:30b-a3b-q4_K_M
# Размер: 17.3GB (распределяется на 2 карты)

# Qwen3-14B (для сравнения)
ollama pull qwen3:14b-q4_K_M
# Размер: 9GB (влезает на 1 карту)

# GPT-OSS-20B (мой фаворит)
ollama pull gpt-oss:20b

# Другие модели для тестов
ollama pull mistral-small:24b
ollama pull phi3:14b-medium-128k-instruct-q5_K_M

Оптимизация: ограничение мощности

Проблема: P104 при 180W греется до 80°C, кулеры на 100%.

Решение: снизить TDP до 120W через nvidia-smi:

# Ограничить до 120W (обе карты)
sudo nvidia-smi -pl 120 -i 0,1

# Проверка
nvidia-smi -q -d POWER
# Power Limit: 120W (default 180W)

Результат:

  • Температура: 65-70°C
  • Шум: на 40% тише
  • Скорость: просадка всего 5-10% (23→22 т/с на Qwen3-30B)

Результаты тестов

Основные модели

Модель VRAM Скорость (т/с) Примечание
Qwen3-30B-Q4_K_M 17.3GB 23 2 карты, быстрые ответы
Qwen3-14B-Q4_K_M 9GB 16 1 карта (вторая idle)
GPT-OSS-20B 12.8GB 42 ⭐️ Лучший баланс скорости/качества
Mistral-Small-24B 13.4GB 10 Медленнее, но хорошо для кода
Phi3-14B-Q5_K_M 9.4GB 15 Компактная

Что тестировал: промпт на креативность + код

Для оценки качества моделей использовал универсальный промпт, который проверяет:

  • Генерацию кода (алгоритм игры)
  • Креативность (фэнтези-история)
  • Обоснование решений (почему цикл, а не рекурсия)
  • Структурированность ответа

Промпт для теста

Ты - эксперт по алгоритмам и креативному мышлению. Вот задача:

Разработай простой алгоритм на Python для игры "Угадай число" (компьютер
загадывает число от 1 до 100, игрок угадывает с подсказками "больше/меньше").
Добавь креативный твист: после 5 попыток игра генерирует историю в стиле
фэнтези, где игрок - герой, а число - магический артефакт.

Обоснуй выбор структуры алгоритма (почему рекурсия или цикл?), протестируй
на примерах и объясни, как это демонстрирует баланс между эффективностью
и развлечением. Ответ должен быть на русском, длина - 250 слов.

Энергопотребление

# Измерено ваттметром
nvidia-smi dmon -s pucvmet
# GPU 0: 115W
# GPU 1: 118W
# CPU + RAM + SSD: ~150W
# Total: 380-400W

Стоимость электричества (Москва, ~5₽/kWh):

  • 400W * 24ч * 30 дней = 288 kWh/мес
  • 288 * 5₽ = 1440₽/мес

Практические кейсы

1. n8n автоматизация: анализ логов сервера

Workflow:

Trigger: Cron (каждый час)
↓
Read File: /var/log/nginx/error.log
↓
HTTP Request: http://localhost:11434/api/generate
  Body: {
    "model": "qwen3:30b-a3b-q4_K_M",
    "prompt": "Найди критические ошибки в логах и предложи решения:\n{{$json.logs}}",
    "stream": false
  }
↓
Filter: IF errors found
↓
Telegram: Отправить алерт в канал

Скорость: ~3-5 секунд на анализ 500 строк логов
Экономия: вместо $0.05/запрос (Claude) = $0/запрос

2. AI-помощник для кода

# CLI wrapper для Ollama
alias codegpt='ollama run gpt-oss:20b'

# Пример использования
codegpt "Напиши PHP функцию для парсинга CSV с проверкой на UTF-8"
# Ответ за 2-3 секунды, 42 т/с

3. Генерация контента для блога

Промпт:

Напиши пост для LinkedIn (200 слов) про автоматизацию тестирования API через n8n. 
Стиль: практичный, с примером кода. Аудитория: разработчики.

Результат (GPT-OSS-20B):

  • Генерация: 8 секунд
  • Качество: 8/10 (иногда нужна правка вручную)
  • Vs Claude 4.5: Claude значительно лучше, но для черновиков норм
  • С новыми моделями конечно не сравнить

Проблемы и решения

1. Ollama не видит вторую GPU

Симптом:

nvidia-smi
# Обе карты активны
ollama ps
# Только GPU 0 используется

Решение:

# Принудительно указать обе карты
export CUDA_VISIBLE_DEVICES=0,1
systemctl restart ollama

2. Overheating P104

Причина: старая термопаста, пыль в радиаторе

Решение:

  • Замена термопасты (Arctic MX-4)
  • Продувка сжатым воздухом
  • Результат: 80°C → 70°C при 180W

3. Драйверы для P104

Важно: P104 не для майнинга не работают с драйверами >470.x

# Проверка версии
nvidia-smi
# Driver Version: 535.183

# Если проблемы — откатить до 470
sudo apt install nvidia-driver-470

Сравнение с API

Стоимость (месяц, 3M токенов)

Вариант Стоимость Примечание
Claude 4.5 3M * $0.015 = $45 (4500₽) Лучшее качество
GPT-5 3M * $0.01 = $30 (3000₽) Баланс цены/качества
Локальный Qwen3-30B 1440₽ электр. + 5000₽ амортизация GPU (10 мес) = ~1900₽

Окупаемость железа:

  • Экономия: 4500₽ - 1900₽ = 2600₽/мес
  • Железо: 5000₽ / 2600₽ = 2 месяца (!!)

Качество (субъективно, на моих задачах)

Задача Claude 4.5 GPT-4 Qwen3-30B GPT-OSS-20B
Код (PHP/Python) 10/10 9/10 7/10 8/10 ⭐️
Анализ данных 10/10 9/10 8/10 7/10
Креатив (посты) 10/10 8/10 6/10 7/10
Русский язык 9/10 8/10 9/10 ⭐️ 7/10

Выводы

✅ Плюсы локальных LLM на P104

  1. Цена: 2500₽ за 2 карты = копейки для inference
  2. Скорость: 23-42 т/с достаточно для real-time автоматизаций
  3. Приватность: данные не уходят в облако
  4. Эксперименты: генерируй сколько хочешь, без оглядки на $$$
  5. Энергоэффективность: 120W/карту ≈ электрочайник

❌ Минусы

  1. Качество: Claude/GPT-4 лучше на сложных задачах (9/10 vs 7/10)
  2. Настройка: 2-3 часа на первый запуск (драйверы, Ollama, модели)
  3. Шум: даже при 120W кулеры слышны (решение: серверная комната)
  4. VRAM лимит: 8GB/карта = максимум Qwen3-30B Q4 (нет Q6/Q8)

Когда выбирать локально

  • ✅ Объем > 2M токенов/мес
  • ✅ Нужна приватность (клиентские данные, GDPR)
  • ✅ Много рутинных задач (логи, парсинг, генерация)
  • ✅ Есть сервер 24/7 (уже плачу за электричество)

Когда API лучше

  • ❌ Объем < 500k токенов/мес (API дешевле)
  • ❌ Нужно топовое качество (Claude 4.5 для клиентов)
  • ❌ Нет времени на настройку (API = 5 минут на регистрацию)

Что дальше?

Планы:

  1. Тест P102-100 (10GB) — обещают 2x скорость на Qwen3-30B
  2. Интеграция с n8n для клиентских проектов
  3. Fine-tuning Qwen3 на моих данных (промпты, код)

Хочешь повторить?

  • ищи на Авито P104-100 (карт полно, фильтр: 8GB, до 3000₽)
  • Мой Telegram: @oiv_an

Итого: P104-100 (8GB) за 2500₽ — отличный вход в локальные LLM. Qwen3-30B выдает 23 т/с, этого хватит для 90% автоматизаций. Окупается за 2 месяца vs Claude API. Рекомендую, если готов потратить пару часов на настройку.

Следующая статья: тест P102-100 (10GB) — посмотрим, действительно ли 2x быстрее и стоит ли доплачивать.


Время чтения: 7 мин
Всего слов: 1245
Обновлено: