Результаты тестов: что показывают 4×Tesla P100 на инференсе LLM
Сборка Inferno на четырёх NVIDIA Tesla P100 выдаёт около 50 токенов в секунду на генерации и демонстрирует Perplexity в диапазоне 530–550. Это реальные цифры, полученные на стандартном корпусе с перспективой расширения до шести карт. Система собрана как бюджетная альтернатива современным ускорителям для запуска open-source моделей.
50 t/s - скорость, которая в пять раз превышает порог комфортного чтения (~10 t/s). Для локального чат-бота, саммаризации документов или генерации кода этого достаточно, чтобы не ждать ответа. Ниже разбираем методику замеров, контекстуализируем цифры и объясняем, что стоит за метрикой Perplexity.
Методика тестирования: модели, параметры, метрики
Тесты проводились на конфигурации из четырёх Tesla P100 с 16 ГБ HBM2 каждая, суммарно 64 ГБ VRAM. Карты подключены через райзеры x16 к x16, материнская плата с поддержкой Above 4G Decoding и Resizable BAR. Процессор - Intel Xeon E5-2680 v4, 128 ГБ оперативной памяти DDR4-2400. Блок питания - два Corsair HX1200, по два GPU на каждый.
Программный стек: Ubuntu 22.04 LTS, драйвер NVIDIA 535.154.05, CUDA 12.2. Для инференса использовался llama.cpp с бэкендом CUDA, режим tensor split с равномерным распределением слоёв по картам. Модели тестировались в 4-битной квантизации Q4_K_M:
- Llama-3-8B (8B параметров, занимает ~5.5 ГБ VRAM)
- Mistral-7B (7B параметров, ~4.8 ГБ VRAM)
- Qwen2.5-14B (14B параметров, ~9.2 ГБ VRAM)
- Llama-3-70B (70B параметров, ~40 ГБ VRAM - только на полной памяти четырёх карт)
Замеры проводились при длине контекста 4096 токенов, batch size = 1, температура генерации 0.7. Для каждой модели выполнялось три прогона, результат усреднялся. Метрики: токены в секунду на генерации (t/s) и Perplexity на валидационном наборе WikiText-2.
Скорость генерации: 50 токенов в секунду - это много или мало?
50 t/s на четырёх P100 - результат для моделей класса 7-8B в 4-битной квантизации. Для сравнения: одиночная RTX 3090 с 24 ГБ VRAM выдаёт 80-110 t/s на тех же моделях. RTX 4090 - 120-160 t/s. Но цена вопроса разная: одна RTX 3090 на вторичном рынке стоит от $600, RTX 4090 - от $1400. Четыре P100 обходятся в $400-500 суммарно, примерно по $100-120 за карту.
Порог комфортного восприятия текста человеком - около 10 t/s. Всё, что выше, воспринимается как мгновенный ответ. 50 t/s достаточно для:
- интерактивного чата - ответ из 200 токенов генерируется за 4 секунды;
- саммаризации - документ на 5000 токенов обрабатывается за 100 секунд плюс время на префилл;
- генерации кода - функция из 100 токенов появляется за 2 секунды.
Для моделей уровня 70B скорость падает до 8-12 t/s - это граница комфорта, но для фоновых задач вроде обработки документов или аналитики приемлемо. Подробнее о запуске больших моделей на устаревших GPU мы разбирали в статье про инференс 550B-модели на кластере AMD MI50 и NVIDIA P40.
Perplexity 530–550: что это говорит о качестве модели
Perplexity - метрика, которая измеряет, насколько хорошо модель предсказывает следующий токен. Чем ниже значение, тем увереннее модель в своих предсказаниях. Значение 530–550 для Llama-3-8B в 4-битной квантизации Q4_K_M - ожидаемый результат. Оригинальная модель в FP16 показывает Perplexity около 500-510. Квантизация добавляет 5-10% к значению, что мы и наблюдаем.
Принципиальный момент: Perplexity зависит от модели и квантизации, а не от GPU. Карты P100 здесь выступают как вычислитель, который не искажает вычисления. Если Perplexity совпадает с эталонными значениями для выбранной модели и квантизации, оборудование работает корректно, деградации точности нет.
Для сравнения: Mistral-7B в Q4_K_M показывает Perplexity 480-500, Qwen2.5-14B - 440-460. Чем современнее архитектура и больше параметров, тем ниже Perplexity. Но это уже вопрос выбора модели, а не сборки.
Экономика сборки: почему P100 всё ещё актуальны в 2026 году
Четыре Tesla P100 на вторичном рынке стоят $400-500. Одна RTX 3090 с 24 ГБ VRAM - от $600. Одна RTX 4090 - от $1400. При этом 4×P100 дают 64 ГБ суммарной VRAM против 24 ГБ у флагманских потребительских карт. Для запуска моделей, которые требуют больше 24 ГБ памяти, P100 - один из немногих бюджетных вариантов.
Считаем по метрике $/GB VRAM: P100 - $6.25-7.80 за гигабайт, RTX 3090 - $25, RTX 4090 - $58. По показателю $/t/s на моделях 7-8B: P100 - $8-10 за токен/с, RTX 3090 - $5.5-7.5, RTX 4090 - $8.7-11.6. Потребительские карты выигрывают по эффективности на небольших моделях, но проигрывают по объёму памяти на доллар.
Сравнение с современными альтернативами: RTX 4090, A6000, H100
| Характеристика | 4×Tesla P100 | RTX 4090 | A6000 | H100 |
|---|---|---|---|---|
| VRAM (суммарно) | 64 ГБ | 24 ГБ | 48 ГБ | 80 ГБ |
| Пропускная способность | 4×732 ГБ/с | 1008 ГБ/с | 768 ГБ/с | 3350 ГБ/с |
| TDP (суммарно) | 4×250 Вт = 1000 Вт | 450 Вт | 300 Вт | 700 Вт |
| Цена б/у (2026) | $400-500 | $1400-1600 | $2500-3000 | $18000-22000 |
| t/s (Llama-3-8B Q4) | ~50 | ~140 | ~90 | ~300+ |
| $/GB VRAM | $6.25-7.80 | $58-67 | $52-62 | $225-275 |
P100 - карты архитектуры Pascal (2016 год), без тензорных ядер, с поддержкой CUDA compute capability 6.0. Это означает отсутствие FlashAttention, ограниченную поддержку FP16 (нет ускорения над FP32) и отсутствие bfloat16. Для инференса в INT8 или FP16 через llama.cpp это не критично, но файн-тюнинг или тренировка на таких картах нецелесообразны.
Скрытые расходы: питание, охлаждение и инфраструктура
Четыре P100 потребляют до 1000 Вт только на GPU. Добавьте процессор (150 Вт), память, диски - итоговое энергопотребление системы под нагрузкой достигает 1200-1300 Вт. При круглосуточной работе и цене электричества $0.10 за кВт·ч это $3.12 в день или $1138 в год. За три года эксплуатации стоимость электричества превысит стоимость самих карт.
Требования к блоку питания: минимум два качественных БП по 1000+ Вт с достаточным количеством разъёмов PCIe 8-pin. Каждая P100 требует один 8-pin коннектор, плюс питание через слот PCIe (до 75 Вт). Райзеры должны быть качественными, с экранированием, версии x16 к x16 - узкие x1-райзеры создадут бутылочное горло при передаче весов модели.
Охлаждение: P100 - карты с пассивным охлаждением, рассчитанные на серверный airflow. В потребительском корпусе потребуется организация направленного воздушного потока через карты. Решение - либо серверный корпус с high-static-pressure вентиляторами, либо установка кастомных активных кулеров (например, от Raijintek Morpheus с 120-мм вентиляторами). Без адекватного охлаждения карты уходят в троттлинг при 85°C, что снижает производительность на 30-40%.
Практическое руководство: как собрать Inferno на P100
Сборка системы на четырёх Tesla P100 в потребительском корпусе требует внимания к трём компонентам: материнская плата с достаточным количеством PCIe-линий, качественные райзеры и мощное питание. Разберём каждый пункт.
Выбор компонентов: материнская плата, райзеры, питание
Материнская плата - критический компонент. Нужны модели с поддержкой минимум четырёх слотов PCIe x16 (физически) и обязательным Above 4G Decoding в BIOS. Проверенные варианты:
- ASUS X99-E WS/USB 3.1 - 7 слотов PCIe x16, поддержка до 4 GPU без райзеров при условии однослотовых карт;
- ASRock X99 Extreme11 - 5 слотов, встроенный PLX-мост для коммутации линий;
- Supermicro X10DRG-Q - серверная плата с 4×PCIe x16, два процессорных разъёма, IPMI.
Райзеры: только x16 к x16, с активным экранированием. Модели на базе чипа Pericom или ASMedia показывают стабильную работу. Избегайте дешёвых неэкранированных райзеров - они вносят ошибки передачи данных, которые проявляются как случайные падения производительности или краши llama.cpp.
Питание: два блока по 1000-1200 Вт с синхронизацией включения (через адаптер Add2PSU или релейную схему). Каждая P100 требует один 8-pin PCIe. Четыре карты - четыре разъёма. Плюс питание райзеров (обычно Molex или SATA, но SATA нежелателен из-за ограничения по току). Итоговая схема: первый БП питает две карты и систему, второй - оставшиеся две карты.
Настройка ПО: драйверы, CUDA, фреймворки инференса
Установка драйверов для Tesla P100 на Ubuntu 22.04:
# Установка драйвера и CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install cuda-12-2 nvidia-driver-535
# Включение persistence mode - критично для Tesla
sudo nvidia-smi -pm 1
# Проверка
nvidia-smiСборка llama.cpp с поддержкой CUDA:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
mkdir build && cd build
cmake .. -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES="60"
make -j$(nproc)Флаг CMAKE_CUDA_ARCHITECTURES="60" указывает компилятору целевую архитектуру Pascal - без этого возможны ошибки или неоптимальный код. Для запуска модели с распределением по картам используйте параметр tensor-split:
./llama-cli -m llama-3-8b-q4_k_m.gguf -p "Привет, как дела?" -ngl 33 -tensor-split 16,16,16,16Параметр -ngl 33 загружает все 33 слоя Llama-3-8B на GPU. Tensor-split с равными долями распределяет слои поровну. Для более крупных моделей вроде Llama-3-70B пропорции нужно подбирать экспериментально, ориентируясь на занятую память в nvidia-smi.
Похожий подход с распределением слоёв мы детально разбирали в статье про сборку на AMD Instinct V620 - там тоже бюджетные карты с большим объёмом памяти.
Масштабирование до 6×P100: ожидаемый прирост и ограничения
Добавление ещё двух P100 увеличит суммарную VRAM до 96 ГБ. Главный выигрыш - возможность запускать модели, которые не помещались в 64 ГБ. Прирост чистой скорости генерации будет скромным: 10-20%, не более. Причина - в архитектуре инференса.
Почему не всегда 6 карт = +50% производительности
LLM-инференс на мульти-GPU конфигурациях упирается в два ограничения: пропускную способность памяти и межкарточную коммуникацию. При генерации токенов модель последовательно проходит через все слои, и каждый слой находится на своей карте. Данные передаются между картами через PCIe-шину или NVLink (которого у P100 нет).
На четырёх картах Llama-3-8B распределяется так: 8-9 слоёв на карту. При переходе на шесть карт - 5-6 слоёв на карту. Вычисление одного слоя занимает меньше времени, но межкарточная передача активаций остаётся прежней. Доля коммуникационных задержек в общем времени генерации растёт. Результат - нелинейное масштабирование.
Для моделей, которые не помещались в 64 ГБ, ситуация иная. Llama-3-70B в Q4_K_M требует ~40 ГБ, но с контекстом 32K токенов потребление памяти вырастает до 55-60 ГБ. Четырёх карт хватает впритык, без запаса на кэш KV. Шесть карт дают комфортный запас в 30+ ГБ под длинные контексты и батчинг.
Какие модели станут доступны с 96 ГБ VRAM
С 96 ГБ памяти открывается доступ к следующему классу моделей:
- Llama-3-70B в Q4_K_M с контекстом до 128K токенов - ~45 ГБ модель + кэш KV;
- Qwen2.5-72B в Q4_K_M - ~42 ГБ, с запасом под контекст;
- Mixtral 8×7B (MoE) в Q4_K_M - ~28 ГБ, но с активным кэшем экспертов требует 50+ ГБ при батчинге;
- Command R+ (104B) в Q3_K_M - ~45 ГБ, пограничный случай.
Ожидаемая скорость для Llama-3-70B на 6×P100 - 6-10 t/s, что сопоставимо с одной RTX A6000 (48 ГБ), но за треть цены. Для сравнения, на конфигурации из трёх RTX 3090 похожие показатели достигаются на моделях 70B, как мы показывали в обзоре сборки на 4×RTX 3080 20 ГБ.
Реальные кейсы: что можно делать с Inferno уже сегодня
Система на 4×P100 с 64 ГБ VRAM закрывает несколько практических сценариев, где важна автономность и конфиденциальность данных:
- Локальный чат-бот на базе Llama-3-8B или Qwen2.5-14B. 50 t/s - комфортная скорость для диалога. Нет зависимости от API-провайдеров, нет утечки данных вовне.
- Саммаризация документов. Модель загружает PDF или текст, генерирует краткое содержание. 50 t/s позволяют обработать 100-страничный документ за 3-5 минут.
- Генерация кода. Qwen2.5-Coder-14B в Q4_K_M занимает ~9 ГБ, выдаёт 45-50 t/s. Приемлемо для автодополнения в IDE или генерации функций по описанию.
- Пакетная обработка. При batch size = 4 скорость на одну задачу падает до 15-20 t/s, но суммарный throughput растёт. Полезно для разметки данных или классификации.
Файн-тюнинг на P100 ограничен отсутствием bfloat16 и низкой производительностью FP16. Для LoRA-адаптеров небольших моделей (до 13B) ещё приемлемо, но полный файн-тюнинг 70B-модели займёт недели. Если нужна тренировка, лучше рассмотреть карты с тензорными ядрами - например, Turing и новее.
Ограничения и подводные камни: что нужно знать перед сборкой
Честный список проблем, с которыми столкнётся владелец сборки на P100:
- Шум. Четыре карты с кастомным охлаждением - это 8-12 вентиляторов. Уровень шума под нагрузкой достигает 55-60 дБ, сравнимый с промышленным сервером. Размещение в жилом помещении требует шумоизоляции или отдельной комнаты.
- Нагрев. 1000 Вт тепловыделения нагревают помещение на 2-4°C в час. Летом потребуется кондиционирование, что добавляет к расходам на электричество.
- Драйверы и новые ядра Linux. Tesla P100 официально поддерживаются драйверами ветки 535.x.x. На ядрах 6.5+ периодически возникают проблемы с инициализацией карт. Рекомендация - зафиксировать ядро на LTS-версии (5.15 или 6.1) и не обновлять драйвер без необходимости.
- Отсутствие FlashAttention. Архитектура Pascal не поддерживает FlashAttention, что увеличивает потребление памяти под кэш KV на 20-30% по сравнению с Ampere и новее. На длинных контекстах (32K+) это критично.
- Износ. P100 на вторичном рынке часто имеют наработку 30 000-50 000 часов. Память HBM2 деградирует медленно, но вентиляторы кастомного охлаждения - расходник. Запасные кулеры или переход на водяное охлаждение - рекомендованный путь.
Для мониторинга используйте nvidia-smi в цикле или prometheus + node_exporter с nvidia-smi exporter. Контролируйте температуры (порог троттлинга - 85°C), потребление (стабильно ли 250 Вт на карту) и ошибки ECC (через nvidia-smi -q -d ECC). Рост количества single-bit errors выше 100 в сутки - сигнал к замене карты.
Сборка Inferno на P100 - компромисс между стоимостью, объёмом памяти и производительностью. Она оправдана, если нужен большой объём VRAM за минимальные деньги и есть готовность мириться с шумом, нагревом и ограничениями старых архитектур. Для задач, где критична скорость на небольших моделях, потребительские RTX 3090/4090 остаются более эффективным выбором.