ПРАКТИКА / Инфраструктура AI

Какой сервер нужен для AI: начните с нагрузки, а не с видеокарты

СНАЧАЛА
НАГРУЗКА.
VRAMКОНТЕКСТПАРАЛЛЕЛЬНОСТЬ
КОРОТКО

Сервер для AI выбирают по модели, длине контекста, параллельности и допустимой задержке. Размер весов — только часть памяти: нужно учитывать KV-кэш, служебные данные и запас исполнения, а конфигурацию проверять на своей нагрузке до покупки.

Вопрос «какую видеокарту купить для нейросети» неполон. Одна модель может комфортно отвечать одному человеку и не справляться с потоком длинных запросов. Сервер выбирают под модель, длину работы и нужное число одновременных пользователей.

Составьте профиль нагрузки

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

Зафиксируйте число одновременных запросов и допустимое ожидание. Для интерактивного чата важны время до первого ответа и скорость продолжения. Для ночной обработки архива может быть важнее объём выполненной работы за период. Одна и та же конфигурация оценивается по-разному.

Уточните, обсуждается ли только выполнение готовой модели или обучение. Дообучение предъявляет другие требования к памяти и вычислениям. Нельзя использовать размер сервера для инференса как готовую оценку инфраструктуры обучения.

УСЛОВНЫЙ РАСЧЁТСколько занимают только значения весовФормула: параметры × битность / 8. KV-кэш и запас сюда не входят.
Сколько занимают только значения весовФормула: параметры × битность / 8. KV-кэш и запас сюда не входят.ТОЛЬКО ВЕСА / ДЕСЯТИЧНЫЕ ГБ8B168414B2814732B643216
  • 16 бит
  • 8 бит
  • 4 бита
  1. 8B16 / 8 / 4 ГБ. Соответственно 16, 8 и 4 бита на параметр.
  2. 14B28 / 14 / 7 ГБ. Нижняя арифметическая оценка.
  3. 32B64 / 32 / 16 ГБ. Не равняется требуемой VRAM.

Данные рассчитаны из таблицы статьи. 1 ГБ = 10⁹ байт; квантование имеет дополнительные расходы.

Размер весов — только начало

Нижняя арифметическая оценка: число параметров × битность / 8. Ниже десятичные гигабайты: 1 ГБ = 10⁹ байт. В таблице только значения весов — без KV-кэша, служебных данных, метаданных квантования и запаса движка.

Размер модели16 бит8 бит4 бита
8B16 ГБ8 ГБ4 ГБ
14B28 ГБ14 ГБ7 ГБ
32B64 ГБ32 ГБ16 ГБ

Поэтому строка «32B, 4 бита, 16 ГБ» не означает, что нужен GPU ровно на 16 ГБ. Реальный формат может хранить часть данных с другой точностью, а работа запроса требует дополнительной памяти. Для смеси экспертов ориентируйтесь на хранимые параметры, а не только на число активных при вычислении.

Дополнительно нужны служебные структуры, промежуточные данные и KV-кэш — сохранённые данные внимания для обрабатываемой последовательности. Его размер зависит от архитектуры, длины контекста, типа данных и параллельной работы. Модель, которая загрузилась, ещё не доказала, что выдержит нужный поток.

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

Квантование меняет компромисс

Квантование использует менее затратное представление чисел. Оно может уменьшить память и изменить скорость, но результат зависит от метода, модели, оборудования и реализации. Поддерживаемые подходы и совместимость описываются в документации Transformers.

Не выбирайте вариант только по тому, что файл меньше. Прогоните те же рабочие примеры: формат JSON, извлечение полей, точность ответов, длинные документы. Небольшая экономия ресурсов может оказаться невыгодной, если увеличится ручное исправление.

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

От какой конфигурации начинать тест

Это условные стартовые классы для планирования эксперимента, а не гарантии размещения и скорости. Длины указаны в токенах вместе с инструкциями и историей. Конкретный формат модели и профиль памяти могут изменить выбор.

Учебный профильКандидат для первой проверкиЧто особенно измерять
Один человек, небольшая 0.6–3B-модель, контекст около 2KCPU-машина с 8–16 ГБ RAMПиковую память и допустимость ожидания
8B в 4/8 битах, короткий чат, 1–4 запроса одновременноОдин GPU класса 16–24 ГБ VRAMKV-кэш, очередь и время первого токена
14–32B в 4 битах, 1–4 запроса, контекст 2–8KGPU класса 24–48 ГБ VRAMЗапас при длинном запросе и влияние квантования
32B в 16 битах или более тяжёлый потокКласс 80 ГБ либо несколько совместимых GPUСвязь между GPU, распределение памяти и фактическую пропускную способность

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

Прежде покупки арендуйте проверку

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

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

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

СХЕМАФайл модели — не вся память сервераПри работе нужны кэш последовательностей, служебные данные и запас.
Файл модели — не вся память сервераПри работе нужны кэш последовательностей, служебные данные и запас.ВесаKV-кэшДвижокЗапасОБЪЁМ ПРОВЕРЯЕМ ПОД НАГРУЗКОЙ
  1. ВесаБаза расчёта. Размер зависит от модели и представления чисел.
  2. KV-кэшКонтекст и параллельность. Длинные и одновременные запросы меняют потребление.
  3. ЗамерРеальная конфигурация. Снять память до загрузки, после неё и на пике тестовой нагрузки.

Ширины секций намеренно условные и не показывают проценты расхода памяти.

Как получить собственные числа

В Ollama после запроса выполните ollama ps: команда показывает размещение модели на CPU/GPU. Для NVIDIA снимайте память и загрузку через nvidia-smi, а полный расход процесса и системы — средствами ОС. В vLLM используйте нагрузочный прогон и его метрики. Запишите исходное потребление до загрузки, после загрузки и на пике заданной смеси запросов.

Сравните холодный и прогретый запуск. Отдельно измерьте один запрос и одновременные. Сохраняйте не только скорость токенов, но и время в очереди, время первого токена, полный ответ и долю ошибок. Сверьте качество ответа после квантования: быстрый неверный результат не делает конфигурацию подходящей.

Сравнивайте полную инфраструктуру

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

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

Бриф для поставщика

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

Хороший ответ — воспроизводимая конфигурация с измерениями и понятными ограничениями. Формулировка «для любой нейросети» не заменяет проверку. Покупка должна закреплять проверенное решение, а не становиться первым экспериментом проекта.

Разберите медленный запрос по частям

В длинном документе заметная часть ожидания может приходиться на обработку входного контекста, а в большом отчёте — на генерацию ответа. Добавьте к ним время очереди. Эти три задержки требуют разных решений: сокращения ненужного входа, ограничения выходного объёма или изменения ресурсов и планировщика.

Сравните короткий вопрос, длинный документ и несколько одновременных запросов отдельно. В таблице результатов не смешивайте их в одну среднюю скорость. Если после роста параллельности первый ответ приходит поздно, хотя генерация идёт быстро, нужно изучать очередь и память, а не только рекламируемую вычислительную мощность ускорителя.