Как проверить on-prem AI-сервер перед покупкой
Коммерческое предложение на локальный AI-сервер: какие цифры просить у поставщика, что скрыто в спецификации, и как считать VRAM, гарантию, таможню и питание.
Что проверить в готовом on-prem AI-сервере до оплаты
Готовый on-prem AI-сервер проверяется по трём вопросам: какую модель он реально держит, с какой скоростью при реальном числе одновременных пользователей, и кто отвечает за железо, прошивки и обновления следующие три года. Спецификация из коммерческого предложения ни на один из них не отвечает. Ниже чек-лист, который переводит формулировки продавца в цифры и обязательства, пригодные для договора.
Здесь нет ничьих спецификаций и ничьих цен. Цифры вам назовёт поставщик, а ваша работа состоит в том, чтобы проверить: за цифрой стоит измерение или пожелание. Порядок разбора такой. Сначала производительность, потом память, потом всё то, чего в спецификации нет, но за что платит покупатель.
Какие цифры просить у поставщика
Фраза «поддерживает модели до 70B» не значит ничего, пока рядом нет пяти уточнений. Просите их письменно: письменный ответ попадает в приложение к договору, устный не попадает никуда.
- Модель и версия целиком. Не «70B», а конкретное имя релиза и его дата.
- Квантизация: fp16, int8 или 4 бита (AWQ, GPTQ, GGUF Q4_K_M). Каждый шаг меняет требования к памяти примерно вдвое.
- Длина контекста, на которой мерили, и максимальная длина, которую сервер держит при том же числе пользователей.
- Скорость: токены в секунду на генерации и TTFT (time to first token, время до первого токена).
- Число одновременных запросов (concurrency), при котором получены эти цифры, и движок: vLLM, TensorRT-LLM, llama.cpp или Ollama.
Одна цифра скорости всегда неполная. Просите две: на одном запросе, это то, что чувствует один человек, и суммарную пропускную способность при 8 или 16 одновременных запросах, это то, что получит отдел. Разница между ними кратная, и продавцу выгодно показать ту, которая выглядит лучше.
Хороший признак: поставщик присылает не слайд, а команду и её вывод. Для llama.cpp это llama-bench -m model.gguf -p 512 -n 128 -r 3, который печатает отдельно скорость обработки промпта и скорость генерации. Для vLLM это лог сервера, где видны число запросов в батче, длина контекста и токены в секунду. Если вывод присылать отказываются, просите демонстрацию на их стенде с вашим промптом. Ваш реальный текст на 3000 токенов ведёт себя совсем не так, как короткий «привет».
Сколько VRAM нужно на самом деле
Память под веса считается арифметикой, а не на глаз. Берёте число параметров и умножаете на байты на параметр: 4 бита дают примерно половину числа параметров в гигабайтах, int8 примерно столько гигабайт, сколько миллиардов параметров, fp16 вдвое больше.
The data behind this chart
[
{
"label": "8B",
"q4_gb": 4,
"q8_gb": 8,
"fp16_gb": 16
},
{
"label": "32B",
"q4_gb": 16,
"q8_gb": 32,
"fp16_gb": 64
},
{
"label": "70B",
"q4_gb": 35,
"q8_gb": 70,
"fp16_gb": 140
}
]Это расчёт, а не замер, и это только веса. Модель на 70 миллиардов параметров в 4 битах занимает около 35 ГБ, в fp16 около 140 ГБ. Сверху ложится KV-кэш (кэш ключей и значений), который растёт и от длины контекста, и от числа одновременных запросов. Именно он превращает «модель влезла» в «модель влезла, но на двух пользователях». Плюс сам движок, плюс место под пакетную обработку. Рабочее правило: если веса заняли больше двух третей памяти карты, длинный контекст на нескольких пользователях вы уже не получите. Прогоните эту арифметику под свой случай по разбору того, какая модель влезает в вашу память, и сделайте это до разговора с поставщиком, а не после.
Дальше главный подвох спецификации. «192 ГБ VRAM» и «восемь карт по 24 ГБ» отличаются принципиально, хотя сумма одна. Модель, которая не влезает в одну карту, разрезается между картами (tensor parallelism), и тогда на каждый токен карты обмениваются данными между собой. По NVLink этот обмен быстрый, по обычному PCIe заметно медленнее, поэтому одинаковая сумма VRAM даёт разную скорость. Спрашивайте четыре вещи: сколько карт, сколько памяти на одной карте, какая это модель GPU, и как карты соединены между собой.
После поставки проверьте это сами, не по бумаге.
nvidia-smi --query-gpu=index,name,memory.total,serial --format=csv
nvidia-smi topo -mПервая команда печатает модель каждой карты, её память и серийный номер. Серийные номера сверьте с документами. Вторая печатает матрицу связей между картами: NV1, NV2 и похожие обозначения означают NVLink, а PIX, PHB и SYS означают, что карты общаются через PCIe и чипсет. Если вам продавали «восемь карт как одну большую память», а матрица показывает SYS, обещание и железо расходятся.
Как просить замер, который можно повторить
Замер повторяем, когда в нём записаны все условия: модель и квантизация, длина входного промпта, число генерируемых токенов, число одновременных запросов, версия движка и число прогонов. Просите среднее и худшее значение, а не одно красивое. Просите прогон не на 30 секунд, а минут на 15.
Причина именно в длительности. Карта под нагрузкой греется, и когда она упирается в лимит по температуре или по мощности, частоты снижаются, а токены в секунду падают. Короткое демо этого не покажет, потому что за 30 секунд радиатор ещё холодный. Смотреть за этим можно во время прогона.
nvidia-smi dmon -s pucКоманда раз в секунду печатает мощность, температуру, загрузку и частоты по каждой карте. Стабильные частоты на пятнадцатой минуте означают, что охлаждения хватает. Частоты, просевшие к концу прогона, означают, что паспортную цифру вы увидите только в первые минуты, а в рабочий день будете жить с нижней.
Поставка, таможня и что написано в счёте
Цена в ₽ бывает «с НДС» и «без НДС», и разница составляет 20%. Сверьте, какая из них в вашем предложении, прежде чем сравнивать двух поставщиков.
Дальше вопросы к документам. Кто указан импортёром в декларации на товар. Какой код ТН ВЭД заявлен. Входят ли в цену пошлина и доставка до вашего адреса, и по каким условиям поставки (например DAP или DDP). Кто платит за простой, если груз задержали на таможне. И что именно вы получаете по документам: сервер как единое изделие или набор комплектующих. Второй вариант значит, что гарантия на GPU и гарантия на сервер живут отдельно, и при поломке вас будут отправлять между двумя гарантами.
Срок поставки просите в неделях, вместе с ответом на вопрос, что происходит при просрочке. Стопроцентная предоплата за оборудование, которого нет на складе в России, превращается в беспроцентный кредит поставщику. Нормальная практика выглядит иначе: аванс, остаток после приёмки.
И отдельно: серийные номера сервера и всех GPU должны попасть в УПД или в акт приёмки. Без них гарантийный спор упирается в то, что происхождение конкретной карты вам доказать нечем.
Гарантия: где физически ремонтируют
Фраза «гарантия три года» описывает срок, а не процедуру. Процедура состоит из ответов на несколько конкретных вопросов.
- Город и адрес сервисного центра, где сервер будут ремонтировать физически.
- Кто платит за транспорт в обе стороны, и кто несёт риск повреждения в пути.
- Срок реакции и срок восстановления. Это два разных срока, и в предложениях обычно указан только первый.
- Есть ли подменное оборудование или склад запасных частей в России, и на какие узлы.
- Что происходит, если ремонт GPU в России невозможен и карта уезжает за границу. Спросите срок в неделях.
- Что считается негарантийным случаем. Разобранный корпус, замена термоинтерфейса, свой драйвер и своя прошивка попадают в этот список чаще, чем ожидают покупатели.
При приёмке снимите и сохраните вывод nvidia-smi -q. На серверных картах там видны счётчики ошибок ECC (error correcting code, код с коррекцией ошибок) и отключённые страницы памяти, то есть признаки того, что карта уже поработала. На потребительских картах этих счётчиков нет вовсе, и само их отсутствие отвечает на вопрос, какие карты вам поставили.
Поддержка: язык, часы и граница ответственности
Спросите, на каком языке отвечает первая линия и на каком языке говорит инженер второй линии. Если вторая линия отвечает только на английском и только по своим рабочим часам в другом часовом поясе, ваш инцидент в четверг вечером ждёт до их утра.
Далее: часы работы по Москве, канал обращения (телефон, почта, тикет-система, мессенджер), время реакции в рабочие и в нерабочие часы, зафиксированное в SLA (service level agreement, соглашение об уровне обслуживания). И граница ответственности. Поддержка почти всегда покрывает железо и базовый софт, но не качество ответов модели и не ваши промпты. Просите написать эту границу прямо, чтобы вы не ждали помощи там, где её никто не обещал.
Кто будет ставить обновления следующие три года
Сервер с GPU требует регулярного обслуживания. Обновляются четыре слоя: драйвер NVIDIA вместе с CUDA, ядро и дистрибутив, прошивки BIOS и BMC (baseboard management controller, контроллер управления платой), и движок инференса вместе с самой моделью.
По каждому слою спросите: кто это делает, в какое окно, и кто откатывает изменения, если обновление драйвера сломало движок. Такое случается регулярно, потому что версии драйвера, CUDA и движка связаны между собой. Хороший ответ звучит так: у поставщика есть свой стенд, обновление проверяется там, и только потом приходит к вам. Отдельно узнайте, до какого года выбранная LTS-версия дистрибутива получает обновления безопасности, потому что три года владения легко выходят за этот срок. И проверьте, доступны ли прошивки BIOS и BMC без отдельного платного сервисного контракта.
Последний вопрос самый важный, и его почти никто не задаёт: что останется у вас, если поставщик уйдёт с рынка. Нужны root-доступ к системе, документированный способ переустановить её с нуля и отсутствие привязки к его лицензионному серверу. Если хотя бы одного из этого нет, вы покупаете не сервер, а подписку в железном корпусе.
Питание и охлаждение, которое офис должен найти
Потребление считайте по нагрузке, а не по этикетке блока питания. Просите измеренное потребление под полной нагрузкой в ваттах. Карты покажет nvidia-smi dmon на том же пятнадцатиминутном прогоне, остальное добавят процессоры, диски и вентиляторы.
- Розетка и кабель. Обычный разъём C13 рассчитан на 10 А, мощному серверу нужен C19 на 16 А, и такой розетки в офисной стене обычно нет.
- Линия. Одна линия 230 В на 16 А даёт около 3,6 кВт, и на ней уже висят чайник и принтер. Под такой сервер прокладывают отдельную линию со своим автоматом.
- Тепло. Каждый киловатт электричества уходит в помещение как киловатт тепла, примерно 3400 BTU/ч. Три киловатта в комнате без кондиционера поднимают температуру до значений, при которых карты начинают снижать частоты, и ваша измеренная скорость уходит вниз.
- Шум. Серверный корпус на 2U с турбинными вентиляторами под нагрузкой очень громкий. Рядом с людьми его не ставят, поэтому нужна отдельная комната или размещение в дата-центре.
Два пункта, которые забывают чаще всего. ИБП подбирают по ваттам, а не по вольт-амперам, и по времени, которого хватит на корректное выключение, а не на продолжение работы. И в BIOS должно быть включено автоматическое включение после возврата питания, иначе после аварии сервер останется выключенным до приезда человека с ключом от серверной.
Купить, арендовать или платить за токены
Вилка честная, и она решается не вкусом, а вашими числами. Покупка оправдана, когда данные не должны покидать вашу инфраструктуру по требованию регулятора или заказчика, когда нагрузка ровная, и когда есть человек, который будет это обслуживать. Аренда GPU оправдана, когда нагрузка неровная или вы ещё подбираете модель: вы платите за часы и меняете конфигурацию на следующей неделе, а не через квартал. Оплата за токены оправдана, когда объём маленький или пока неизвестен.
Считать эту вилку в рублях стоит один раз и на своих объёмах. Точка окупаемости между своим GPU и оплатой по токенам выводится из числа токенов в месяц, и наступает она обычно позже, чем следует из презентации. Если по расчёту выигрывает аренда, дальше смотрите, что реально даёт VPS с GPU, и берите конфигурацию под ту же модель, которую собирались купить в железе. Если хочется сначала проверить локальный инференс на небольшой машине, развёртывание Ollama на своём сервере занимает вечер и сразу показывает, чего вам не хватает по памяти и по скорости. А сам выбор между готовой коробкой и самостоятельной сборкой уже разобран в сравнении готового приватного AI-сервера с самостоятельным self-hosting, и здесь мы его не пересказываем.
Чек-лист вопросов поставщику
Один лист, с которым можно идти в переговоры. Ответы просите письменно.
- Какая модель, какая квантизация, какая длина контекста.
- Сколько токенов в секунду на одном запросе и сколько суммарно на 16 одновременных.
- Чем и как мерили, и можно ли получить вывод команды или прогон на вашем промпте.
- Сколько карт, сколько памяти на карте, какая модель GPU, как они соединены.
- Пятнадцатиминутный прогон под нагрузкой: держатся ли частоты.
- Цена в ₽ с НДС или без, что входит в доставку, какие условия поставки.
- Кто импортёр, какой код ТН ВЭД, кто платит за задержку на таможне.
- Серийные номера сервера и карт в акте приёмки.
- Город сервисного центра, срок восстановления, наличие подмены.
- Язык и часы поддержки, время реакции в SLA, что именно покрыто.
- Кто ставит обновления драйвера, ОС и прошивок, и кто откатывает неудачное.
- Измеренное потребление в ваттах, требования к розетке и к охлаждению.
Последнее замечание про торг. Скидка на цену обсуждается легко, а срок восстановления, наличие запасных частей и русскоязычная вторая линия обсуждаются трудно, потому что стоят поставщику реальных денег. Поэтому торгуйтесь за них, а не только за сумму в счёте: сумма платится один раз, а обслуживать сервер вы будете три года.
FAQ
Какие цифры просить, чтобы сравнить два предложения на AI-сервер?
Шесть штук, и все вместе: имя и версия модели, квантизация (fp16, int8 или 4 бита), длина контекста, токены в секунду на генерации, TTFT, и число одновременных запросов, при котором это получено. Без последнего пункта цифра скорости не сравнима, потому что один запрос и шестнадцать одновременных дают результаты, различающиеся в разы. Просите вывод команды или прогон на вашем промпте: llama-bench -m model.gguf -p 512 -n 128 -r 3 печатает скорость обработки промпта и скорость генерации отдельно.
Почему «192 ГБ VRAM» не значит, что модель на 70B влезет целиком?
Потому что важна память одной карты, а не сумма. Модель, которая не влезает в одну карту, разрезается между несколькими (tensor parallelism), и на каждый токен карты обмениваются данными. По NVLink этот обмен быстрый, через PCIe и чипсет заметно медленнее, поэтому одна и та же сумма VRAM даёт разную скорость. Проверяется после поставки командой nvidia-smi topo -m: обозначения вида NV1 и NV2 означают NVLink, а PIX, PHB и SYS означают обычный PCIe.
Что спрашивать про гарантию и ремонт в России?
Город и адрес сервисного центра, кто платит за транспорт в обе стороны, срок реакции и отдельно срок восстановления, наличие подменного оборудования и запасных частей на складе в России, и сценарий на случай, если ремонт GPU здесь невозможен и карта уезжает за границу, со сроком в неделях. Дополните это серийными номерами сервера и всех карт в акте приёмки: без них вы не докажете, какую карту вам поставили.
Что нужно офису по питанию и охлаждению под такой сервер?
Отдельная линия со своим автоматом, потому что одна линия 230 В на 16 А даёт около 3,6 кВт и на ней обычно уже есть нагрузка. Разъём C19 вместо бытового C13. Кондиционер, рассчитанный на то, что каждый киловатт потребления становится киловаттом тепла, то есть примерно 3400 BTU/ч. И отдельное помещение, потому что серверные вентиляторы под нагрузкой слишком громкие для комнаты с людьми. Требуемую мощность берите из измеренного потребления под нагрузкой, а не с этикетки блока питания.