Заметки айтишника
Inference-сервер: как развернуть AI-модель и запустить её в production
Inference (инференс) — это работа уже обученной модели: она получает запрос и возвращает ответ. Inference-сервер превращает модель в сервис, к которому приложения обращаются через API. Для production важны не только GPU и видеопамять, но и программная платформа (vLLM, NVIDIA Triton, TGI), пакетная обработка запросов, балансировка, мониторинг и масштабирование. Качество сервиса измеряют временем до первого токена, скоростью генерации, пропускной способностью и задержкой p95 — временем, за которое выполняются 95% запросов. Конфигурацию подтверждают нагрузочным тестом на реальных запросах.
Обучить или выбрать модель — половина дела. Дальше её нужно запустить так, чтобы она круглосуточно отвечала сотрудникам, клиентам или другим системам, выдерживала пиковую нагрузку и не падала при обновлениях. Этим и занимается inference-сервер.

Разберём, из чего состоит инфраструктура для инференса, какие показатели отслеживать и как рассчитать ресурсы под нагрузку.

Инференс (inference): что это простыми словами

Инференс — это когда обученная модель делает свою работу: получает вопрос и выдаёт ответ. По-английски этот этап называют inference, а сервер, на котором он идёт, — inference-сервером или сервером для инференса.

В машинном обучении есть два этапа. На этапе обучения модель изучает данные и подстраивает свои параметры — это долго и требует больших вычислительных мощностей. На этапе инференса (model inference) обученная модель применяется к новым данным: отвечает на вопрос, распознаёт объект на фото, переводит речь в текст, оценивает вероятность оттока клиента.

Inference-сервер (inference server) — это программно-аппаратная система, которая:

  • загружает одну или несколько моделей в память GPU или CPU;
  • принимает запросы через API — inference API;
  • объединяет запросы в пакеты, чтобы эффективнее использовать ускорители;
  • возвращает ответы с нужной скоростью;
  • отдаёт метрики для мониторинга.


Большая часть вычислений, которые выполняет ИИ в работе компании, — это именно инференс. Обучение проводят разово или периодически, а модель в production отвечает на запросы каждый день.

Локальная нейросеть для компании: свой сервер вместо внешнего API

Локальная нейросеть, или локальная LLM, — это та же языковая модель, только запущенная не у внешнего сервиса, а на собственном inference-сервере компании или на выделенном сервере в дата-центре. Сотрудники и программы обращаются к ней так же, через API, но запросы и документы не уходят за пределы вашей инфраструктуры.

Развернуть модель на своём сервере имеет смысл, когда:

  • в запросах есть персональные данные, договоры или коммерческая тайна;
  • нагрузка постоянная, и оплата за каждый запрос внешнему сервису выходит дороже собственной конфигурации;
  • нужна своя или дообученная модель, которой нет у внешних сервисов;
  • важна предсказуемая скорость ответа, независимая от загрузки чужой платформы.


Для нерегулярных задач и быстрых экспериментов внешний API бывает удобнее: не нужно настраивать инфраструктуру. Многие компании начинают с него, а на собственный inference-сервер переходят, когда сценарий подтвердил пользу.

Какие задачи решают на inference-сервере

Тип моделиПримеры задачЧто важно для сервера
Языковые модели (LLM)Чат-боты, ассистенты по документам, обработка обращений, генерация текстовОбъём видеопамяти, время до первого токена, скорость генерации
Компьютерное зрениеКонтроль качества на производстве, распознавание номеров, подсчёт объектов на видеоЧисло кадров в секунду, аппаратное декодирование видео
Распознавание речиРасшифровка звонков, протоколирование совещанийПропускная способность на объёме аудио
Классические ML-моделиСкоринг, прогноз спроса, рекомендацииЗадержка ответа, часто достаточно CPU
Векторные модели (эмбеддинги)Поиск по документам, RAGПропускная способность при индексации
Не всем моделям нужен GPU. Небольшие модели прогнозирования и скоринга часто работают на процессорах. GPU становится обязательным для языковых моделей, компьютерного зрения и распознавания речи на больших объёмах.

Показатели качества: что измерять в production

Для LLM-сервиса пользователь оценивает скорость по двум ощущениям: как быстро пошёл ответ и как быстро он печатается. Этим соответствуют технические метрики.
МетрикаЧто показываетОриентир для чат-ассистента
TTFT (time to first token)Сколько секунд проходит до появления первого слова ответаДо 1–2 секунд
Скорость генерации (TPOT — время на один токен)Сколько токенов в секунду получает один пользовательОт 10–20 токенов в секунду — быстрее, чем человек читает
Throughput (пропускная способность)Сколько токенов в секунду сервер выдаёт всем пользователям вместеЗависит от нагрузки, определяется тестом
ConcurrencyСколько запросов обрабатывается одновременноПо расчёту пиковой нагрузки
Задержка p95За сколько секунд выполняются 95% запросовУдобен для внутренних договорённостей о качестве сервиса
Эти показатели конфликтуют друг с другом. Чем больше запросов сервер объединяет в пакет, тем выше общая пропускная способность, но тем медленнее может отвечать каждый отдельный пользователь. Настройка inference-сервера — это поиск баланса под конкретную задачу. Для чат-бота важнее быстрый первый токен, для ночной обработки тысячи документов — максимальная пропускная способность, а время ответа на каждый документ почти не имеет значения.

Как посчитать нагрузку: пример

Допустим, внутренним ассистентом пользуются 200 сотрудников. В пиковый час одновременно запросы отправляют около 10% — это 20 параллельных запросов. Средний ответ — 300 токенов, желаемая скорость — 20 токенов в секунду на пользователя.

  • Один ответ генерируется примерно за 15 секунд.
  • Суммарно сервер должен выдавать 20 × 20 = 400 токенов в секунду.
  • Каждый запрос с поиском по документам вместе с ответом содержит около 5 тысяч токенов, и для каждого из них модель держит в видеопамяти KV-кэш.

Сколько видеопамяти займёт KV-кэш: формула расчёта

KV-кэш — это промежуточные данные (ключи и значения, keys и values), которые модель хранит по каждому токену каждого запроса, чтобы не пересчитывать их при генерации следующего слова. Его объём считают так:
KV-кэш на 1 токен = 2 × число слоёв × число KV-голов × размер головы × байт на значение
KV-кэш всего = KV-кэш на 1 токен × токенов в запросе × число одновременных запросов
Двойка в начале — это ключи и значения, которые хранятся отдельно. Число слоёв, KV-голов и размер головы указаны в описании архитектуры модели. Байт на значение — 2 в точности FP16 или 1, если KV-кэш хранится в FP8.

Посчитаем для Llama 3.1 8B: 32 слоя, 8 KV-голов размером 128, кэш в FP16.

  • На 1 токен: 2 × 32 × 8 × 128 × 2 байта = 131 072 байта, то есть 128 КБ.
  • На 1 запрос из 5 000 токенов: 128 КБ × 5 000 ≈ 0,65 ГБ.
  • На 20 одновременных запросов: 0,65 ГБ × 20 ≈ 13 ГБ.


Тот же расчёт для моделей другого размера:
МодельАрхитектураKV-кэш на 1 токен1 запрос, 5 000 токенов20 одновременных запросов
Llama 3.1 8B32 слоя, 8 KV-голов по 128128 КБ≈ 0,65 ГБ≈ 13 ГБ
Qwen2.5 14B48 слоёв, 8 KV-голов по 128192 КБ≈ 1 ГБ≈ 20 ГБ
Llama 3 70B80 слоёв, 8 KV-голов по 128320 КБ≈ 1,6 ГБ≈ 33 ГБ
Теперь сложим всё для модели на 8 млрд параметров. Веса в FP16 занимают около 16 ГБ, KV-кэш на 20 запросов — около 13 ГБ, ещё 10–20% уходит на саму среду запуска. Итого около 33–35 ГБ: карта на 24 ГБ не подойдёт, нужна карта на 48 ГБ. Если веса сжать до 4 бит (около 5 ГБ), всё уместится примерно в 20 ГБ, но на карте с 24 ГБ запаса почти не останется. Ещё один способ сэкономить — хранить сам KV-кэш в FP8: его объём уменьшается вдвое, такую возможность поддерживает, например, vLLM.

Из расчёта видно, что при длинных запросах и многих пользователях KV-кэш сравним по объёму с весами модели, а для крупных моделей может его превышать. Поэтому видеопамять для inference-сервера считают под пиковую нагрузку, а не только под размер модели.

Современные среды запуска за счёт пакетной обработки выдерживают такую нагрузку на одном GPU с 48 ГБ для модели на 7–8 млрд параметров в FP16 или на 14 млрд параметров в 8 битах. Но окончательный ответ даёт только нагрузочный тест: запускают реальные запросы с нарастающей интенсивностью и смотрят, при каком числе пользователей время до первого токена и p95 выходят за допустимые пределы.

Программная платформа: чем запускать модели

ПлатформаДля каких моделейОсобенности
vLLMЯзыковые моделиНепрерывная пакетная обработка, эффективное управление KV-кэшем, API в формате OpenAI
NVIDIA Triton Inference ServerРазные типы моделей: PyTorch, TensorRT, ONNX и другиеНесколько моделей на одном сервере, динамическое объединение запросов, развитые метрики
TGI (Text Generation Inference)Языковые моделиСерверное решение от Hugging Face для генерации текста
TensorRT-LLMЯзыковые модели на GPU NVIDIAМаксимальная производительность за счёт оптимизации под конкретную видеокарту, но сложнее в настройке
ONNX RuntimeКлассические и небольшие моделиРаботает на CPU и GPU, удобен для компьютерного зрения и табличных моделей
API в формате OpenAI, который поддерживают vLLM и ряд других платформ, упрощает интеграцию: приложения, написанные под внешние сервисы, можно переключить на собственный inference-сервер, поменяв адрес и ключ доступа.

vLLM: почему его чаще всего выбирают для языковых моделей

vLLM — открытая библиотека для запуска LLM, которую изначально разработали в Калифорнийском университете в Беркли. Её главная особенность — способ хранения KV-кэша PagedAttention: память видеокарты выделяется небольшими блоками по мере необходимости, а не одним большим куском на каждый запрос. За счёт этого на той же видеокарте помещается больше одновременных запросов.

Ещё несколько причин популярности vLLM:

  • непрерывная пакетная обработка: новые запросы добавляются в работу, не дожидаясь окончания текущих;
  • готовый API в формате OpenAI;
  • поддержка большинства популярных открытых моделей, в том числе Llama, Qwen и Mistral;
  • работа сразу на нескольких видеокартах, если модель не помещается в одну;
  • поддержка квантованных моделей и KV-кэша в FP8.


Для моделей компьютерного зрения, распознавания речи и классических ML-моделей vLLM не подходит — для них используют Triton или ONNX Runtime.

Архитектура inference-платформы (inference platform) в production

Один сервер с моделью подходит для пилота. Рабочая inference-платформа обычно включает:

  • API-шлюз — единая точка входа, авторизация, ограничение числа запросов на пользователя или систему;
  • балансировщик — распределяет запросы между несколькими экземплярами модели;
  • очередь — сглаживает пики и не даёт серверу захлебнуться при всплеске запросов;
  • реестр моделей — хранит версии моделей и позволяет откатиться на предыдущую;
  • мониторинг — загрузка GPU, видеопамять, длина очереди, TTFT, p95, ошибки;
  • логирование — журнал запросов для разбора инцидентов и контроля доступа.


Для управления всеми компонентами часто используют Kubernetes. Он перезапускает упавшие экземпляры, масштабирует их при росте нагрузки и позволяет обновлять модель без остановки сервиса: новая версия сначала получает небольшую часть трафика, и если метрики в порядке — весь.

Отказоустойчивость inference-сервиса

Если ассистент встроен в работу отдела продаж или поддержки, его простой останавливает процессы. Поэтому в production закладывают:

  • минимум два экземпляра модели на разных серверах или GPU;
  • автоматическое исключение неработающего экземпляра из балансировки;
  • резервное питание и охлаждение для серверов;
  • запасной сценарий: например, упрощённую модель, которая отвечает, пока основная недоступна;
  • регулярное резервное копирование конфигураций, индексов и векторных баз.

Какое оборудование нужно для inference-сервера

Требования к железу для инференса ниже, чем для обучения, но главным ограничением остаётся видеопамять. Модель на 7–8 млрд параметров в точности FP16 занимает около 16 ГБ, на 70 млрд параметров — около 140 ГБ. Квантование в 8 или 4 бита уменьшает объём в 2–4 раза.
НагрузкаОриентировочная конфигурация
Пилот, одна модель 7–8 млрд, до 10 пользователей1 GPU с 24 ГБ
Рабочий сервис на модели 8–14 млрд, десятки одновременных запросов1–2 GPU с 48 ГБ
Модель 30–70 млрд или сотни пользователей2–4 GPU с 48–80 ГБ
Компьютерное зрение на видеопотоках1–2 GPU начального уровня с аппаратным декодированием видео
Классические ML-моделиСерверы на CPU, иногда без GPU
Подробный расчёт видеопамяти и сравнение видеокарт — в нашей статье о выборе GPU-сервера для ИИ.

Где разместить inference-сервер

Inference-сервер работает круглосуточно, и от него зависят другие системы. Поэтому площадка должна обеспечивать резервированное питание, охлаждение и связь. Сервер с несколькими GPU потребляет несколько киловатт, и в офисной серверной его, как правило, не разместить.

Отдельный вопрос — данные. Если модель обрабатывает обращения клиентов, договоры или сведения о сотрудниках, запросы содержат персональные данные и коммерческую тайну. Собственный inference-сервер в российском ЦОД позволяет не передавать их внешним сервисам.

Как развернуть модель на inference-сервере: порядок запуска

  • Определите задачу, пользователей и допустимое время ответа.
  • Посчитайте пиковую нагрузку: число одновременных запросов, длину запросов и ответов.
  • Выберите модель и формат: точность, квантование.
  • Выберите платформу запуска под тип модели.
  • Подберите GPU по видеопамяти с запасом под KV-кэш.
  • Проведите нагрузочный тест и зафиксируйте TTFT, скорость генерации и p95.
  • Настройте мониторинг, журналирование, резервирование и порядок обновления моделей.
  • Разместите сервис на площадке с резервированием питания и связи.

Типичные ошибки

  • Оценивать сервер по одному запросу. В одиночку модель отвечает быстро, а при 20 пользователях время ответа вырастает в разы.
  • Использовать для production среду пилота. Удобные для экспериментов инструменты не рассчитаны на десятки параллельных запросов.
  • Не мерить p95. Средняя задержка выглядит хорошо, а каждый двадцатый пользователь ждёт ответа минуту.
  • Один экземпляр модели. Любое обновление или сбой останавливает сервис.
  • Нет мониторинга видеопамяти. Рост длины запросов приводит к ошибкам нехватки памяти в самый загруженный час.
  • Отправлять конфиденциальные данные во внешний API. Хотя модель можно развернуть на собственном сервере.

Inference-серверы в Иркутске: чем поможет Интерфоника

Интерфоника — технологический провайдер из Иркутска с собственной оптической сетью и двумя ЦОДами. Компания развивает направление inference-серверов для запуска AI-моделей и уже сейчас предоставляет инфраструктуру, на которой строится такой сервис.

  • Серверы с GPU для машинного обучения, ИИ и сложных вычислений, с подбором конфигурации под нагрузку. Подробнее — на странице для IT-специалистов.
  • Кластеры Kubernetes для запуска контейнерных окружений: автомасштабирование, мониторинг, резервное копирование, диагностика уязвимостей.
  • Собственные ЦОДы с резервированием по всем ключевым системам: двойное электропитание, продуманное охлаждение, пожаротушение. Размещение своего сервера — от 5 000 ₽ за юнит.
  • Быстрый канал. Бесплатное прямое подключение к ЦОДу по оптике до 100 Гбит/с.
  • Данные под контролем. Инфраструктура соответствует требованиям 152-ФЗ, есть облако для персональных данных с уровнем защищённости УЗ-2.
  • Поддержка инженеров. Прямая связь с техническими специалистами без очередей и тикетов, а в сложных инцидентах подключаются ведущие инженеры и руководство.
  • Тестовые ресурсы. IT-специалистам Интерфоника бесплатно выделяет свободные ресурсы под тестовые среды — можно проверить сценарий до принятия решения.


Руководитель отдела АСУ компании КрайсНефть в отзыве на сайте отмечает, что Интерфоника предлагает решения, которые стабильно работают в production и учитывают реальные бизнес-риски.

Обсудим запуск вашей модели

Расскажите, какую модель планируете запускать и сколько запросов она должна обрабатывать, — инженер Интерфоники предложит конфигурацию и схему размещения.

Оставить заявку

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

Инференс — это что?
Инференс (inference) — применение уже обученной модели к новым данным: ответ на вопрос, распознавание изображения, расшифровка речи. Это тот этап, на котором модель приносит пользу в работе компании.

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

Что такое inference-сервер?
Это сервер с программной платформой, которая загружает модели, принимает запросы через API, объединяет их в пакеты для эффективного использования GPU и возвращает ответы. Примеры таких платформ — vLLM, NVIDIA Triton Inference Server, TGI.

Чем inference-сервер отличается от сервера для обучения?
Для обучения нужны максимальная вычислительная мощность, несколько GPU и быстрая связь между ними. Для инференса важнее объём видеопамяти, время ответа и способность обслуживать много одновременных запросов. Обычно inference-серверу нужно меньше ускорителей.

Что такое inference API, или API для нейросети?
Это программный интерфейс, через который приложения отправляют запросы модели и получают ответы. Многие платформы поддерживают API в формате OpenAI, поэтому приложения можно переключить с внешнего сервиса на собственный сервер без переписывания кода.

Можно ли развернуть локальную LLM на своём сервере?
Да. Открытую языковую модель — например, Qwen, Llama или Mistral — разворачивают на сервере с GPU с помощью vLLM или другой платформы. Объём видеопамяти подбирают под размер модели и число одновременных запросов, а приложения подключают к ней через API. Данные при этом остаются внутри вашей инфраструктуры.

Какие метрики важны для inference в production?
Время до первого токена (TTFT), скорость генерации для одного пользователя, общая пропускная способность, число одновременных запросов и задержка p95 — время, за которое выполняются 95% запросов.

Где разместить inference-сервер в Иркутске?
Inference-сервер должен работать круглосуточно, поэтому его размещают в дата-центре с резервированным питанием и охлаждением. У Интерфоники два собственных ЦОДа в Иркутске с бесплатным прямым подключением по оптике до 100 Гбит/с.
15.10.2026