Подбор оборудования и сервера для LLM: расчёт до закупки и замер на вашей нагрузке

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

Расчёт входит в обследование — от 200 000 ₽, 2–3 неделиРасчёт по памяти и длине контекста, проверка замеромТребования для закупки в виде параметров, а не названий

С чем приходят

Когда нужен расчёт, а не прайс поставщика

Есть предложение на сервер, но нечем его проверить

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

Оборудование куплено, а модель не помещается

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

Бюджет утверждён, неизвестно, что на него поместится

Нужно понять, какой класс модели и сколько пользователей поддержит заложенная сумма, и стоит ли просить больше. Ответ нужен до подачи заявки на закупку.

Несколько задач претендуют на один сервер

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

Основа расчёта

Три величины вместо слов «мощный сервер»

Подробные формулы и условный пример — в статье «Сколько видеопамяти нужно для своей языковой модели». Здесь принцип, по которому строим расчёт.

Память: влезет ли

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

Скорость чтения памяти: будет ли быстро

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

Вычисления: как быстро читается длинный запрос

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

Число одновременных запросов

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

Исходные данные

Что нужно знать о задаче до расчёта

Если ответа нет, ставим допущение, записываем его и проверяем замером.

Параметр
Откуда берём
На что влияет
Что бывает, если не знать
ПараметрОдновременные пользователине «все сотрудники»
Откуда берёмЖурнал обращений в поддержку, опрос отдела, пилот
На что влияетРазмер кэша контекста и число карт
Что бывает, если не знатьБерут общее число сотрудников, покупают втрое больше нужного или в пик упираются в очередь
ПараметрДлина запроса и контекставопрос плюс документы
Откуда берёмОбразцы ваших документов и типовых вопросов
На что влияетПамять под кэш и время разбора запроса
Что бывает, если не знатьМодель выбрана с коротким контекстом, а документы в неё не помещаются
ПараметрДлина ответасправка или отчёт
Откуда берёмПримеры нужных ответов от специалистов
На что влияетВремя ожидания и занятость карты
Что бывает, если не знатьОдин длинный отчёт занимает карту на минуты, остальные ждут
ПараметрКласс модели и сжатиерешает качество
Откуда берёмПроверка нескольких моделей на вашем контрольном наборе
На что влияетПамять под веса, скорость
Что бывает, если не знатьРазмер модели берут из рейтингов, а потом сжимают без проверки качества
ПараметрДопустимое ожиданиечеловек или процесс
Откуда берёмРазговор с пользователями, требования процесса
На что влияетЗапас по скорости и число серверов
Что бывает, если не знатьДля диалога нужна быстрая выдача первых слов, для ночной обработки достаточно общей скорости
ПараметрДопустимый простойможно ли подождать
Откуда берёмСогласование с владельцем процесса
На что влияетРезервный сервер или запасной сценарий
Что бывает, если не знатьУзнают о требовании после первого сбоя
Конфигурации

Пять вариантов сервера и когда каждый подходит

Вариант выбирается по нагрузке и сроку жизни проекта, а не по объёму бюджета.

Вариант
Когда подходит
На что смотреть
Где ломается
ВариантРабочая станция с одним ускорителемпилот и малая группа
Когда подходитПилот, отдел, небольшой поток вопросов
На что смотретьОбъём памяти, шум и охлаждение в помещении, доступ к станции
Где ломаетсяСтанцию превращают в рабочий сервис без резерва, копий и журнала
ВариантСервер с несколькими ускорителямирабочая нагрузка
Когда подходитОдин сервер на несколько отделов, крупные модели
На что смотретьСвязь между картами, питание, охлаждение, драйверы под вашу ОС
Где ломаетсяМодель делят между картами, а скорость падает из-за связи между ними
ВариантНесколько серверовотказоустойчивость
Когда подходитТребование по простою, разные модели для разных задач
На что смотретьБалансировка, единое хранилище весов, мониторинг
Где ломаетсяСерверы настроены по-разному, версии расходятся, откат невозможен
ВариантСервер без ускорителяредкие запросы
Когда подходитНебольшие модели, пакетная обработка ночью, редкие вопросы
На что смотретьСкорость ответа, объём оперативной памяти
Где ломаетсяДиалогом пользоваться неудобно, скорость падает с ростом контекста
ВариантОбщий сервер с другими задачамиесли нет выделенных ускорителей
Когда подходитУскорители уже есть в вашей инфраструктуре
На что смотретьКакие задачи делят память, как ограничены ресурсы
Где ломаетсяСоседняя задача занимает память в пик, модель падает с ошибкой
Остальные части сервера

Что кроме видеокарт входит в расчёт

Ускорители составляют основную часть цены, но ломается обычно остальное.

  • Процессор и оперативная память. Они готовят запросы, разбирают документы, обслуживают поиск и шлюз. Если на том же сервере живёт векторная база, оперативная память нужна и ей.
  • Диск. Кроме весов хранятся несколько прежних версий для отката, индексы поиска и журналы. От скорости диска зависит время загрузки модели после перезапуска, то есть длительность простоя.
  • Сеть. Между серверами, хранилищем и шлюзом. Для одного сервера это просто, для нескольких серверов с общим хранилищем весов становится отдельной задачей.
  • Питание и охлаждение. Ускорители потребляют много и сильно греются. Мощность блоков питания, линия, вентиляция помещения и шум проверяются с эксплуатацией площадки до заказа, а не при монтаже.
  • Операционная система и драйверы. Не каждая версия драйвера и не каждый ускоритель поддерживаются в вашей ОС, в том числе в российских дистрибутивах. Совместимость проверяем на обследовании, а не при установке.
  • Резерв и запасные части. Срок поставки ускорителя может быть заметно больше срока проекта, поэтому в требованиях записываем допустимую замену карты на другую по параметрам.
Замер

Что измеряем до закупки и после установки

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

Что измеряем
Как проводим
Критерий
Что делаем при провале
Что измеряемПик памятив самый тяжёлый час
Как проводимНагрузка с длиной контекста и числом пользователей из расчёта
КритерийОстаётся запас, нет ошибок нехватки памяти
Что делаем при провалеУменьшаем контекст, сжимаем модель с проверкой качества или добавляем карту
Что измеряемВремя до первого словадля диалога
Как проводимСерия запросов реальной длины при заданном числе пользователей
КритерийУкладывается в ожидание, согласованное с пользователями
Что делаем при провалеОграничиваем длину запроса, включаем очередь или меняем конфигурацию
Что измеряемСкорость выдачи ответаслов в секунду
Как проводимСерия запросов нужной длины ответа
КритерийНе ниже оговорённой нижней границы в пик
Что делаем при провалеПересматриваем класс модели или число ускорителей
Что измеряемДлительный прогонвосемь-двенадцать часов
Как проводимНепрерывная нагрузка без перезапуска
КритерийНет падений, нет роста памяти, нет перегрева с понижением частоты
Что делаем при провалеПравим охлаждение, питание и настройки сервера
Что измеряемПерезапуск и возвратпосле сбоя
Как проводимОстановка сервера и запуск с нуля из хранилища
КритерийВремя возврата в работу укладывается в допустимый простой
Что делаем при провалеУскоряем диск, готовим резерв или заранее загружаем модель
Типовые ошибки

Четыре типовые ошибки закупки

Размер модели принят за потребность в памяти

Берут размер файла и не добавляют кэш контекста, буферы и запас. Нагрузка вырастает, и сервер оказывается впритык.

Конфигурация привязана к названию одной карты

Если карты нет в наличии, закупка встаёт. Лучше записать требования параметрами: объём и пропускная способность памяти, поддержка ОС, питание, и оценивать предложения по ним.

Покупка до проверки качества

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

Не заложен рост и запасной сценарий

Второй отдел подключился через месяц, и сервер перегружен. Или он один, и его отказ останавливает процесс. Решение принимается на расчёте, а не после сбоя.

Что делаем

Из чего состоит работа и сколько она стоит

Цены совпадают с тарифами. Расчёт оборудования входит в обследование, а не продаётся отдельной строкой: работы дешевле 150 000 ₽ мы не берём.

Обследование: расчёт для одной задачи

Профиль нагрузки, допущения, расчёт по памяти и скорости, два-три варианта конфигурации, требования для закупки, вилка бюджета проекта. Вычитается из первого этапа.

200 000 ₽ · 2–3 недели

Обследование: несколько задач и систем

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

350 000 ₽ · 3–4 недели

Замер на нагрузке: лёгкий пилот

Проверка расчёта на оборудовании, которое есть у вас или предоставлено поставщиком для теста. Контрольный набор, нагрузочный прогон, протокол.

150 000–400 000 ₽ · 2–8 недель

Развёртывание на выбранной конфигурации

Настройка сервера инференса, шлюза, мониторинга; приёмка по протоколу замера; опытная эксплуатация. Этапы по 300 000–700 000 ₽.

от 1 500 000 ₽ · от 3 месяцев

Сопровождение

Мониторинг загрузки и памяти, пересчёт при росте нагрузки. Сверх пакета — 5 000 ₽ в час.

20 000 / 60 000 / 120 000 ₽ в месяц
Процесс

Как идёт работа

Неделя 1 — Нагрузка и ограничения

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

Недели 1–2 — Контрольный набор и выбор модели

Сравниваем два-три класса моделей на ваших вопросах. Без этого расчёт делается под неизвестную модель.

Неделя 2–3 — Расчёт и варианты

Память, скорость, число одновременных запросов, остальные части сервера. Даём два-три варианта с описанием компромиссов и запасом на рост.

По решению — Требования для закупки

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

После поставки — Замер и приёмка

Нагрузочные испытания по таблице замеров, протокол, правки настроек. Подписываете протокол вы.

Дальше — Эксплуатация

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

Контроль

Что остаётся у вас и чего мы не делаем

Остаётся у вас

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

Мы этого не делаем

  • Не продаём и не поставляем оборудование, не называем его цены и не сравниваем поставщиков по цене.
  • Не монтируем сервер в стойку, не прокладываем питание и не проектируем помещение: даём требования, исполняет ваша служба или подрядчик.
  • Не обещаем сроки поставки и не отвечаем за гарантию на оборудование.
  • Не проводим аттестацию, лицензии ФСТЭК у нас нет. Требования к контуру определяет заказчик.
  • Не берём работы дешевле 150 000 ₽ и не дежурим круглосуточно.
Граница

Подбор железа, развёртывание, оптимизация и дообучение: где проходит граница

Подбор оборудования отвечает на вопрос «что купить». Как поставить на него систему целиком (шлюз, права на документы, интерфейс), описано на странице «Развернуть LLM на своём сервере». Если оборудование уже стоит, а модель отвечает медленно, это задача оптимизации инференса: часто хватает настройки вместо новой закупки.

Если сервер будет стоять в сети без выхода наружу, добавляются вопросы поставки и замены; они разобраны на странице «Языковая модель без интернета». Для дообучения модели памяти нужно существенно больше, чем для её запуска; нужно ли дообучение вам, показывает страница про дообучение, и решать про оборудование стоит после неё.

Порядок расчёта по шагам, с таблицей исходных данных и признаками плохого предложения, — в статье «Как выбрать оборудование для LLM».

Инструменты

На чём считаем и измеряем

Расчёт и замер
  • Таблица допущений и расчётная записка в открытых форматах
  • Скрипты нагрузочного прогона с вашими документами и вопросами
  • Серверы инференса: vLLM, llama.cpp под ваши ускорители
  • NVIDIA CUDA; другие ускорители проверяем отдельно
Мониторинг и эксплуатация
  • Prometheus и Grafana: память, очередь, время ответа, температура
  • Docker или установка пакетами на Astra Linux, РЕД ОС и другие
  • Журнал запросов с правами, внутреннее хранилище весов
  • Скрипты развёртывания в вашем репозитории
Материалы

Материалы по теме

Статья

Как выбрать оборудование для LLM: порядок расчёта

Шаги от профиля нагрузки до требований для закупки и признаки плохого коммерческого предложения.

  • Порядок расчёта
  • Требования для закупки
  • Приёмка замером
Читать →
Статья

Сколько видеопамяти нужно для своей языковой модели

Веса и кэш контекста на пальцах, условный пример для ассистента отдела.

  • Формулы
  • Квантование
  • Пример
Читать →
Статья

Как ускорить инференс LLM

Что можно улучшить настройкой до покупки нового оборудования.

  • Пакетирование
  • Квантизация
  • Кэш
Читать →
Заявка

Опишите задачу, и мы скажем, что нужно посчитать

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

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Вопросы

Частые вопросы: подбор оборудования для llm

Какой сервер нужен для языковой модели?

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

Можно ли запустить языковую модель без видеокарты?

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

Вы поставляете оборудование?

Нет. Мы пишем требования параметрами и условия приёмки, а закупку вы ведёте с любым поставщиком. Так расчёт не зависит от прайса, а по требованиям можно сравнить несколько предложений.

Сколько стоит подбор оборудования?

Расчёт входит в обследование: 200 000 ₽ за 2–3 недели для одной задачи, 350 000 ₽ при нескольких задачах и системах. Сумма вычитается из первого этапа, если продолжаете с нами. Замер на нагрузке — лёгкий пилот от 150 000 до 400 000 ₽. Цены на оборудование мы не называем.

Можно ли проверить предложение поставщика, которое уже есть?

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

Что делать, если оборудование уже куплено?

Сначала измерить: пик памяти, время ответа, поведение в длительном прогоне. Часто помогает настройка: меньший контекст, пакетирование запросов, проверенное сжатие модели. Если нет, расчёт покажет, чего не хватает: памяти, скорости или серверов.

Где проводится замер, если данные нельзя выносить?

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

Нужно ли оборудование для дообучения отдельно?

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

Вы работаете только в Ростове-на-Дону?

Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.