Локальная нейросеть

Локальная нейросеть по требованию и обезличивание

С 8 сентября 2026 года у нас в проде работает своя локальная нейросеть: открытая модель на 27 млрд параметров, арендованный GPU-сервер в облаке с одной видеокартой 24 ГБ. С 14 сентября через неё идёт закрытый режим двух наших ИИ-сервисов: бота техподдержки в Telegram и почтового помощника. Тот же подход ставим клиентам: на их сервер, в российское облако или гибридом.

  1. входит Было

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

  2. в работе Сделали

    Открытая модель на GPU-сервере, который включается по запросу и выключается после 5 минут простоя. Она заменяет персональные данные метками, внешняя модель отвечает по тексту с метками, подстановка обратно идёт у нас.

  3. готово Эффект

    99,5 % значений на стенде прячутся ещё до модели, 0 утечек на 30 тестах, сквозная проверка 10 из 10. Платим за часы работы, простой не оплачивается.

Как это работает

Вручную

было: данные во внешней модели

Автоматически

стало: наружу только метки

  1. Документ с данными входит

  2. Метки вместо данных в работе

  3. Ответ по тексту с метками в работе

  4. Метки обратно у нас готово

Схема: персональные данные меняются на метки до внешней модели.
Ваш контурнастройка по VPN

контур

  • документы
  • локальная модель
  • таблица меток

внешняя модель видит только метки

Схема: документы, локальная модель и таблица меток внутри вашего контура; во внешнюю модель уходит только текст с метками. Данные вымышлены.

Ситуация

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

Где стоит модель

Вариант размещения выбираем под поток клиента:

  • На вашем сервере. Открытая модель работает в вашей сети, письма и документы её не покидают.
  • В облаке по требованию. Выделенный GPU-сервер в российском облаке. Он включается на запрос и выключается после 5 минут простоя.
  • Гибрид. Локальная модель прячет персональные данные за метками, сильная внешняя модель отвечает по тексту с метками, подстановка обратно идёт на вашей стороне.

Сами мы работаем на облаке по требованию в гибридном режиме.

Как работает обезличивание

Правила до модели находят телефоны, почты, ИНН, счета и суммы. Локальная модель дочищает имена, компании и адреса в свободном тексте и ставит на их место метки вида ⟦PERSON_1⟧. Модели приборов и технические термины остаются: без них внешняя модель не поймёт вопрос. Вложения docx, xlsx, pdf и csv проходят тот же путь.

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

Пришло в письме

Анна Соколова из ООО «Северный ветер» просит счёт на 148 500 ₽ за коммутатор SW-410, телефон +7 900 000-00-00

Ушло во внешнюю модель

⟦PERSON_1⟧ из ⟦ORG_1⟧ просит счёт на ⟦SUM_1⟧ за коммутатор SW-410, телефон ⟦PHONE_1⟧

Модель прибора осталась в тексте, по ней внешняя модель и отвечает. Данные вымышлены.

Дальше внешняя модель и веб-поиск работают с метками. Ответ возвращается к нам, метки разворачиваются обратно, локальная модель согласует падежи.

Если что-то сломалось

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

Сервер по требованию

Пришёл запрос, и сервер поднимается; 5 минут без работы, и он гаснет. Запуск с нуля занимает 3 мин 43 с, с сохранённого диска около 2 минут. Прогретая модель выдаёт 32⁠–⁠34 токена в секунду. Платим за часы работы, простой не оплачиваем.

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

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

Как проверяли

Стенд из 13 выдуманных документов: письмо, реквизиты, договор в docx, счёт в pdf, таблицы xlsx на 40 и 5 000 строк, выгрузка csv на 2 000 строк, отчёт около 256 тыс. знаков и письмо с тремя вложениями. Первый слой, правила до модели, спрятал 47 175 значений из 47 431, это 99,5 %. В остатке оказались имена, компании и адреса в свободном тексте, их находит модель.

Кроме стенда, мы прогнали 30 тестов обезличивания на разных формах записи и 10 сквозных прогонов. В прогонах подставляли заранее известные данные, проводили документ по всему пути и искали эти данные в исходящих запросах и логах. Итог: 0 утечек и 10 из 10. Тесты на утечки живут в общем наборе автотестов.

Что переносится в ваш проект

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

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