RTX 5070 Ti vs RTX 3090 для LLM: что быстрее для локального инференса

Если вы выбираете видеокарту для локального запуска нейросетей и застряли между новой RTX 5070 Ti и подешевевшей RTX 3090 — этот выбор не про цифры из обзоров игровых бенчмарков. Для LLM важно другое: сколько токенов в секунду карта выдаёт на инференсе, сколько параллельных запросов держит и сколько модели вообще влезает в память. Я прогнал обе карты на одном стенде через vLLM и llama.cpp на моделях Qwen3-4B и gpt-oss, замерил скорость в трёх режимах — и ниже показываю реальные ток/сек с точными параметрами запуска, а не маркетинговые TFLOPS.

Короткий ответ: на моделях, которые влезают в 16 ГБ, RTX 5070 Ti стабильно быстрее RTX 3090 — на throughput под нагрузкой разрыв доходит до 15%. Но у 3090 есть козырь, который цифрами скорости не перебить: 24 ГБ против 16 ГБ. Разберём, когда это решает.

Стенд и методика: как я мерил

Чтобы сравнение было честным, обе карты работали в одной и той же системе, отличалась только GPU:

  • CPU/RAM: Ryzen 5 3600, 64 ГБ (G.Skill 3600), карта в слоте PCIe 4 x8.
  • Движки инференса: vLLM 0.15.1 и llama.cpp (build 7973) — два самых ходовых способа поднять локальный OpenAI-совместимый сервер.
  • Модели: Qwen3-4B-Instruct-2507 (в полновесном формате для vLLM и в GGUF F16 для llama.cpp) — как основной ориентир, плюс gpt-oss-20b и gpt-oss-120b для проверки потолка по памяти.
  • Три метрики скорости, все в токенах в секунду:
    • последовательная — один запрос за другим, чистая скорость генерации на одного пользователя;
    • параллельная — 10 одновременных запросов, средняя скорость на каждого;
    • пропускная (throughput) — суммарная выработка сервера под теми же 10 запросами. Это главная цифра, если модель обслуживает не вас одного, а сервис/агента с потоком обращений.

Каждую метрику я снимал в двух вариантах: обычная генерация и генерация со структурированным выводом (SO, structured output) — когда модель обязана вернуть строгий JSON по схеме. Это тот режим, в котором LLM реально работает внутри 1С-интеграции или агента, поэтому колонку «с SO» стоит смотреть отдельно.

Ядро сравнения: Qwen3-4B на одной карте

Самое чистое сравнение — одна и та же модель Qwen3-4B на одной карте, обе через vLLM:

Метрика (ток/сек)RTX 5070 TiRTX 3090Разница
Последовательная90.483.9+7.7%
Параллельная (×10)81.968.9+18.9%
Пропускная480.7419.4+14.6%

Картина однозначная: на генерации для одного пользователя карты близки (90 против 84 ток/с), но как только приходит параллельная нагрузка, 5070 Ti отрывается — она лучше утилизирует свои вычислительные блоки Blackwell, и разрыв по throughput вырастает до 15%. Для одиночного чат-сценария разница почти незаметна, для сервера под нагрузкой — уже ощутима.

Команда запуска vLLM, которой снимались цифры (для 5070 Ti; для 3090 отличается только выбором устройства):

vllm serve Qwen/Qwen3-4B-Instruct-2507 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.9 \
  --max-model-len 16384 \
  --attention-backend TRITON_ATTN

Теперь та же модель, но через llama.cpp — движок, который многие ставят первым, потому что он проще и ест GGUF-кванты:

Метрика (ток/сек)RTX 5070 TiRTX 3090Разница
Последовательная89.590.6−1.1%
Параллельная (×10)49.747.0+5.7%
Пропускная291.5262.7+10.9%

А вот это уже интересно. На llama.cpp обе карты выдают почти одинаковую последовательную скорость (~90 ток/с, 3090 даже на волосок впереди), и общее преимущество 5070 Ti сжимается до 11% по throughput. Причин две: llama.cpp хуже раскрывает новую архитектуру Blackwell, чем vLLM, и сам по себе на параллельной нагрузке заметно слабее — сравните throughput 291 (llama.cpp) против 481 (vLLM) на той же 5070 Ti. Отсюда практический вывод: выбор движка влияет на скорость сильнее, чем выбор между этими двумя картами — этому я посвятил отдельный разбор vLLM против llama.cpp.

CUDA_VISIBLE_DEVICES=0 ./build/bin/llama-server \
  -hf unsloth/Qwen3-4B-Instruct-2507-GGUF:F16 \
  --host 0.0.0.0 --port 8000 \
  --ctx-size 8192 -b 16384 -ub 8192 --parallel 10

Две карты вместо одной: масштабируется ли это

Обе карты я гонял и в связке из двух штук (tensor parallelism, --tensor-parallel-size 2). На Qwen3-4B через vLLM пропускная способность растёт так:

Конфигурацияthroughput, ток/секПрирост к ×1
RTX 5070 Ti ×1480.7
RTX 5070 Ti ×2671.7+40%
RTX 3090 ×1419.4

Вторая карта даёт не удвоение, а примерно +40% — часть выигрыша съедает обмен между GPU по PCIe. Но есть нюанс, который в таблице не виден: на 5070 Ti ×2 в режиме со структурированным выводом throughput поднимается до 708 ток/с — то есть под реальную агентскую нагрузку с JSON-схемой две карты Blackwell раскрываются даже лучше, чем на «голой» генерации. Если ваш сценарий — сервер, который обслуживает поток структурированных запросов, масштабирование по картам работает.

Главный водораздел: 16 ГБ против 24 ГБ

Всё, что выше, — про скорость на моделях, которые в 16 ГБ помещаются. Но именно память, а не скорость, чаще всего и определяет выбор.

  • RTX 5070 Ti — 16 ГБ. Этого хватает на модели до ~14B в разумной квантизации с приличным контекстом. Qwen3-4B, gpt-oss-20b (MoE с малым числом активных параметров) — идут отлично.
  • RTX 3090 — 24 ГБ. Те же +50% памяти — это либо более крупная модель, либо более длинный контекст, либо больший батч. На вторичном рынке 3090 стоит заметно дешевле новой 5070 Ti, и по соотношению «гигабайт VRAM на рубль» она до сих пор одна из выгоднейших карт для локальных LLM.

Что происходит на пределе памяти, видно на gpt-oss-120b — модели, которая целиком не влезает ни в 16, ни в 24 ГБ. На двух 5070 Ti её удаётся запустить только с выгрузкой части экспертов MoE на CPU (-ncmoe 20), и throughput падает до 21 ток/с — в двадцать раз ниже, чем на 4B-модели. Мораль простая: как только модель перестаёт помещаться в видеопамять, любая, даже топовая карта проваливается в скорость offload, и вопрос «сколько ГБ» становится важнее вопроса «сколько ток/сек».

Крупные модели: что 5070 Ti тянет на пределе

Раз уж 5070 Ti оказалась быстрее — посмотрим, что она выдаёт на моделях крупнее 4B (эти прогоны на двух картах через vLLM):

  • gpt-oss-20b (MoE, активных параметров немного): последовательная 222 ток/с, throughput до 660 ток/с. Для модели такого класса это отличный результат — MoE-архитектура и Blackwell работают в паре очень эффективно.
  • gpt-oss-120b через llama.cpp с offload: 21 ток/с — тот самый провал из-за выхода за пределы VRAM, о котором писал выше.

Вывод по классам моделей: до ~20B (особенно если это MoE) 5070 Ti — быстрый и приятный вариант; всё, что требует держать в памяти больше 16 ГБ, упирается либо в две карты, либо в старшую 3090/что-то с 24+ ГБ.

Итог: какую карту брать под LLM

Выбор сводится к одному вопросу — что для вас дефицитнее, скорость или память:

  • Берите RTX 5070 Ti, если крутите модели до ~14–20B, важна скорость под параллельной нагрузкой (сервер, агент, структурированный вывод), нужна свежая архитектура с запасом по драйверам и вы готовы платить за новую карту. По ток/сек она обгоняет 3090 во всех моих замерах.
  • Берите RTX 3090, если хотите максимум VRAM за минимум денег: 24 ГБ с вторички дают запас под более крупные модели и длинный контекст, а проигрыш в скорости на 4B-моделях — всего несколько процентов. Для домашней лаборатории и экспериментов с разными моделями это до сих пор народный выбор.
  • Две карты любого из этих типов дают примерно +40% throughput — не удвоение, но осмысленный апгрейд под серверную нагрузку.

И держите в голове, что почти на четверть скорость определяется не картой, а движком: vLLM выжимает из обеих GPU кратно больше, чем llama.cpp, — если гонитесь за throughput, начните с выбора движка, а не только железа.

Локальная LLM — это половина дела. Вторая половина — заставить её приносить пользу в бизнесе: подключить к 1С, обернуть в сервис, встроить в агента, который читает документы и заполняет данные. Как это делается на практике — в курсе «Применение искусственного интеллекта ChatGPT для 1С»: от локального запуска модели до готовой интеграции с рабочей базой.

Частые вопросы