Локальная LLM на своём сервере: когда оправдана, а когда нет

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

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

Уточняющий вопрос обычно ломает картину. Что именно нельзя отдавать? Прайс, который лежит на сайте? Регламент отгрузки, который знает каждый водитель? Или паспортные сведения сотрудников и себестоимость, которую не видят даже менеджеры?

Ответ на этот вопрос определяет бюджет. Иногда разница составляет сотни тысяч рублей.

Что значит «локально»

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

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

У нас Ollama работает общим сервисом на портфель. Пара задач с картинками закрыта им бесплатно, вместо оплаты за каждый снимок.

Три причины, ради которых это делают

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

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

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

Требования к железу без иллюзий

Главный ресурс это память видеокарты. Порядки такие:

Размер моделиКвантованиеНужно VRAMПример железа
7-8B4 бита6-8 ГБRTX 3060 12 ГБ
13-14B4 бита10-12 ГБRTX 4070 Ti
30-32B4 бита20-24 ГБRTX 3090 / 4090
70B+4 бита45+ ГБдве карты или серверный ускоритель

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

Про запуск на процессоре надо сказать прямо. Модель на 8 миллиардов параметров на обычном сервере без видеокарты выдаёт единицы токенов в секунду. Ответ в 300 слов будет собираться около минуты. Для живого чата с клиентом это неприемлемо. Для ночной пакетной обработки, где надо разобрать 500 писем до утра, вполне рабочий вариант.

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

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

Что локальные модели среднего размера делают уверенно:

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

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

Отдельный урок из нашего фотоархива на пять терабайт. Мы сначала гоняли снимки через модель зрения, каждый кадр обрабатывался около 85 секунд. Задача была узкой: найти похожие изображения. Перешли на специализированную модель CLIP, получили 57 миллисекунд на кадр. Разница в тысячи раз, качество для этой задачи не пострадало.

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

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

Три провала при переносе на своё железо

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

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

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

Гибридная схема, которую мы считаем разумной

Крайности редко работают. Всё в облако страшно, всё локально дорого и медленно. Между ними живёт схема с маршрутизацией.

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

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

Третий пункт заслуживает пояснения. Маскирование это подстановка меток вместо ФИО, телефонов и номеров договоров. Наружу уходит текст с «КЛИЕНТ_1» и «ТЕЛЕФОН_1», обратно приходит ответ с теми же метками, а подстановка настоящих значений происходит уже у вас. Реализуется парой регулярных выражений и словарём, работает надёжно на типовых форматах.

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

Считаем деньги

Аренда сервера с приличной видеокартой в России обходится в десятки тысяч рублей в месяц, покупка своей карты уровня 4090 это разовые сотни тысяч плюс сборка и место в стойке. Цифры плавают, проверяйте актуальные тарифы перед решением.

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

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

Где это не работает и чего не ждать

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

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

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

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

И последнее. Локальная модель не отменяет базу знаний. Без подключённых документов она будет выдумывать ровно так же, как облачная, только менее складно.

Сводка по трём вариантам:

ВариантКогда братьЧем платите
Облаконет чувствительных сведений, нужен максимум качества, поток небольшойтокенами и зависимостью от провайдера
Локальнотребования безопасности или очень большой потокжелезом, скоростью и работой админа
Гибридсмешанный поток, часть запросов чувствительнаяусложнением схемы и маршрутизацией

Чек-лист перед покупкой видеокарты

  1. Посчитайте поток: сколько запросов в месяц и какой длины. Без этой цифры разговор про железо бессмысленный.
  2. Соберите пилот на облачной модели и замерьте качество. Это будет ваша планка, с которой сравнивается локальный вариант.
  3. Прогоните ту же задачу на локальной модели через Ollama, хоть на рабочем ноутбуке с игровой картой. Час работы, зато вы увидите реальную разницу на своих текстах, а не на бенчмарках.
  4. Проверьте требования: что именно у вас нельзя отдавать наружу и чем это подтверждено. Договор, закон, внутренний приказ.
  5. Найдите человека, который будет это обслуживать. Нет такого человека, нет локального контура.
  6. Сравните годовую стоимость двух вариантов: железо с администрированием против токенов при вашем потоке.

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

Короткие ответы на частые вопросы

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

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

Можно ли арендовать GPU вместо покупки? Да, и для проверки гипотезы это разумнее покупки. Аренда даёт возможность выйти из истории, если через два месяца станет понятно, что локальный запуск не нужен.

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

Нужен ли интернет локальному контуру? Для работы модели нет. Он понадобится для скачивания весов и обновлений системы. Полностью изолированный контур собрать можно, это отдельная работа с ручной доставкой обновлений.

Как решить за один вечер

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

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

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

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

Хотите такой же процесс у себя?

Начните с AI-аудита: разберём процессы, покажем, где автоматизация окупится первой, и предложим сценарий внедрения.

Запросить AI-аудит Написать в Telegram