Тест P102-100 (10GB): в 2 раза быстрее P104 почти за те же деньги)

👁 217 IVOL-Service

TL;DR: Поменял 2x P104-100 (8GB) на 2x P102-100 (10GB) по 2500₽/карта. Qwen3-30B — 49 т/с (было 23), GPT-OSS — 52 т/с (было 42). Разница колоссальная: в 2x быстрее при том же энергопотреблении. Claude 4.5 остается бесспорным фаворитом по качеству, но для 80% задач локальные модели достаточны.


Почему обновился с P104 на P102?

После первого теста понял: 8GB VRAM — узкое горлышко для больших моделей (Qwen3-30B, Llama3.3-70B). Модели влезают, но swap память на CPU замедляет inference.

Цель апгрейда:

  • ✅ Больше VRAM (10GB vs 8GB) = меньше swapping
  • ✅ Та же цена (2500₽/карта на Avito)
  • ✅ Тот же TDP (180W) = не нужен новый блок питания

Риски:

  • ⚠️ P102 реже в продаже (майнеры чаще брали P104)
  • ⚠️ Неизвестно, насколько реально быстрее (обзоров нет)

Железо: что поменялось

Было (Setup 1):

  • 2x ASUS ROG Strix P104-100 (8GB GDDR5X)
  • Цена: 2500₽ за обе
  • VRAM: 16GB total

Стало (Setup 2):

  • 2x P102-100 (10GB GDDR5X)
  • Цена: 2500₽ за каждую = 5000₽ total (с доставкой)
  • VRAM: 20GB total (+25%)

Остальное без изменений:

  • CPU: 2x Xeon E5-2699 v4 (88 потоков)
  • RAM: 256GB DDR4
  • SSD: 1TB NVMe
  • PSU: 850W (запас еще 250W)

Результаты: P102 vs P104

Основные модели (мои фавориты)

Модель VRAM P104 (8GB) P102 (10GB) Прирост
Qwen3-30B-Q4_K_M 17.3GB 23 т/с 49.3 т/с 2.14x 🔥
GPT-OSS-20B - 42 т/с 52 т/с 1.24x
Qwen3-14B-Q4_K_M 9GB 16 т/с 24.4 т/с 1.53x
Mistral-Small-24B 13.4GB 10 т/с 15 т/с 1.50x
Phi3-14B-Q5_K_M - 15 т/с 22.7 т/с 1.51x
Qwen3-Coder - - 52.8 т/с NEW ⭐️

Новые тяжелые модели (только на P102)

Модель VRAM Скорость (т/с) Примечание
DeepSeek-R1-32B 18.5GB 6.97 Медленно, но качество топ для reasoning
Gemma3-27B 16.2GB 12.94 Хорош для multilingual задач
Llama3.3-70B-Q3_K_M 31.9GB 2.43 ❌ Слишком медленно (не рекомендую)
Mixtral-8x7B 24.6GB 12.9 Baланс скорости/качества

Вывод: P102 раскрывает Qwen3-30B на 100% — это главное открытие. Прирост 2.14x не только из-за VRAM, но и из-за лучшей пропускной способности памяти.


Энергопотребление: P102 эффективнее

Тесты с разным TDP

# Стандартный режим (180W/карта)
sudo nvidia-smi -pl 180 -i 0,1
# Результат: 49.3 т/с на Qwen3-30B

# Экономный режим (140W/карта)
sudo nvidia-smi -pl 140 -i 0,1
# Результат: 47.1 т/с (-4.5%, но -22% энергии!)

# Измерение ваттметром
nvidia-smi dmon -s pucvmet
# GPU 0: 175W
# GPU 1: 178W
# CPU + RAM + SSD: ~150W
# Total: 500W (vs 400W на P104)

Оптимальный режим для меня: 140W/карта

  • Скорость: 47 т/с (vs 49 т/с на 180W)
  • Энергия: 280W GPU + 150W система = 430W total
  • Стоимость: 430W * 24ч * 30дней * 5₽/kWh = 1548₽/мес

Vs P104 на 120W:

  • P104: 400W = 1440₽/мес
  • P102: 430W = 1548₽/мес
  • Разница: +108₽/мес за 2x скорость — очевидный выбор!

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

Для сравнения моделей (и с Claude 4.5 / GPT-5) использовал универсальный промпт:

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

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

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

Результаты: скорость vs качество

Модель Скорость Время ответа Код Креативность Структура Общее
Claude 4.5 ~80 т/с ~4 сек ✅ Идеальный ⭐️⭐️⭐️⭐️⭐️ Детальная история ✅ Безупречная 10/10 👑
GPT-5 ~60 т/с ~6 сек ✅ Чистый ⭐️⭐️⭐️⭐️ Хорошая ✅ Четкая 9/10
Qwen3-30B-Q4 (P102) 49 т/с ~7 сек ✅ Рабочий ⭐️⭐️⭐️ Интересная ✅ Ясная 8/10 ⭐️
GPT-OSS-20B (P102) 52 т/с ~6 сек ✅ Хороший ⭐️⭐️⭐️ Базовая ✅ OK 7.5/10
DeepSeek-R1-32B 7 т/с ~45 сек ✅ Отличный ⭐️⭐️⭐️⭐️ Reasoning++ ✅ Подробная 8.5/10 🧠
Qwen3-Coder 53 т/с ~6 сек ✅ Компактный ⭐️⭐️ Шаблон ⚠️ Без обоснования 7/10
Gemma3-27B 13 т/с ~20 сек ✅ Работает ⭐️⭐️ Стандарт ⚠️ Verbose 6.5/10
Llama3.3-70B-Q3 2.4 т/с ~2 мин ⚠️ Есть баги ⭐️⭐️ Слабая ❌ Нет структуры 5/10

Фавориты:

  1. Claude 4.5 (API) — бесспорный лидер: креативность + скорость + точность
  2. Qwen3-30B на P102 — лучшая локальная модель (80% качества Claude за $0)
  3. DeepSeek-R1-32B — для сложных задач с reasoning (медленно, но умно)

Пример вывода: Claude 4.5 vs Qwen3-30B

Claude 4.5 (эталон)

import random

def guess_game():
    """Игра с фэнтези-поворотом после 5 попыток."""
    secret = random.randint(1, 100)
    attempts = 0
    max_attempts = 5
    
    print("🎮 Добро пожаловать в 'Поиск Кристалла'!")
    
    while attempts < max_attempts:
        try:
            guess = int(input(f"\nПопытка {attempts + 1}/{max_attempts}. Угадай число (1-100): "))
        except ValueError:
            print("⚠️ Введи число!")
            continue
            
        attempts += 1
        
        if guess == secret:
            print(f"🎉 Победа за {attempts} {'попытку' if attempts == 1 else 'попытки'}!")
            return
        elif guess < secret:
            print("⬆️ Число больше...")
        else:
            print("⬇️ Число меньше...")
    
    # Фэнтези-история
    generate_story(secret, attempts)

def generate_story(secret, attempts):
    """Генерация истории на основе числа."""
    stories = {
        range(1, 26): "Темные леса Нижних Земель",
        range(26, 51): "Огненные пещеры Средиземья",
        range(51, 76): "Ледяные вершины Севера",
        range(76, 101): "Небесные острова Верхнего мира"
    }
    
    location = next(loc for r, loc in stories.items() if secret in r)
    
    print(f"""
    🧙‍♂️ ЛЕГЕНДА О КРИСТАЛЛЕ ВРЕМЕНИ 🧙‍♂️
    
    Ты — странник по имени {input('Как тебя зовут? ')}, искавший Кристалл Времени.
    Твой путь пролегал через {location}, где число {secret} хранилось веками.
    
    За {attempts} испытаний ты не смог его найти, но получил:
    - Карту с подсказкой: "Между {max(1, secret-10)} и {min(100, secret+10)}"
    - Благословение Хранителя: +1 попытка
    
    История продолжается... Попробуешь еще раз? (y/n)
    """)

# Обоснование: цикл while эффективнее рекурсии (O(1) память vs O(n) стек).
# Рекурсия добавила бы "магии" (каждый уровень = новый мир), но рискует 
# переполнением стека при >100 попытках. Баланс: простота + расширяемость.

if __name__ == "__main__":
    guess_game()

Качество Claude:

  • ✅ Обработка ошибок (try/except)
  • ✅ Динамическая история на основе числа
  • ✅ Расширяемость (словарь stories)
  • ✅ Обоснование алгоритма с Big O

Qwen3-30B на P102 (80% качества)

import random

def guess_game():
    secret = random.randint(1, 100)
    attempts = 0
    
    while attempts < 5:
        guess = int(input("Угадай число (1-100): "))
        attempts += 1
        
        if guess == secret:
            print(f"🎉 Победа за {attempts} попыток!")
            return
        elif guess < secret:
            print("⬆️ Больше...")
        else:
            print("⬇️ Меньше...")
    
    # Фэнтези-история
    print(f"""
    🧙‍♂️ ИСТОРИЯ ГЕРОЯ 🧙‍♂️
    
    Ты - искатель приключений из деревни Кодленд, ищущий Кристалл Судьбы ({secret}).
    Твой путь был тернист: {attempts} испытаний не принесли успеха.
    Но старый маг шепнул: "Число лежит между {secret-15} и {secret+15}..."
    
    Продолжишь квест? Введи 'да' для новой попытки.
    """)

# Обоснование: цикл while проще рекурсии (нет риска переполнения стека).
# Для игры с <10 попытками рекурсия допустима, но цикл — стандарт в Python.
# Баланс: читаемость кода (80%) + развлечение (история после fail).

Отличия от Claude:

  • ❌ Нет обработки ошибок
  • ❌ Стат история (не зависит от числа)
  • ✅ Код работает из коробки
  • ✅ Обоснование алгоритма есть (но короче)

Вывод: Для черновиков/автоматизаций Qwen3-30B достаточен. Для продакшна — Claude.


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

1. AI-код-ревьюер (Qwen3-Coder, 53 т/с)

# n8n workflow
Trigger: Git Webhook (push to main)
↓
HTTP Request: Получить diff
↓
HTTP Request: http://localhost:11434/api/generate
  Body: {
    "model": "qwen3-coder",
    "prompt": "Проверь код на баги/уязвимости:\n{{$json.diff}}",
    "stream": false
  }
↓
Filter: IF issues found
↓
GitHub: Create issue с рекомендациями

Результат: 3-5 секунд на ревью 200 строк кода (vs 10 сек на GPT-5)


2. DeepSeek-R1 для сложных задач

Промпт:

Объясни, почему мой PHP-скрипт создает memory leak при обработке 10k+ записей 
из MySQL. Вот код: [вставляю 50 строк]. Предложи 3 решения с обоснованием.

Скорость: 45 секунд (медленно)
Качество: 9/10 — нашел проблему в PDO fetchAll() без лимита
Vs Claude 4.5: Claude быстрее (6 сек), но DeepSeek дал больше альтернатив


3. Multilingual контент (Gemma3-27B)

Задача: перевести пост для блога на 3 языка (EN/RU/ES) с адаптацией культурных нюансов

Результат:

  • Скорость: 20 секунд (13 т/с)
  • Качество: 7/10 (хуже Claude, но для черновиков ОК)
  • Стоимость: $0 vs $0.30 на Claude (100 запросов/день = экономия $9/день)

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

1. Llama3.3-70B слишком медленная

Ожидание: 70B параметров = топовое качество
Реальность: 2.4 т/с = 2 минуты на ответ (непригодно для работы)

Причина: квантизация Q3_K_M (3 бита) + 32GB модель на 20GB VRAM = constant swapping

Решение: ❌ Не использовать; взять Qwen3-30B или DeepSeek-R1-32B


2. Драйверы P102 на Ubuntu 22.04

Симптом: nvidia-smi показывает карты, но Ollama не видит

Решение:

# Откатить до драйвера 535 (не 545+)
sudo apt remove --purge nvidia-*
sudo apt install nvidia-driver-535
sudo reboot

# Проверка
nvidia-smi
ollama list

3. Overheating при 180W

Проблема: 78-82°C на полной нагрузке (некомфортно)

Решение:

# Кастомный fan curve через nvidia-settings
sudo nvidia-settings -a "[gpu:0]/GPUFanControlState=1" \
                     -a "[fan:0]/GPUTargetFanSpeed=75"

# Результат: 70-74°C при 180W

Сравнение с API: когда локально выгоднее

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

Вариант Стоимость Примечание
Claude 4.5 5M * $0.015 = $75 (7500₽) Бесспорный фаворит по качеству 👑
**GPT-5 ** 5M * $0.01 = $50 (5000₽) Баланс цены/качества
Qwen3-30B (P102) 1548₽ электр. + 5000₽ амортизация (10 мес) = ~2050₽
DeepSeek-R1 (P102) 1548₽ электр. Медленно, но для reasoning топ

Окупаемость P102:

  • Экономия: 7500₽ - 2050₽ = 5450₽/мес
  • Железо: 5000₽ / 5450₽ = 0.9 месяцев (!!!)

Качество: Claude 4.5 — король

Задача Claude 4.5 GPT-5 Qwen3-30B (P102) DeepSeek-R1
Код (PHP/Python) 10/10 👑 9/10 8/10 8.5/10
Reasoning 10/10 👑 9/10 7/10 9/10 ⭐️
Креативность 10/10 👑 8/10 7/10 6/10
Русский язык 9/10 8/10 9/10 ⭐️ 8/10
Скорость 10/10 👑 9/10 8/10 4/10

Вывод: Claude 4.5 — безоговорочный лидер по всем параметрам. Но для 80% моих задач (автоматизации, черновики, логи) Qwen3-30B на P102 достаточен и окупается за месяц.


Выводы: P102 vs P104

✅ Почему P102 лучше

  1. Скорость: 2x быстрее на Qwen3-30B (49 vs 23 т/с)
  2. VRAM: 20GB vs 16GB = можно тяжелые модели (DeepSeek-R1, Mixtral)
  3. Энергоэффективность: +108₽/мес за 2x скорость — очевидный выбор
  4. Цена: 2500₽/карта = та же, что P104
  5. Новые модели: Qwen3-Coder (53 т/с) раскрывается полностью

❌ Минусы

  1. Редкость: P102 реже на Avito (искал 2 недели vs 3 дня для P104)
  2. Llama3.3-70B: не работает нормально (2.4 т/с = бесполезно)
  3. Тепло: 180W греется до 78°C (нужен fan curve)

Когда брать P102

  • ✅ Объем > 3M токенов/мес
  • ✅ Работаешь с Qwen3-30B / DeepSeek-R1 / Mixtral
  • ✅ Нужна скорость 40+ т/с для real-time задач
  • ✅ Готов искать карты 1-2 недели

Когда P104 достаточно

  • ❌ Бюджет < 5000₽ (P104 иногда по 1000₽/карта)
  • ❌ Работаешь только с Qwen3-14B / GPT-OSS-20B
  • ❌ Нужно срочно (P104 всегда в наличии)

Что дальше?

Планы:

  1. Cтенд из 4-5 карт p102-100 — смогу ли запустить Llama3.3-70B Q4?
  2. Fine-tuning Qwen3-30B на моих данных (промпты + код)
  3. Кластер из 8x P102 для параллельного inference (мечта!)

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

  • Ищи P102-100 на Avito: фильтр "10GB, до 3500₽/карта"
  • Проверяй перед покупкой: nvidia-smi скриншот от продавца
  • Мой Telegram: @olyanskiy_tech

Итого: P102-100 (10GB) — must-have upgrade с P104. Qwen3-30B раскрывается полностью (49 т/с), окупается за месяц. Claude 4.5 остается королём качества, но для 80% задач локальные модели достаточны при нулевых затратах на запросы.

Следующая статья: общее сравнение всех тестов + калькулятор "когда API vs когда своё железо".


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