Локальный ИИ в вашем периметре: когда vLLM или Ollama, а когда шлюз с маскированием
Когда бизнесу оправдан локальный запуск моделей на своих серверах, а когда достаточно шлюза с маскированием ПДн: честное сравнение по данным, стоимости и качеству.
Гайды по локальному запуску моделей выходят каждую неделю, и бизнес спрашивает, стоит ли переносить ИИ на свои серверы
Такой запрос мы слышим регулярно: «Поставим модель локально, и данные вообще не уйдут в интернет». За ним стоит разумный инстинкт: если модель работает на своих серверах, внешний провайдер в цепочке просто отсутствует. Данные физически никуда не уходят.
Но между этим инстинктом и правильным техническим решением стоит несколько вопросов, которые стоит задать до того, как заказывать GPU-серверы. Потому что «локально» бывает разным, и не всегда это то, что нужно именно вашей ситуации.
Два честных пути
Когда компания хочет использовать языковые модели и при этом контролировать, куда уходят её данные, путей ровно два.
Первый: локальные модели в вашем контуре. Модель разворачивается на GPU-серверах внутри вашей инфраструктуры. Инференс, то есть работа модели по обработке запросов, происходит целиком внутри периметра. Никакого внешнего провайдера в цепочке нет. Данные не покидают ваш контур ни на каком этапе.
Второй: шлюз с маскированием персональных данных. Запросы к внешним моделям идут через шлюз в вашей инфраструктуре. Перед тем как запрос уйдёт к провайдеру, шлюз маскирует персональные данные: имена, телефоны, адреса заменяются синтетическими значениями. К внешней модели уходит структурно корректный запрос, но без реальных данных.
Оба пути мы разворачиваем. Вопрос в том, какой из них подходит для конкретного сценария.
Что такое инференс и почему это важно
Для понимания разницы между путями нужно разобраться, что именно происходит, когда языковая модель отвечает на запрос.
Инференс - это процесс работы модели: модель получает входной текст, обрабатывает его нейронной сетью и генерирует ответ. Это вычислительно тяжёлая операция, которая требует GPU с достаточным объёмом видеопамяти. Чем больше модель, тем больше памяти и мощности нужно.
При использовании внешних провайдеров инференс происходит на их серверах. При локальном развёртывании инференс идёт на ваших серверах. Это и есть суть разницы: кто владеет вычислительным процессом, тот и видит данные.
Как мы разворачиваем локальные модели
Для локального запуска моделей в производственной среде мы используем vLLM или Ollama, в зависимости от требований к нагрузке и сложности управления.
vLLM подходит для производственных сценариев с высокой нагрузкой. Он поддерживает параллельную обработку запросов, эффективно использует GPU-память и работает с большинством открытых моделей: Llama, Mistral и их производными. Развёртывание происходит в контейнерах Docker или в кластере Kubernetes, в зависимости от вашей инфраструктуры.
Ollama - это более простой вариант для команд, которым нужен быстрый старт без сложной инфраструктуры. Он удобен для внутренних инструментов с умеренной нагрузкой и подходит как точка входа перед тем, как принимать решение о полноценном производственном кластере.
Шлюз в вашем контуре мы разворачиваем на узлах ADG в вашей инфраструктуре. Он работает как единая точка входа для всех обращений к языковым моделям, и к локальным, и к внешним.
Когда нужна локальная модель, а когда достаточно шлюза
Не каждому сценарию нужна локальная модель. Чтобы понять, где какой путь оправдан, нужно смотреть на характер данных.
Локальная модель нужна, когда:
- Данные не могут покидать периметр ни в каком виде, даже маскированном. Это типично для медицинских систем, защищённых государственных контуров, финансовых приложений с определёнными регуляторными требованиями.
- Задача требует дообучения модели на внутренних данных. Если модель должна знать специфику вашей документации, терминологию или процессы, дообучение делается локально на закрытых данных.
- Нужна работа в изолированном контуре без выхода в интернет. Есть инфраструктуры, где это требование инфраструктурное, а не только регуляторное.
Шлюз с маскированием достаточен, когда:
- Нужен контроль над тем, что уходит к внешним провайдерам, но абсолютная изоляция не требуется.
- Данные структурированы и хорошо поддаются маскированию: таблицы с известными полями, формы, выгрузки с фиксированной схемой.
- Важно качество модели. Современные фронтир-модели от OpenAI или Anthropic существенно превосходят открытые модели сопоставимого размера по большинству задач.
- Бюджет на GPU-инфраструктуру ограничен или её нет.
Как выглядит гибридный вариант
На практике мы чаще всего видим не выбор между двумя путями, а их сочетание.
Один из проектов в финансовой сфере. Компания работает со смешанным потоком запросов: часть связана с данными клиентов и счетами, часть касается общих аналитических задач, которые не затрагивают персональные данные напрямую.
Решение получилось гибридным. Чувствительный контур (запросы, которые работают с персональными данными клиентов) обслуживается локальной моделью на GPU-узлах внутри периметра. Данные физически не покидают инфраструктуру. Остальные задачи, где нужно качество фронтир-модели, идут через шлюз с маскированием к внешнему провайдеру.
Принципы разграничения доступа в модели zero-trust применяются к обоим контурам: каждая команда и каждое приложение получает доступ только к тому маршруту, который соответствует характеру её задач. Аналитики не используют тот же канал, что и система, работающая с клиентскими данными.
Такой гибрид даёт и контроль над данными, и доступ к сильным моделям там, где они нужны.
Честный разговор о компромиссах
Локальные модели - это не бесплатный выбор. Есть несколько честных ограничений, о которых стоит знать заранее.
Качество. Открытые модели уступают фронтир-моделям на большинстве сложных задач. Если задача требует высокого качества генерации, суммаризации сложных документов или многошаговых рассуждений, локальная модель даст результат хуже, чем GPT-4o или Claude. Это не вопрос настройки, это разница в масштабе обучения.
Инфраструктура. Локальная модель нуждается в GPU-серверах. Это капитальные затраты или аренда специализированного железа, которого у большинства компаний нет в наличии. Плюс обслуживание: обновление моделей, мониторинг через Grafana, управление ресурсами в Kubernetes. Это не разовое развёртывание, это операционная нагрузка.
Провизия и обновления. Новые версии моделей появляются быстро. При использовании внешнего провайдера вы получаете обновления автоматически. При локальном развёртывании каждое обновление - это отдельная операция с тестированием.
Шлюз с маскированием проще в операционном плане и даёт доступ к лучшим моделям. Но он не даёт абсолютной изоляции данных. Если ваши требования именно такие, локальный вариант оправдан, несмотря на затраты.
Как принять решение
Вопрос не в том, что лучше абстрактно. Вопрос в том, что соответствует вашему регуляторному контексту, характеру данных и бюджету.
Если данные не могут покидать периметр ни при каких условиях, ответ локальный. Если нужен контроль и видимость, но абсолютная изоляция не обязательна, шлюз с маскированием закрывает задачу дешевле и с лучшим качеством моделей. Если сценарии смешанные, гибрид.
Мы подбираем режим под конкретные данные, задачи и бюджет. Подробнее об услуге на странице LLM API.