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

Формулы памяти уже разобраны в статье «Сколько видеопамяти нужно для своей языковой модели», здесь мы их не повторяем. Здесь порядок работы: какие вопросы задать, кого спросить, что принять как допущение и как записать результат, чтобы по нему можно было сравнить предложения разных поставщиков. Услуга описана на странице «Подбор оборудования для LLM».

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

Почему порядок важнее выбора карты

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

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

  1. Нагрузка. Сколько человек спрашивают одновременно, какой длины запрос и ответ.
  2. Модель. Какой класс модели даёт нужное качество на ваших документах.
  3. Память. Сколько её нужно на веса и на кэш для вашей нагрузки.
  4. Скорость. Какой скорости ответа ждут пользователи или процесс.
  5. Остальной сервер и площадка. Процессор, диск, сеть, питание, охлаждение, операционная система.
  6. Требования для закупки. Параметры, допустимые замены, условия приёмки.

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

Шаг 1. Нагрузка: что спросить до любых расчётов

Нагрузку описывают пять-шесть чисел. Точно их не знает никто, поэтому для каждого записываем источник и допущение по умолчанию. Допущение лучше называть вслух: его потом проверяют замером.

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

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

Шаг 2. Модель: качество выбирается раньше железа

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

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

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

Шаг 3. Память: бюджет на одного пользователя и на всех

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

Сначала постоянная часть

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

Затем переменная часть

Кэш одного диалога при вашей длине контекста берём из конфигурации модели. Условный пример для понимания порядка: если кэш одного диалога занимает 2 ГБ, а на кэш осталось 20 ГБ, помещается около десяти одновременных диалогов. Цифры условные, ваши получаются из конфигурации модели и замера.

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

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

Шаг 4. Скорость: какая нагрузка определяет железо

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

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

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

Шаг 5. Остальной сервер и площадка

Ускорители составляют основную часть цены, а ломается обычно остальное. Проверьте шесть частей до заказа:

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

Если сервер ставится в сеть без выхода наружу, замена оборудования и доставка драйверов идут по регламенту переноса. Это удлиняет любой ремонт, и срок возврата в работу надо согласовать заранее. Подробности — на странице «Языковая модель без интернета».

Шаг 6. Требования для закупки: параметры вместо названий

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

Предложение поставщика проверяется по этим требованиям. Признаки того, что с предложением что-то не так:

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

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

Замер и поэтапная покупка

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

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

Отдельно считается дообучение. Оно требует существенно больше памяти, чем запуск готовой модели, и не должно диктовать закупку, пока неизвестно, нужно ли оно. Сначала проверяем, не хватит ли поиска по документам и подбора промпта; см. статью «RAG или дообучение LLM».

Что делаем мы и с чего начать

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

Оборудование мы не поставляем и цен на него не называем: закупку ведёте вы. Лицензии ФСТЭК у нас нет, аттестацию не проводим, помещение и монтаж не проектируем. Исходники и конфигурации лежат в вашем репозитории с первого коммита. Все цены — на странице «Тарифы», описание услуги — на странице «Подбор оборудования для LLM», а общий состав системы — на странице «Развернуть LLM на своём сервере».

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

С чего начинать выбор оборудования для LLM?

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

Можно ли выбрать оборудование без пилота?

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

Почему нельзя ориентироваться на размер модели в файле?

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

Что важнее, объём памяти ускорителя или его скорость?

Нужно и то, и другое, но на разные вопросы. Объём отвечает на вопрос «поместится ли», скорость чтения памяти — на вопрос «будет ли быстро». Сначала проверяют объём, потом скорость, и для конкретной нагрузки определяющей может быть любая.

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

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

Как проверить коммерческое предложение на сервер?

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

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

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

Подходит ли эта схема для сети без интернета?

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