Найти в Дзене

Одинаковое железо — разные токены: почему выбор софта ускоряет ИИ сильнее, чем апгрейд GPU

Быстрый инженерный разбор от MDM Electronics — без маркетинговой мишуры, только практические факты. Два одинаковых сервера. Те же GPU, CPU, RAM и сеть. Но один отвечает вдвое быстрее — или даёт цену за токен в 1,5 раза ниже. Разница — в программном стеке: как организован KV‑кеш, батчинг, компиляция вычислительного графа, и как сервер инференса использует CPU–RAM–I/O. Во время генерации LLM хранит промежуточные представления (ключи/значения — Key/Value) для каждого токена контекста. Это и есть KV‑кеш. Если кеш устроен эффективно, модель не пересчитывает одно и то же и может: Инженерная мысль: умные реализации (paged/sliced кеш, шаринг, оффлоад) позволяют держать больше сессий на том же объёме VRAM — токен выходит дешевле. Батчинг — это объединение нескольких запросов в один прогон по GPU. Есть два режима: Чем умнее батчинг и планировщик, тем выше tok/s при одновременных пользователях — без апгрейда GPU. Граф-компиляция (kernel fusion, autotune, планирование памяти) превращает модель и
Оглавление

Быстрый инженерный разбор от MDM Electronics — без маркетинговой мишуры, только практические факты.

  • Сервер инференса решает, как расходуется VRAM и как быстро «текут» токены.
  • vLLM даёт максимум пропускной способности при высокой конкуррентности.
  • TensorRT-LLM минимизирует латентность первого токена и выжимает максимум из NVIDIA при фиксированной модели.
  • TGI — сбалансированный промышленный сервер с экосистемой и удобным масштабированием.
  • Ollama — быстрый старт и POC, но не про большой прод.
  • Text Generation WebUI — R&D/демо, а не боевой контур.

Почему «софт быстрее железа»

Два одинаковых сервера. Те же GPU, CPU, RAM и сеть. Но один отвечает вдвое быстрее — или даёт цену за токен в 1,5 раза ниже. Разница — в программном стеке: как организован KV‑кеш, батчинг, компиляция вычислительного графа, и как сервер инференса использует CPU–RAM–I/O.

Что такое KV‑кеш простыми словами

Во время генерации LLM хранит промежуточные представления (ключи/значения — Key/Value) для каждого токена контекста. Это и есть KV‑кеш. Если кеш устроен эффективно, модель не пересчитывает одно и то же и может:

  • обслуживать больше запросов одновременно;
  • тратить меньше VRAM на запрос при длинных контекстах;
  • быстрее выдавать новые токены.

Инженерная мысль: умные реализации (paged/sliced кеш, шаринг, оффлоад) позволяют держать больше сессий на том же объёме VRAM — токен выходит дешевле.

Батчинг: как превращать очередь в скорость

Батчинг — это объединение нескольких запросов в один прогон по GPU. Есть два режима:

  • Статический батчинг — собираем N запросов и считаем вместе. Хорош для «ровного» потока.
  • Непрерывный (continuous) батчинг — динамически подмешиваем новые запросы между токенами старых. Это резко увеличивает пропускную способность при «рваном» трафике (реальные чаты и API).

Чем умнее батчинг и планировщик, тем выше tok/s при одновременных пользователях — без апгрейда GPU.

Компиляция графа: когда важна первая буква

Граф-компиляция (kernel fusion, autotune, планирование памяти) превращает модель и параметры в оптимизированный «движок». Выигрыши:

  • минимальная задержка первого токена (TTFT);
  • высокая стабильная скорость на фиксированной модели/контексте;
  • предсказуемое потребление VRAM.

Цена вопроса — время компиляции и меньшая гибкость к частым сменам моделей и параметров.

CPU–RAM–I/O: недооценённые герои

Если CPU медленный, а RAM мало — GPU простаивают. Добавьте к этому «узкую» сеть и медленный диск — и половина ускорения софта пропала.

  • CPU: планировщик запросов, токенизация, сжатие/распаковка весов, препроцессинг — всё это на CPU. Берите запас по ядрам и частоте.
  • RAM: очереди, буферы, кэши, словари токенов — закладывайте +20–30% к расчётам.
  • I/O: быстрый NVMe под модели/кеши; 25–100 GbE и/или NVLink/IB для мульти‑GPU и кластера.

«Светофор» стеков под типовые задачи

Цвета: 🟢 — лучший выбор / 🟡 — годится с оговорками / 🔴 — не рекомендуем для продакшна в этом сценарии.

Сценарий / СтекvLLMTensorRT‑LLMTGIOllamaText Gen WebUIЧат‑бот с высокой конкуррентностью (много одновременных пользователей)🟢🟡🟢🟡🔴Минимальная латентность первого токена (интерактив в продукте)🟡🟢🟡🟡🔴Мультимодельный API / быстрые релизы и обновления🟡🟡🟢🟡🔴R&D, сравнение моделей/LoRA, демо без DevOps🟡🟡🟡🟢🟢Он‑прем кластер с шардированием/автоскейлом🟢🟡🟢🔴🔴

Как читать таблицу.

  • vLLM — король пропускной способности за счёт умного KV‑кеша и continuous batching. Идеален для чатов и API с очередями.
  • TensorRT‑LLM — граф‑компиляция под NVIDIA, отличный TTFT и пиковые tok/s на фиксированной модели.
  • TGI — «промышленный» баланс: мультимодельность, метрики, шардирование, стабильность.
  • Ollama — быстрый старт, локальные демо, edge‑сценарии; масштаб и SLO ограничены.
  • Text Generation WebUI — GUI‑комбайн для тестов/витрин; не про SLA и пиковые нагрузки.

Откуда берётся разница на одинаковом железе

Кейс на салфетке. Сервер с 2×GPU по 48 ГБ. Поток чатов «пила» — то пусто, то густо.

  • С «наивным» сервером (без умного батчинга) GPU загружены 40–50%, TTFT высокое, средняя скорость 120 tok/s на узел.
  • С vLLM (continuous batching + paged KV‑cache) загрузка 80–90%, TTFT ровнее, средняя скорость 220–250 tok/s.
  • С TensorRT‑LLM на фиксированном ассистенте TTFT падает максимально, одиночные ответы «ощущаются» мгновенно; при всплесках конкуррентности нужна грамотная настройка очереди.

Экономика: при той же цене железа токен выходит дешевле, а SLA — стабильнее.

Быстрый ликбез: 5 инженерных рычагов ускорения

  1. KV‑кеш: используйте page‑/block‑based реализации, шарьте кеш между запросами, оффлоадите в RAM/Host лишь как «аварийный» режим.
  2. Батчинг: включайте continuous batching, ограничивайте максимальный batch по VRAM и задержке, настройте политику очередей.
  3. Квантизация/точность: BF16/FP8 как «база» на современных GPU; INT8/INT4 — там, где допустима потеря качества.
  4. Граф‑компиляция: компилируйте частые маршруты (фиксированный контекст/модель) — ради TTFT и стабильного throughput.
  5. Профилирование: меряйте TTFT, tok/s, RPS, загрузку GPU/CPU, пропускную способность сети, I/O NVMe. Оптимизируйте узкое место, а не «всё сразу».

Мини‑гайд по железу, чтобы софт раскрылся

  • GPU/VRAM: выбираем по контексту и конкурентности; лучше «чуть больше VRAM + умный кеш», чем «чуть быстрее ядра, но упираемся в память».
  • CPU: 24–32 высокопроизводительных ядра на узел — безопасная база для токенизации и оркестрации.
  • RAM: 128–256 ГБ на 1–2 GPU, +20–30% к расчётам под буферы и пики.
  • Хранилище: NVMe Gen4/Gen5 под модели и кеши; IOPS и пропускная не хуже 3–5 ГБ/с на узел.
  • Сеть: 25–100 GbE для мульти‑GPU/кластера; следите за задержкой и Jumbo Frames.

Готовые пресеты (стартуйте сегодня)

A. Корпоративный чат‑бот, 200–400 одновременных сессий

  • Стек: vLLM
  • «Железо»: 2×GPU 48–80 ГБ, CPU 24–32C, RAM 192–256 ГБ, NVMe ≥ 3 ГБ/с
  • Настройки: continuous batching, paged KV‑cache, max batch по SLA, мониторинг tok/s и TTFT

B. Продуктовый ассистент, критична «первая буква»

  • Стек: TensorRT‑LLM
  • «Железо»: 1×H100/RTX 6000 PRO, CPU 16–24C, RAM 128 ГБ
  • Настройки: компилированные движки под фиксированный контекст, INT8 + калибровка, профили TTFT

C. Мультимодельный API, частые релизы

  • Стек: TGI
  • «Железо»: 2–4×GPU 48–80 ГБ, RAM 256–512 ГБ
  • Настройки: авто‑шардирование, Prometheus/Grafana, квоты по моделям, квантизация по профилю качества

D. POC/Edge/локальные демо

  • Стек: Ollama
  • «Железо»: CPU + 1×GPU 24–48 ГБ
  • Настройки: маленькие модели, короткий контекст, офлайн‑режим, простая аутентификация

E. Лаборатория/витрина R&D

  • Стек: Text Generation WebUI
  • «Железо»: 1×GPU 24–48 ГБ
  • Настройки: плагины для сравнения моделей/LoRA, запрет прямого выхода в прод

Чек‑лист внедрения за 1 день

  • Зафиксируйте модель(и), максимальный контекст и целевой SLA (TTFT, tok/s, RPS).
  • Выберите стек по «светофору» и примените пресет.
  • Прогоните нагрузочные тесты на своём корпусе данных.
  • Включите метрики и алерты (VRAM, очередь, токены/сек, ошибки).
  • Заложите план деградации: младшая модель, меньше контекст, квантизация.

Что мы делаем в MDM Electronics

Мы разворачиваем ИИ‑инфраструктуру под ключ: подбор, поставка, установка, настройка ПО, интеграция и сопровождение.

  • Проверяем под реальной нагрузкой — вы получаете систему, готовую с первого дня.
  • Быстрая замена и поддержка — минимум бюрократии, максимум аптайма.
  • Максимальная производительность за свои деньги — без переплаты за бренд, только эффективные компоненты под ваши задачи.
  • Совместимость с вашими стойками, сетями и ПО — внедрение без остановки бизнеса.

Нужен расчёт под ваш сценарий? Пришлите модель, контекст и ожидаемую конкуррентность — соберём конфигурацию и покажем цифры до закупки.

Подробная информация и контакты на нашем сайте https://mdmelectronics.ru/