Пропускная способность памяти для LLM задаёт скорость, а VRAM — влезет ли модель

39 мин. чтения

Коротко (TL;DR)

  • Объём VRAM — это порог. Он решает, влезет ли модель в память видеокарты. Не влезла — скорость падает в разы: 70B-модель на RTX 4090 с половиной весов в обычной ОЗУ выдаёт 2,32 токена в секунду.
  • Пропускная способность памяти — это скорость. Для всего, что влезло, генерация упирается в то, сколько гигабайт в секунду чип читает из памяти. Потолок считается одной формулой: ГБ/с ÷ размер модели в ГБ.
  • Одинаковый объём не значит одинаковую скорость. RTX 5060 Ti и RTX 5070 Ti — обе по 16 ГБ. На одной и той же модели они дают 90,94 и 176,85 токена в секунду, потому что полоса у второй вдвое шире (448 против 896 ГБ/с).
  • Реальность — 60–80% от потолка у видеокарт NVIDIA. У семи карт в одном тесте llama.cpp доля потолка — от 61,9% до 77,6%. У чипов Apple разброс шире: от 40% у Ultra до 83% у M5 Pro.
  • Формула не работает для обработки промпта, для нескольких запросов сразу и для связки из двух видеокарт: вторая карта добавляет объём, но не скорость.
  • Мы не запускали модели сами: скорости взяты из открытых замеров llama.cpp с названной методикой, расчёты наши.

Объём VRAM и пропускная способность памяти: у каждого своя работа

Вопрос «что важнее для локальной нейросети — объём видеопамяти или её скорость» поставлен не совсем правильно. Это два разных ограничения, и они не соревнуются. Объём отвечает на вопрос «запустится ли модель вообще». Пропускная способность памяти (ПСП, по-английски memory bandwidth) отвечает на вопрос «как быстро она будет печатать ответ».

Объём работает как ступенька. Пока веса модели и рабочий кэш помещаются в VRAM, он больше не влияет на скорость: лишние 8 ГБ просто простаивают. Как только модель перестала влезать, часть весов уезжает в оперативную память компьютера, а она в десятки раз медленнее. Скорость падает не на проценты, а в разы.

ПСП работает как плавная шкала. Это сколько гигабайт в секунду чип может прочитать из своей памяти. Чем шире полоса, тем больше токенов в секунду при той же модели. Поэтому, когда спрашивают про memory bandwidth LLM, на самом деле спрашивают про скорость ответа, а не про то, какие модели поместятся.

ПараметрЧто решаетКак ведёт себяПример из замеров
Объём VRAM, ГБВлезет ли модель с контекстомСтупенька: влезла или нет70B Q4 на RTX 4090 24 ГБ: 2,32 ток/с с половиной весов в ОЗУ
ПСП, ГБ/сСколько токенов в секундуПлавная шкала, почти линейнаяВдвое шире полоса — почти вдвое больше токенов (разбор ниже)
Вычисления (TFLOPS)Скорость обработки промптаВажны для prefill, мало влияют на генерациюRTX 5090: промпт 14 073 ток/с, генерация 290 ток/с

Отсюда простое правило выбора. Сначала проверяем объём: влезает ли нужная модель с запасом под контекст. Потом среди вариантов, где она влезает, смотрим на ПСП. Сколько памяти нужно под конкретную модель и квант, мы считали отдельно в расчёте видеопамяти под модель и KV-кэш. Эта статья — про вторую половину: скорость.

Почему каждый токен — это чтение всей модели из памяти

Языковая модель пишет ответ по одному токену. Токен — это кусочек текста: слово, часть слова или знак. Чтобы выдать следующий токен, модель пропускает его через все свои слои и для этого обращается ко всем своим весам. Веса — это миллиарды чисел, которые лежат в памяти. Для плотной модели размером 5 ГБ это значит: прочитать из памяти около 5 ГБ на каждый токен.

Арифметики при этом немного, и современный чип справляется с ней быстро. Узкое место — доставка данных из памяти к вычислительным блокам. Чип большую часть времени ждёт память. Инженеры называют такую задачу memory-bound — «упирается в память». NVIDIA в техническом блоге «Mastering LLM Techniques» прямо пишет про фазу генерации: это операция, ограниченная памятью. К тому же выводу приходит обзор «LLM Inference Unveiled» (arXiv 2402.16363): обработка промпта упирается в вычисления, а генерация токенов — в память, даже на профессиональной карте.

Удобная аналогия — повар и склад. Повар (вычислительные блоки) режет быстро. Но перед каждым блюдом ему приходится заново принести со склада все продукты. Сколько блюд в час он отдаст, решает не скорость ножа, а ширина двери склада. Ширина двери и есть ПСП.

Отсюда главное следствие для локального запуска — то, что в англоязычных гидах обсуждают как memory bandwidth for local LLM: при одном запросе (так называемый batch 1 — обычный чат одного человека) скорость генерации растёт вместе с полосой памяти, а не с числом ядер. Так же считают англоязычные калькуляторы скорости, например у Hardware Corner. Ниже мы проверяем формулу на реальных замерах.

Формула потолка: токенов в секунду = ГБ/с ÷ размер модели в ГБ

Что такое токены в секунду? Это скорость, с которой модель выдаёт новый текст: сколько токенов она генерирует за одну секунду ответа. Сокращённо — ток/с, в английских тестах t/s или tok/s. В llama.cpp эту скорость показывает колонка tg (token generation, генерация токенов). Её не путают с pp (prompt processing) — скоростью чтения вашего запроса.

Формула потолка выводится из механизма выше. Если на каждый токен нужно прочитать всю модель, то за секунду можно прочитать её не больше, чем «ПСП ÷ размер» раз:

потолок ток/с = ПСП (ГБ/с) ÷ размер модели в памяти (ГБ)

Потолок — это предел, быстрее которого физически не бывает. Реальная скорость всегда ниже: часть времени уходит на накладные расходы. Насколько ниже — разберём в следующих разделах.

Расчёт по шагам на Llama 3.1 8B

  1. Берём размер файла модели. Llama 3.1 8B Instruct в кванте Q4_K_M (сжатый вариант, около 4,5–5 бит на вес) весит 4 920 739 232 байта, то есть 4,92 ГБ (размер файла по данным Hugging Face).
  2. Берём паспортную ПСП карты со страницы производителя: RTX 5090 — 1792 ГБ/с, RTX 4090 — 1008 ГБ/с, RTX 3090 — 936 ГБ/с (данные NVIDIA на 8 ноября 2026 года).
  3. Делим. RTX 5090: 1792 ÷ 4,92 = 364 ток/с. RTX 4090: 1008 ÷ 4,92 = 205 ток/с. RTX 3090: 936 ÷ 4,92 = 190 ток/с.
  4. Умножаем на долю потолка, которую реально берут карты (раздел ниже): примерно 0,6–0,8. Для RTX 4090 ожидаем порядка 120–165 ток/с. Независимый замер XiongjieDai (llama.cpp, май 2024) для Llama 3 8B Q4_K_M на этой карте дал 127,74 ток/с.

Как посчитать ПСП, если её нет в паспорте

ПСП видеопамяти = ширина шины в битах ÷ 8 × скорость памяти на контакт. Пример: у RTX 3090 шина 384 бита и GDDR6X на 19,5 Гбит/с. Получаем 384 ÷ 8 × 19,5 = 936 ГБ/с — ровно то, что NVIDIA пишет в whitepaper архитектуры GA102. С обычной оперативной памятью то же самое: у Ryzen AI Max+ 395 шина 256 бит и LPDDR5x-8000, то есть 8000 МТ/с × 32 байта = 256 ГБ/с.

Почему квантование ускоряет генерацию

Квант — это способ хранить каждый вес меньшим числом бит. Меньше байт на модель — меньше читать на каждый токен. Llama 3 8B в 16-битном виде весит 16,06 ГБ, в Q4_K_M — около 4,92 ГБ. Потолок RTX 4090 для них — 62,8 и 204,8 ток/с. Замер XiongjieDai: 54,34 и 127,74 ток/с. Квантование ускорило генерацию в 2,4 раза без смены железа. Чем платим за квант в качестве ответов — разобрано в материале про квантование Q4 и Q8.

Паспортная пропускная способность: видеокарты, Mac, мини-ПК и ОЗУ

Ниже — ПСП платформ, которые чаще всего рассматривают под локальные модели. Цифры — паспортные со страниц производителей на 8 ноября 2026 года или посчитаны по паспортным частотам памяти. Паспорт — это теоретический пик. Реальная полоса ниже: автор разбора на Habr (12.08.2026) измерил у RTX 5090 1671 ГБ/с последовательного чтения, это 93% от паспортных 1792.

Страница NVIDIA RTX 5090: рамкой выделены объём памяти 32 и 24 ГБ и пропускная способность 1792 и 1008 GB/sec у RTX 5090 и RTX 4090

На кадре — таблица характеристик со страницы RTX 5090 у NVIDIA, снятая 8 ноября 2026 года. Рамкой выделены две строки, ради которых стоит открывать паспорт карты под LLM: Memory Configuration и Memory Bandwidth. Объём у 5090 больше, чем у 4090, в 1,33 раза, а полоса — в 1,78 раза.

ПлатформаОбъём памятиПСП, ГБ/сОткуда цифра
RTX 509032 ГБ GDDR71792NVIDIA, страница RTX 5090
RTX 409024 ГБ GDDR6X1008NVIDIA, страница RTX 5090 (колонка 4090)
RTX 508016 ГБ GDDR7960NVIDIA, страница RTX 5080
RTX 309024 ГБ GDDR6X936NVIDIA, whitepaper GA102
RTX 5070 Ti16 ГБ GDDR7896NVIDIA, страница RTX 5070 Family
RTX 408016 ГБ GDDR6X717NVIDIA, страница RTX 5080 (колонка 4080)
RTX 507012 ГБ GDDR7672NVIDIA, страница RTX 5070 Family
RTX 5060 Ti8 или 16 ГБ GDDR7448NVIDIA, страница RTX 5060 Family
Mac Studio M5 Ultraдо 512 ГБ единой памяти≈1200 (1,2 ТБ/с)Apple, спецификации Mac Studio
Mac Studio M5 Max, 40-ядерный GPUдо 128 ГБ614Apple, спецификации Mac Studio
Mac Studio M5 Max, 32-ядерный GPU36 ГБ460Apple, спецификации Mac Studio
NVIDIA DGX Spark128 ГБ LPDDR5x273NVIDIA, страница DGX Spark
Ryzen AI Max+ 395 (Strix Halo)до 128 ГБ LPDDR5x256AMD: 256 бит × LPDDR5x-8000
ПК, двухканальная DDR5-6000сколько поставите96Hardware Corner: МТ/с × каналы × 8 ÷ 1000

Из таблицы видно главное противоречие рынка. Мини-ПК и Mac дают много памяти, но узкую полосу. Видеокарты — наоборот. Обычная двухканальная DDR5-6000 в 10,5 раза медленнее RTX 4090, поэтому модель, которая «не влезла» в видеокарту и легла в ОЗУ, тормозит так сильно. Подробная таблица ПСП и объёмов по всем чипам M1–M6 есть в разборе про единую память Mac для ИИ, здесь её не повторяем.

Потолок против замера: какую долю пропускной способности получаем

Формулу легко написать и трудно проверить: нужны замеры разных карт на одной модели, одной программе и одним тестом. Такой набор есть. В обсуждении llama.cpp #15013 участники гоняют одну и ту же Llama 2 7B в кванте Q4_0 через llama-bench на видеокартах NVIDIA с бекендом CUDA (бекенд — прослойка, через которую llama.cpp работает с железом: CUDA у NVIDIA, Metal у Apple, Vulkan и ROCm у AMD). Файл модели весит 3,56 ГиБ, это 3,82 ГБ. Мы разделили паспортную ПСП каждой карты на 3,82 и сравнили потолок с замером tg128 (генерация 128 токенов) без Flash Attention — оптимизации, которая ускоряет работу с контекстом. Оговорка: каждую строку таблицы прислал свой участник со своей сборкой llama.cpp и драйвером, поэтому разница в 2–3% между картами — в пределах шума.

КартаVRAM, ГБПСП, ГБ/сПотолок, ток/сЗамер tg128, ток/сДоля потолка
RTX 5090321792468,8290,0261,9%
RTX 4090241008263,7186,2170,6%
RTX 508016960251,1181,9972,5%
RTX 5070 Ti16896234,4176,8575,4%
RTX 309024936244,9158,1664,6%
RTX 507012672175,8127,5472,5%
RTX 5060 Ti16448117,290,9477,6%

Доля потолка у семи карт — от 61,9% до 77,6%, медиана 72,5%. Скорость следует за ПСП почти линейно: коэффициент корреляции между полосой и замером — 0,989 (1,0 — идеальная прямая). Обратите внимание на исключение: самая быстрая карта берёт самую маленькую долю. У RTX 5090 на токен маленькой модели уходит так мало времени, что заметнее становятся постоянные накладные расходы — запуск вычислений, синхронизация, служебные операции.

Это подтверждает и обратный опыт. Когда модель большая и байт на токен много, накладные расходы тонут в чтении. На Llama 3 8B в 16 битах (16,06 ГБ) замеры XiongjieDai дают: RTX 4090 — 54,34 ток/с (86,6% потолка), RTX 3090 — 46,51 (79,8%), RTX 4080 — 40,29 (90,2%). Чем тяжелее модель, тем ближе скорость к паспорту.

Доля потолка пропускной способности памяти, которую берёт генерация llama.cpp на Llama 2 7B Q4_0: семь видеокарт NVIDIA и четыре чипа Apple

Чипы Apple: удвоение полосы не удваивает скорость

У Apple аналогичный набор — обсуждение llama.cpp #4167 с той же моделью Llama 7B Q4_0 на Metal. Там видно, что доля потолка зависит от класса чипа. Базовые и Pro-чипы берут 70–83%. Ultra-чипы, склеенные из двух кристаллов, — 40–56%.

ЧипПСП, ГБ/сПотолок, ток/сЗамер tg, ток/сДоля потолка
M4 Pro, 20 ядер GPU27371,450,7471,0%
M5 Pro, 20 ядер GPU30780,366,3382,6%
M5 Max, 40 ядер GPU614160,6119,9274,7%
M5 Ultra, 80 ядер GPU1228321,3179,1055,8%

От M5 Max к M5 Ultra полоса растёт ровно в 2 раза, а скорость — в 1,49 раза. У прошлых поколений Ultra ещё ниже: M1 Ultra на 64 ядра — 83,73 ток/с при потолке 209,3 (40%), M2 Ultra и M3 Ultra — 94,27 и 92,14 ток/с (45% и 44%). Для Mac из этого следует практичное правило: на Ultra-чипе умножайте потолок не на 0,7, а на 0,4–0,6.

Что значит «токены в секунду» в чужом тесте: условия решают

Что значат «токены в секунду» в обзоре конкретной карты, зависит от условий теста. Число без модели, кванта, бекенда и длины контекста несравнимо. 186 ток/с у RTX 4090 — это Llama 2 7B Q4_0 в CUDA на пустом контексте. На 8B Q4_K_M та же карта даёт 127,74, на 16-битной 8B — 54,34. Сравнивайте карты только внутри одного теста. Именно поэтому в разделе ниже мы берём пары из одной таблицы.

Одинаковые 16 ГБ, разная скорость: RTX 5060 Ti против RTX 5070 Ti

Лучшая проверка тезиса «скорость решает ПСП, а не объём» — найти карты с одинаковым объёмом и разной полосой в одном и том же тесте. В таблице llama.cpp #15013 таких пар несколько.

Таблица CUDA Scoreboard в обсуждении llama.cpp #15013: команда llama-bench, строки RTX 5070 Ti 16 ГБ со скоростью 176.85 и RTX 3090 24 ГБ со скоростью 158.16 токена в секунду

Кадр снят 8 ноября 2026 года. Номер 1 — команда, которой участники получают свои цифры (её же используем в разделе про самопроверку). Номер 2 — RTX 5070 Ti на 16 ГБ: 176,85 ток/с. Номер 3 — RTX 3090 на 24 ГБ: 158,16 ток/с. Карта с меньшим объёмом быстрее на 12%.

  • RTX 5060 Ti 16 ГБ против RTX 5070 Ti 16 ГБ. Объём один и тот же. Шина — 128 против 256 бит, ПСП — 448 против 896 ГБ/с (×2,0). Скорость — 90,94 против 176,85 ток/с (×1,94). Почти идеальное совпадение отношения полосы и отношения скорости.
  • RTX 3090 24 ГБ против RTX 5070 Ti 16 ГБ. У старой карты на 8 ГБ больше памяти и чуть больше паспортная ПСП (936 против 896 ГБ/с). Но в замере она медленнее: 158,16 против 176,85 ток/с. Разница — в доле потолка (64,6% против 75,4%): более новая архитектура лучше использует свою полосу, а участники гоняли тест на разных версиях llama.cpp (у каждой строки таблицы свой коммит). Объём здесь не помогает вообще.
  • RTX 5080 против RTX 5070 Ti. Обе по 16 ГБ, у 5080 полоса шире на 7,1% (960 против 896 ГБ/с). Скорость выше всего на 2,9% (181,99 против 176,85). Пока объём одинаковый, доплата за старшую модель почти не покупает скорость генерации.
  • RTX 5060 Ti 8 ГБ и 16 ГБ. По данным NVIDIA, у обеих версий одна полоса — 448 ГБ/с. Удвоенная память не ускоряет ту же модель. Она открывает модели, которые в 8 ГБ не помещаются.

Вывод для выбора: 24 ГБ у RTX 3090 стоит брать ради моделей 24–32B, которые не влезут в 16 ГБ, а не ради скорости. Разбор конкретных карт под эту задачу — в материале про выбор видеокарты для локального ИИ.

Модель не влезла в VRAM: скорость падает в разы, а не на проценты

Теперь обратная сторона — объём. Самый наглядный замер с открытой методикой опубликовал Максим Саплин на DEV Community 22 августа 2024 года. Модель Llama 3.1 70B в кванте Q4 (около 42,5 ГБ) он запускал на RTX 4090 с 24 ГБ и 96 ГБ DDR5-4800. Полосу ОЗУ он измерил в AIDA — около 70 ГБ/с. Стенд — Windows и LM Studio на движке llama.cpp.

Где лежат весаЗамер, ток/с
Половина в VRAM, половина в ОЗУ2,32
Всё в ОЗУ, считает процессор1,42
«100% на GPU», но лишнее переливается в Shared VRAM драйвера0,69

Посчитаем, что предсказывает формула. Если 21 ГБ лежит в VRAM, а 21,5 ГБ в ОЗУ, на каждый токен карта читает свою часть за 21 ÷ 1008 = 0,021 с, а процессор свою — за 21,5 ÷ 70 = 0,307 с. Вместе 0,328 с, то есть потолок около 3,05 ток/с. Замер — 2,32, это 76% потолка. Видеопамять у Саплина разогнана (+1600 МГц), но на результат это почти не влияет: узкое место здесь — ОЗУ. Для варианта «всё в ОЗУ» потолок 70 ÷ 42,5 = 1,65 ток/с, замер 1,42 (86%). Формула работает и здесь, просто считает каждую память отдельно.

А теперь сравнение, ради которого раздел и нужен. Если бы 42,5 ГБ влезли в VRAM карты с полосой 1008 ГБ/с, потолок был бы 23,7 ток/с — в 10 раз больше замера с половиной весов в ОЗУ. Та же RTX 4090 на 8B-модели, которая влезает целиком, выдаёт 127,74 ток/с — в 55 раз быстрее.

Формула полезна и как проверка чужих обещаний. Гид CraftRigs (апрель 2026) пишет про 8–12 ток/с для 70B Q4_K_M на RTX 3090 с 64 ГБ DDR5 при 40–45 слоях модели на видеокарте. Проверим. При таком делении в ОЗУ остаётся 18,6–21,3 ГБ. Стенд самого гида — DDR5-5600, у двухканальной это 89,6 ГБ/с по паспорту. С учётом времени на часть в VRAM получается не больше 3,8–4,3 ток/с. Цифра 8–12 ток/с по правилу «скорость × вес ≤ ПСП» в такой конфигурации недостижима. Возможно, гид имел в виду другую модель или другие условия, но с указанными параметрами она не сходится.

Длинный контекст: KV-кэш добавляет чтение на каждый токен

KV-кэш — это память модели об уже прочитанном тексте. Чтобы не пересчитывать весь диалог для каждого нового токена, модель хранит промежуточные результаты — ключи и значения (K и V) для каждого слоя. Этот кэш тоже читается на каждом шаге генерации. Значит, к весам модели добавляется ещё один объём, который растёт с длиной диалога.

Размер считается по файлу config.json модели. У Llama 3.1 8B 32 слоя, 8 KV-голов и размер головы 128. В 16-битном формате на один токен уходит 2 (K и V) × 32 × 8 × 128 × 2 байта = 128 КиБ. Дальше простое умножение на длину контекста и деление ПСП на «веса + кэш».

Контекст, токеновKV-кэш, ГБПотолок RTX 4090 без кэшаПотолок RTX 4090 с кэшемПадение
1 0240,13204,8199,4−2,7%
8 1921,07204,8168,2−17,9%
32 7684,29204,8109,4−46,6%
131 07217,18204,845,6−77,7%

Это потолок по формуле для полностью заполненного контекста, а не замер. Реальное падение зависит от архитектуры. Измеренный контрпример — тот же разбор на Habr (12.08.2026): на RTX 5090 гибридная MoE-модель, у которой лишь 11 слоёв внимания из 41, к контексту 32K теряет 14,5% (317,45 → 271,53 ток/с). У обычной плотной модели кэш растёт быстрее, и падение будет заметнее. Квантованный KV-кэш (8 бит вместо 16) режет его объём вдвое — и вдвое уменьшает лишнее чтение.

MoE-модели: объём считается по всем экспертам, скорость по активным

MoE (mixture of experts, «смесь экспертов») — это модель, которая на каждом токене использует только часть своих весов. Остальные «эксперты» в этот момент лежат без дела. Для нашей формулы это меняет всё: объём памяти нужен под все веса, а читать на каждый токен нужно только активные.

Модель (Q4_K_M)Файл, ГБАктивно на токенЧитается за токен, ГБПотолок RTX 4090
Qwen3-32B, плотная19,76все 32 млрд19,7651 ток/с
Qwen3-30B-A3B, MoE18,563,3 из 30,5 млрд (10,8%)≈2,0 (оценка пропорцией)≈502 ток/с

Обе модели почти одинаково занимают память — около 19–20 ГБ, обе влезают в 24 ГБ. Но потолок скорости у MoE в 10 раз выше. Цифра 2,0 ГБ — наша оценка по доле активных параметров: часть весов (внимание, эмбеддинги) читается всегда, поэтому реальный объём чтения немного больше.

Измерение показывает, что до потолка MoE добирается хуже плотных моделей. В разборе на Habr (12.08.2026) автор измерил реальную полосу RTX 5090 — 1671 ГБ/с — и посчитал, сколько её использует генерация. Плотная Qwen3.5-9B (5,0 ГБ на токен) выбирает 72% полосы: 239,62 ток/с. MoE Qwen3.5-35B-A3B (2,13 ГБ на токен) — только 41%: 317,45 ток/с. MoE быстрее в абсолюте, но оставляет на столе больше. Это один разбор одного автора, но методика и команды в нём приведены.

Практический вывод: под MoE важен объём (вместить всех экспертов), а скорость будет высокой даже на средней полосе. Поэтому MoE-модели — главный аргумент в пользу мини-ПК и Mac с большой единой памятью и умеренной ПСП.

Где формула не работает: промпт, батч, вторая карта и бекенд

У формулы «ПСП ÷ размер» есть четыре исключения. Каждое объясняет, почему чужие цифры иногда выглядят «невозможными».

Обработка промпта упирается в вычисления

Прежде чем писать ответ, модель читает ваш запрос — это фаза prefill. Здесь сотни токенов обрабатываются разом, и одно чтение весов делится на них все. Узким местом становятся вычисления. RTX 5090 в том же тесте #15013 обрабатывает промпт со скоростью 14 073 ток/с, а генерирует — 290 ток/с, в 48,5 раза медленнее. Если вас раздражает долгая пауза перед первым словом на длинном документе, дело не в ПСП, а в вычислительной мощности.

Несколько запросов сразу (батч)

Когда модель обслуживает несколько пользователей одновременно, веса читаются один раз на всех. В замерах ggml-org на DGX Spark модель gpt-oss-20b (MXFP4) выдаёт 80,13 ток/с одному пользователю. При 32 одновременных потоках суммарно получается 681,49 ток/с — в 8,5 раза больше. Каждому отдельному потоку достаётся 21,3 ток/с. Поэтому серверные цифры в тысячи токенов в секунду нельзя сравнивать с домашним чатом.

Вторая видеокарта не ускоряет генерацию

Когда модель делят между картами по слоям, карты работают по очереди: сначала первая читает свои слои, потом вторая — свои. Объём складывается, ПСП — нет. Замеры XiongjieDai на Llama 3 70B Q4_K_M:

КонфигурацияГенерация, ток/с
2 × RTX 309016,29
4 × RTX 309016,89
6 × RTX 309016,93
2 × RTX 409019,06
4 × RTX 409018,83
8 × RTX 409018,76

Шесть карт вместо двух — плюс 4%. Потолок одной RTX 3090 для такой модели, если бы она влезла, — около 22 ток/с; две карты берут 74% этого числа, но не больше. А на 8B-модели, которая влезает в одну карту, вторая RTX 3090 даже замедляет: 108,07 ток/с против 111,74. Вторую карту покупают ради объёма, а не ради скорости. Параллельные режимы (tensor parallel в серверных движках) умеют складывать полосу, но это уже отдельная настройка, а не обычный llama.cpp.

Бекенд решает, какую часть полосы получит чип

ПСП — условие необходимое, но не достаточное. На одном и том же Ryzen AI Max+ 395 (256 ГБ/с, потолок для Llama 7B Q4_0 — 67 ток/с) один участник обсуждения llama.cpp #10879 получил 2 октября 2026 года: на процессоре 29,52 ток/с (44% потолка), через ROCm — 51,33 (77%), через Vulkan — 54,38 (81%). Память та же, разница почти вдвое.

Видеокарты NVIDIA тоже меняются от бекенда. В Vulkan-таблице #10879 на той же модели RTX 4090 даёт 187,97 ток/с (почти как в CUDA), RTX 3090 — 164,05, а RTX 5070 Ti — 135,63 против 176,85 в CUDA (на 23% меньше). Как отличаются Ollama, LM Studio и голый llama.cpp на одной модели, мы разбирали в сравнении Ollama, LM Studio и llama.cpp.

Что брать под 8B, 14B, 32B и 70B: потолки по платформам

Сведём всё в одну таблицу. Для каждой платформы считаем, влезает ли модель в Q4_K_M с запасом 10% на контекст и служебные нужды, и какой у неё потолок скорости. Прочерк — модель не влезает. Размеры файлов взяты с Hugging Face: Llama 3.1 8B — 4,92 ГБ, Qwen3-14B — 9,0 ГБ, Qwen3-32B — 19,76 ГБ, Llama 3.1 70B — 42,52 ГБ.

ПлатформаОбъём, ГБПСП, ГБ/с8B14B32B70B
RTX 5060 Ti 16 ГБ164489150——
RTX 5070 Ti 16 ГБ16896182100——
RTX 3090 24 ГБ2493619010447—
RTX 4090 24 ГБ24100820511251—
RTX 5090 32 ГБ32179236419991—
Ryzen AI Max+ 395, 128 ГБ1282565228136
DGX Spark, 128 ГБ1282735630146,4
Mac Studio M5 Max 40 ядер, 128 ГБ128614125683114
Mac Studio M5 Ultra, 512 ГБ51212002441336128

Все числа — потолок в ток/с. Реальную скорость получаем умножением на 0,6–0,8 для видеокарт и на 0,4–0,8 для чипов Apple (у Ultra — нижняя граница). Для Strix Halo множитель сильно зависит от бекенда: по замеру #10879 — от 0,44 на процессоре до 0,81 через Vulkan.

Как читать таблицу по сценариям:

  • 8B и 14B влезают везде. Здесь решает только полоса: любая видеокарта из списка в 1,6–7 раз быстрее мини-ПК на 128 ГБ (Strix Halo и DGX Spark).
  • 32B уже не влезает в 16 ГБ. Карта на 24 ГБ даёт потолок около 50 ток/с, мини-ПК — 13–14. Это та граница, где объём начинает решать.
  • 70B не влезает ни в одну игровую карту. Остаются две дороги: две видеокарты (объём сложится, скорость останется на уровне одной — около 16–19 ток/с по замерам выше) или платформа с большой единой памятью, где потолок — 6–28 ток/с в зависимости от полосы.

Сравнение трёх мини-платформ на 70B и 120B моделях подробно разобрано в материале DGX Spark, Mac Studio и Strix Halo, а какой объём видеопамяти брать на вырост — в гиде про объём VRAM для локальных LLM.

Как проверить свою карту через llama-bench: тест на 5 минут

Чтобы сравнить свою карту с таблицей выше, повторите тест обсуждения #15013. Понадобится собранный llama.cpp с бекендом под вашу карту (CUDA для NVIDIA, Metal для Mac) и около 4 ГБ свободного места.

  1. Скачайте эталонную модель — llama-2-7b.Q4_0.gguf из репозитория TheBloke/Llama-2-7B-GGUF на Hugging Face. Это та же модель, что у всех участников теста (3,56 ГиБ).
  2. Запустите тест: llama-bench -m llama-2-7b.Q4_0.gguf -ngl 99 -fa 0,1. Флаг -ngl 99 отправляет все слои на видеокарту, -fa 0,1 прогоняет тест без Flash Attention и с ним.
  3. Найдите строку tg128. Это скорость генерации 128 токенов. Строка pp512 — скорость чтения промпта, для сравнения с формулой она не нужна.
  4. Посчитайте свой потолок: паспортная ПСП карты ÷ 3,82. Для RTX 4090 это 1008 ÷ 3,82 ≈ 264 ток/с.
  5. Сравните. Нормальная доля для видеокарты — 60–80% потолка. Если у вас заметно меньше 60%, проверьте, что все слои действительно на GPU (не переполнена ли память), какой бекенд собран и не включён ли энергосберегающий режим.
  6. Запишите условия: версию llama.cpp (хеш коммита), бекенд, драйвер и операционную систему. Без них свою цифру не с чем сравнить.

Если у вас несколько видеокарт, в обсуждении просят тестировать на одной: при делении модели на карты результат перестаёт отражать полосу одной карты.

Слабые места расчёта скорости LLM: что не проверено

Эта статья опирается на чужие замеры и наши расчёты. Вот где цифры могут разойтись с тем, что увидите вы.

  • Своих замеров нет. Методика каждого чужого замера названа в тексте.
  • Паспорт — не реальность. Потолок считается по паспортной ПСП. Реальная полоса ниже: у RTX 5090 измерено 1671 ГБ/с против 1792 (93%).
  • Одна эталонная модель. Основные таблицы — Llama 2 7B Q4_0 на пустом контексте. На новых архитектурах (MoE, гибриды) доля потолка другая: 41% против 72% в разборе на Habr.
  • Бекенд и сборка меняют цифры. Vulkan и CUDA на одной карте расходятся до 23%, процессор и видеоядро на одном Strix Halo — почти вдвое.
  • Часть замеров старая или единичная. Саплин и XiongjieDai — 2024 год, Strix Halo — отчёт одного участника от 2 октября 2026 года. Они показывают порядок величины, а не константу.
  • Размер Q4_K_M для Llama 3 8B взят по файлу Llama 3.1 8B (4,92 ГБ) — это приближение. Для 16-битной версии размер точный.
  • Что устареет первым: таблица ПСП с выходом новых карт и чипов и доля потолка у новых версий llama.cpp. Свежие замеры появляются в обсуждениях #15013 и #4167 на GitHub.

FAQ

Что важнее для локальной нейросети: объём VRAM или пропускная способность памяти?

Сначала объём, потом полоса. Объём решает, влезет ли модель: не влезла — скорость падает в разы, у 70B-модели на RTX 4090 примерно в 10 раз. Если модель влезает на нескольких вариантах железа, выбирает уже ПСП: при одинаковых 16 ГБ RTX 5070 Ti с полосой 896 ГБ/с генерирует почти вдвое быстрее RTX 5060 Ti с полосой 448 ГБ/с. Лишний объём сверх нужного скорость не добавляет.

Сколько токенов в секунду даст моя видеокарта на модели 8B?

Разделите паспортную пропускную способность карты на размер файла модели и умножьте на 0,6–0,8. Llama 3.1 8B в Q4_K_M весит 4,92 ГБ, поэтому у RTX 4090 с полосой 1008 ГБ/с потолок — 205 токенов в секунду, а реально — порядка 120–165. Замер XiongjieDai на этой карте дал 127,74. Если модель не влезла в видеопамять целиком, формула считает каждую память отдельно, и скорость падает в разы.

Ускорит ли вторая видеокарта генерацию текста?

Нет, в обычном llama.cpp — не ускорит. Карты читают свои слои модели по очереди, поэтому объём складывается, а пропускная способность — нет. Замеры на Llama 3 70B: две RTX 3090 дают 16,29 токена в секунду, шесть — 16,93. Вторую карту берут, чтобы большая модель вообще поместилась в видеопамять. Складывать полосу умеют режимы tensor parallel — в первую очередь в серверных движках.

Что значит «токены в секунду» в характеристиках и тестах?

Токены в секунду — это скорость, с которой модель печатает ответ. Токен — кусочек текста: слово, часть слова или знак. В тестах llama.cpp это колонка tg (генерация), а pp — отдельная скорость чтения вашего запроса; путать их нельзя: у RTX 5090 на одной модели pp — 14 073, а tg — 290 токенов в секунду. Сравнивать цифры можно только при одинаковых модели, кванте и бекенде.

Почему мини-ПК или Mac с 128 ГБ памяти медленнее одной RTX 4090 на небольшой модели?

Потому что на небольшой модели объём не нужен, а полоса у них уже. Ryzen AI Max+ 395 и DGX Spark дают 256–273 ГБ/с, Mac Studio на M5 Max — 614 ГБ/с, RTX 4090 — 1008 ГБ/с. Для 8B-модели в Q4_K_M это потолок 52–56, 125 и 205 токенов в секунду соответственно. Выигрывают такие платформы там, где модель в видеокарту не помещается.

Почему при длинном диалоге модель отвечает медленнее?

На каждом токене модель читает не только свои веса, но и KV-кэш — сохранённые данные о прошлом тексте. Он растёт с длиной диалога. У Llama 3.1 8B на 32 тысячах токенов контекста кэш занимает около 4,3 ГБ — почти как сама модель в Q4_K_M. По формуле потолок RTX 4090 падает с 205 до 109 токенов в секунду, почти вдвое.

Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.