Бенчмарк видеокарт для нейросетей
Сколько токенов в секунду выдают видеокарты на локальных LLM — замеры на реальном железе
Сколько токенов в секунду выдаёт видеокарта для LLM на vLLM, llama.cpp и SGLang — замеры на реальном железе, одним скриптом, без округления в свою пользу. Выберите сценарий, и таблица отсортируется по той цифре, которая в нём решает.
Скорость одного запроса без соседей и задержка до первого токена — то, что чувствует человек в чате.
Модель в фильтре и в таблице — базовая: сборки разных издателей и кванты одних весов сведены в одну строку, остальные видны в её раскрытии.
Карта / модель | Движок | Последовательная без SO | TTFT, деловой промпт (~450 ток.) | Декодирование после TTFT | |||
|---|---|---|---|---|---|---|---|
SGLang 0.5.17 подбор | 268.9 | 0.11 | 314 | Прогон | |||
vLLM 0.27.1 подбор | 259.5 | 0.19 | 278.2 | Прогон | |||
vLLM 0.15.1 подбор | 222.4 | — | — | Прогон | |||
vLLM 0.15.1 подбор | 146.1 | — | — | Прогон | |||
vLLM 0.26.0 подбор | 135.7 | 0.48 | 237.8 | Прогон | |||
SGLang 0.5.16 подбор | 135.4 | 0.31 | 218 | Прогон | |||
vLLM 0.15.1 подбор | 131.7 | — | — | Прогон | |||
vLLM 0.27.1 подбор | 125.5 | 0.17 | 107.8 | Прогон | |||
vLLM 0.14.0 опорный | 100.9 | — | — | Прогон | |||
Llama.cpp 7717 подбор | 90.6 | — | — | Прогон | |||
vLLM 0.15.1 подбор | 90.4 | — | — | Прогон | |||
Llama.cpp 7973 подбор | 89.7 | — | — | Прогон | |||
Llama.cpp 7973 подбор | 89.5 | — | — | Прогон | |||
Tesla v100 32gb sxm2 ×1 + RTX 3090 24Gb ×1Qwen3-4B-Instruct-2507 Qwen3-4B-Instruct-2507-GGUF:F16 ctx 40k · 20 парал. | Llama.cpp 7717 подбор | 84.6 | — | — | Прогон | ||
vLLM 0.14.0 опорный | 83.9 | — | — | Прогон |
Как проводятся замеры
Все прогоны выполнены на одном стенде и одним скриптом, поэтому цифры между собой сравнимы. Модель поднимается на выбранном движке нужной версии, затем прогоняются три сценария: одиночный запрос, пачка параллельных запросов и то же самое со структурированным выводом — ответом по JSON-схеме. Результат — токены в секунду, а не «ощущается быстрее».
Видеокарты берутся потребительские и серверные: RTX-поколения и Tesla. Связка из двух карт указана отдельно — прирост от второй карты почти никогда не двукратный, и в таблице это видно по конкретным числам.
Опорный профиль и подбор ключей
Одну и ту же модель на одном железе можно запустить десятком способов, и цифры разойдутся в полтора раза. Поэтому прогоны разделены на два вида, как в SPEC CPU. Опорный — запуск на замороженном минимальном наборе ключей; такие прогоны сравнимы между собой на любом железе. Подбор — ключи настроены под конкретную связку; число выше, но прямо сравнивать его с опорным нельзя.
- vLLM
--gpu-memory-utilization 0.9, число карт задаёт--tensor-parallel-size, больше ничего.- llama.cpp
- Настройки движка по умолчанию: только длина контекста, число слотов и
-ngl. - SGLang
- Аналогичный минимум: контекст,
--tp-size, без ручных бэкендов.
Строка таблицы раскрывается в список вариантов, и в нём показаны только те ключи, которыми варианты отличаются друг от друга. Читать целиком командную строку, совпадающую на девять десятых, бессмысленно — разница в один ключ там глазами не находится.
Что означают метрики
- Последовательная скорость
- Токены в секунду для одного запроса без соседей. Это то, что чувствует один человек в чате.
- Параллельная и пропускная
- Суммарная скорость под нагрузкой из нескольких одновременных запросов. Главная цифра, когда модель обслуживает сервис, а не одного пользователя.
- Без SO / с SO
- Структурированный вывод: ответ, загнанный в JSON-схему. Он всегда стоит скорости — разница между парой колонок и есть цена строгого формата.
- TTFT
- Время до первого токена. Для интерфейса важнее пропускной способности: пользователь видит задержку до начала ответа, а не общий счётчик токенов.
- Prefill и декодирование
- Prefill — обработка входного промпта, декодирование — генерация после первого токена. Длинный системный промпт бьёт по prefill, длинный ответ — по декодированию.
- Кэш префикса
- Движок переиспользует уже посчитанное начало промпта. Если он работает, повторные запросы с одинаковым системным промптом стартуют в разы быстрее.
- Нагрузка прогона
- Длина контекста, число параллельных запросов и признак выгрузки слоёв на процессор. Это не настройка, а условие замера: прогон с контекстом 8k и прогон с контекстом 32k сравнивать между собой нельзя, и в таблице они стоят разными строками.
Разборы замеров
Таблица отвечает на вопрос «сколько», статьи — на вопрос «почему столько»:
- RTX 5070 Ti против RTX 3090 на LLM
- RTX 3090 против RTX 5060 Ti: что брать под инференс
- vLLM или llama.cpp — чем отличаются движки инференса
- Бенчмарк локального инференса: методика и результаты
- Сборка GPU-сервера под локальные нейросети
- Установка vLLM на RTX 3090 и Tesla V100
Замеры по видеокартам
- RTX 5070 Ti 16Gb — 8 прогонов
- RTX 5070 Ti — 7 прогонов
- RTX 5060 Ti 16Gb — 6 прогонов
- RTX 3090 24Gb — 4 прогона
- Tesla v100 32gb sxm2 — 4 прогона
Частые вопросы
Железо — половина дела: дальше модель нужно связать с рабочей системой. На курсе разбираем, как поднять локальную LLM и подключить её к 1С через собственный сервис.
Курс «ИИ и 1С»