Содержание
- Спор, который идёт прямо сейчас
- Деньги: почему счёт за API удивляет на масштабе
- Малые модели стали достаточно умными
- Приватность и закон: 152-ФЗ, приказ 966, суверенные датасеты
- Гибрид побеждает: архитектура роутинга
- Слой анонимизации: как отдать данные в облако и не нарушить закон
- Когда что выбирать: матрица решения
- Чек-лист перед внедрением
- FAQ
Спор, который идёт прямо сейчас
В русскоязычных IT-сообществах в 2026-м идёт жёсткий спор, который раскалывает инженеров на два лагеря. Одни говорят: «Зачем возиться с железом, если за копейки есть облачные Haiku, Flash, GigaChat, которые умнее любой локалки?» Другие отвечают: «Это звучит логично ровно до того момента, как ты посчитал деньги на масштабе и подумал о сохранности данных».
Оба лагеря правы — но каждый про свой сценарий. Проблема в том, что выбор «локальная модель или облако» подают как идеологический, а это инженерное решение с конкретными цифрами: стоимость токена, требования регулятора, доля задач, где реально нужен «сверхразум».
Мы в Новаком внедряем LLM-решения для enterprise — от чат-ботов по базе знаний до агентских пайплайнов — и почти всегда финальная архитектура оказывается не «или-или», а гибридом. Ниже — как к нему прийти, опираясь на реальные цифры, а не на хайп.
Деньги: почему счёт за API удивляет на масштабе
Облачный API дешёв на пилоте и неприятно дорог в проде. Пока вы гоняете десяток запросов в день, разница незаметна. Когда система обрабатывает сотни тысяч документов, картина меняется.
Главная ловушка — контекст, который вы оплачиваете каждый раз. Если вы каждый запрос прокидываете в облачную модель промптом на 10 000 токенов (инструкции, примеры, кусок базы знаний), вы платите за эти 10К токенов снова и снова. На объёме это превращается в чек, который в конце месяца вызывает вопросы у финансового директора.
Практики предлагают завести в KPI инженеров метрику CPT — Cost Per Token (стоимость одного корпоративного токена). Как только эта цифра появляется в отчётах, «дорогие и сложные» локальные модели внезапно начинают выглядеть привлекательно. По оценкам из обзоров enterprise-внедрений, обслуживание модели на 7B параметров обходится в 10–30 раз дешевле, чем модели на 70–175B, а дообучить 7B под свою узкую нишу стоит порядка пары сотен долларов.
При этом облако в России подешевело: например, Яндекс выпустил Alice AI LLM Flash с ценой около 100 ₽ за 1 млн входных токенов и 200 ₽ за 1 млн выходных ($1.4 / $2.8). Для умеренных объёмов это делает облако разумным дефолтом. Экономика разворачивается в пользу self-hosted на двух условиях: высокий и предсказуемый объём + чувствительные данные.
Правило большого пальца: если ваш месячный счёт за API перевалил за $2 000 и продолжает расти линейно с нагрузкой — пора считать TCO собственного инференса. До этого порога self-hosting чаще всего не окупает возни с железом и MLOps.
Малые модели стали достаточно умными
Ключевое, что изменилось к 2026 году: малые модели (SLM, Small Language Models) перестали быть игрушкой. Несколько исследований это зафиксировали:
- NVIDIA Research в работе «Small Language Models are the Future of Agentic AI» показали, что для агентских задач (вызов API, парсинг, классификация) модели до 10B параметров предсказуемее и галлюцинируют меньше, чем универсальные гиганты класса GPT.
- Microsoft с Phi-4 (14B, обучена на синтетических данных) обходит куда более крупные модели в логике и кодинге — и работает в разы быстрее.
- IBM в исследованиях про SLM подтверждает: связка нескольких специализированных «малышей» бьёт одну универсальную модель по метрике «качество на доллар».
Логика простая: для 80% корпоративных задач сверхразум не нужен. Преобразовать данные, вытащить сущности по ключам, сделать предобработку, классифицировать тикет, перегнать формат — с этим малая локальная модель справляется отлично и заметно дешевле. Один практик метко сравнил это с типичным джуном: он не похож на Opus или флагманский GPT, но рутинную работу делает — и за это ему платят меньше.
Есть и контринтуитивное наблюдение из практики: слабая модель в хорошо инструментованном контуре тащит как старшая. Если вокруг неё настроены валидаторы, линтеры и автотесты, которые возвращают ошибки обратно в модель, она дообучается на лету за счёт фидбэка из терминала — и на узкой задаче приближается к качеству большой модели.
Приватность и закон
Это та часть, где для российского enterprise теория заканчивается и начинается регуляторика.
Во-первых, закон. Помимо 152-ФЗ о персональных данных есть приказ ФСТЭК № 966, который описывает, как именно нужно обезличивать каждый тип ПД (и для обычных, и для финансовых данных требования различаются). Отправить сырые персональные данные клиентов в публичный облачный API — это не «удобно», это потенциальное нарушение.
Во-вторых, государственный курс. В 2026-м правительство переписывает правила госзакупок (44-ФЗ и 223-ФЗ) под гарантированный спрос на отечественный ИИ. Для контуров КИИ и оборонки нейросети должны быть обучены на суверенных датасетах. Госсектор и корпорации с госучастием обязывают закупать отечественные LLM — характерный пример, когда Объединённая авиастроительная корпорация заявила о проектировании техники с помощью GigaChat. Если вы работаете с госсектором, выбор моделей сужается регулятором, а не вашими предпочтениями.
В-третьих, здравый смысл про IP. Совет «не стройте локальные кластеры, это долго и дорого, несите данные в наше защищённое облако» звучит разумно — но у него есть оборотная сторона. Отдавая корпоративные логи провайдеру, вы рискуете, что на ваших же данных дообучат модель, к которой потом продадут вам доступ по подписке. Для R&D и чувствительных данных закрытый контур — это не паранойя, а защита интеллектуальной собственности.
Вывод: чем чувствительнее данные и чем ближе вы к госсектору, тем сильнее весы качаются в сторону on-prem или гибрида с обезличиванием. Чистое облако без обработки ПД остаётся для публичных, не-персональных данных.
Гибрид побеждает: архитектура роутинга
На практике лучший результат даёт не «всё локально» и не «всё в облако», а маршрутизация запросов между моделями. Идею продвигают и IBM Research (их LLM Routers дают до −85% на инференсе), и LMSYS со своим RouteLLM.
Архитектура из трёх уровней:
- Диспетчер (1–3B, локально) — смотрит на запрос и решает, кому его отдать. Дёшево и быстро.
- Рабочая лошадка (7–14B, локально) — закрывает ~90% задач прямо на месте. Без облака, без утечек, без счетов.
- Эксперт (облачная модель) — только 5–10% по-настоящему сложных запросов (синтез сложных идей, финальный tone of voice, нетривиальный анализ) уходят наверх, где за качество не жалко заплатить.
Скелет такого роутера на Kotlin + Spring Boot:
enum class Tier { LOCAL_SMALL, LOCAL_WORKHORSE, CLOUD_EXPERT }
@Service
class LlmRouter(
private val classifier: LocalSmallModel, // 1–3B, диспетчер
private val workhorse: LocalWorkhorse, // 7–14B, локально
private val cloud: CloudExpertClient, // облачный API
) {
fun route(req: LlmRequest): Tier {
// дешёвый классификатор сложности на малой модели
val complexity = classifier.scoreComplexity(req.prompt) // 0.0..1.0
val touchesPii = req.containsPersonalData // флаг из пайплайна
return when {
complexity < 0.4 -> Tier.LOCAL_WORKHORSE // рутина
touchesPii -> Tier.LOCAL_WORKHORSE // ПД не выпускаем
complexity > 0.8 -> Tier.CLOUD_EXPERT // редкая сложность
else -> Tier.LOCAL_WORKHORSE
}
}
fun complete(req: LlmRequest): LlmResponse = when (route(req)) {
Tier.LOCAL_SMALL -> classifier.complete(req)
Tier.LOCAL_WORKHORSE -> workhorse.complete(req)
Tier.CLOUD_EXPERT -> cloud.complete(anonymize(req)) // см. ниже
}
}
Обратите внимание на два правила в route(): запросы с персональными данными никогда не уходят в облако напрямую, а большинство трафика остаётся на локальной рабочей лошадке. Это и есть источник экономии и compliance одновременно.
Слой анонимизации
Что делать, когда сложный запрос всё-таки нужно отправить в облако, но в нём есть ПД? Ответ — промежуточный слой обезличивания между формированием запроса и его отправкой. Он кодирует персональные данные перед отправкой и декодирует обратно при приёме ответа. Это рабочий паттерн, который практики уже реализуют как отдельные библиотеки для анонимизации датасетов (с учётом того, что для обычных и финансовых ПД правила различаются — как и требует приказ 966).
Принцип:
@Component
class PiiAnonymizer {
// прямой проход: ФИО/телефоны/счета → плейсхолдеры, маппинг в памяти запроса
fun mask(text: String): MaskedPayload {
val map = mutableMapOf<String, String>()
var masked = text
detectors.forEach { d ->
d.findAll(masked).forEachIndexed { i, m ->
val token = "<${d.type}_$i>"
map[token] = m.value
masked = masked.replace(m.value, token)
}
}
return MaskedPayload(masked, map)
}
// обратный проход: плейсхолдеры в ответе модели → реальные значения
fun unmask(text: String, map: Map<String, String>): String =
map.entries.fold(text) { acc, (token, real) -> acc.replace(token, real) }
}
В облако уходит текст вида «клиент <NAME_0> с картой <CARD_0> просит…», а пользователь получает уже восстановленный ответ. Облачная модель видит структуру задачи, но не видит персональных данных — и формально, и фактически 152-ФЗ не нарушается.
Когда что выбирать: матрица решения
| Сценарий | Рекомендация |
|---|---|
| Пилот, низкий объём, публичные данные | Облачный API (быстрый старт, минимум MLOps) |
| Высокий предсказуемый объём, бюджет растёт линейно | Self-hosted workhorse (7–14B) + роутинг |
| Персональные / финансовые данные | Локально или гибрид со слоем анонимизации |
| Госсектор, КИИ, оборонка | Отечественные модели, суверенные датасеты, on-prem |
| Рутина: парсинг, классификация, предобработка | Малая локальная модель |
| Редкие сложные задачи: синтез, сложный анализ | Облачный эксперт через роутер |
| R&D и чувствительная интеллектуальная собственность | Закрытый контур, on-prem |
Чек-лист перед внедрением
- Посчитайте CPT. Без метрики стоимости токена любой спор про «дорого/дёшево» — это спор вслепую.
- Разложите пайплайн на этапы. Отделите рутину (отдать локалке) от точек, где нужен интеллект (отдать облаку).
- Промаркируйте данные. Где ПД, где коммерческая тайна, где публичная информация — от этого зависит маршрут.
- Заложите роутер с первого дня. Даже если сейчас один провайдер — абстракция
LlmRouterокупится при первом же изменении цен или закона. - Постройте слой анонимизации, если хоть один сценарий касается ПД и при этом нужен облачный эксперт.
- Инструментуйте качество. Валидаторы, линтеры, автотесты вокруг модели поднимают планку даже у малых моделей.
- Проверьте регуляторные ограничения (152-ФЗ, приказ 966, требования к суверенным датасетам), если вы рядом с госсектором.
Инфраструктура такого уровня — это не «подключить API», а полноценная backend-разработка: роутинг, обезличивание, кэш, наблюдаемость, деплой моделей. Если нужна команда, которая построит гибридный LLM-контур под ваши данные и нагрузку — это наша разработка ИИ-решений, и шире — заказная разработка ПО на Java/Kotlin под ключ.
FAQ
Локальная модель действительно может заменить облачную?
Для 80% корпоративных задач — да. Рутина (парсинг, классификация, предобработка, извлечение сущностей) отлично решается моделью на 7–14B локально. Сложный синтез и нетривиальный анализ разумнее оставить облачному эксперту через роутер. Полной замены нет — есть разделение труда.
С какого объёма self-hosting окупается?
Ориентир — месячный счёт за API от $2 000, растущий линейно с нагрузкой. До этого порога возня с железом и MLOps чаще не оправдана. После — считайте TCO: 7B-модель в обслуживании в 10–30 раз дешевле гиганта.
Можно ли использовать облако и не нарушать 152-ФЗ?
Да — через слой анонимизации, который заменяет персональные данные плейсхолдерами до отправки и восстанавливает их в ответе. Облачная модель видит структуру задачи, но не сами ПД. Требования к обезличиванию по типам данных описывает приказ ФСТЭК № 966.
Что выбрать для работы с госсектором?
Отечественные LLM, обученные на суверенных датасетах, и развёртывание в закрытом контуре. Для КИИ и оборонки это требование регулятора, а не вопрос предпочтений. Правила госзакупок (44-ФЗ, 223-ФЗ) в 2026-м переписываются именно под это.
Какие модели брать как «рабочую лошадку» локально?
Open-weights модели на 7–14B (семейства Qwen, Phi, Llama и их дообученные под русский язык варианты) на старте. Главное — подобрать под доступную память сервера и дообучить под вашу нишу: узкая специализация бьёт универсальность по качеству на доллар.