Современные языковые модели (LLM) вроде GPT, LLaMA или Mistral обладают поразительной универсальностью. Они обучены на триллионах токенов из открытых источников и научились объяснять сложные вещи, поддерживать диалог в свободной форме и даже писать код. Однако при решении реальных бизнес-задач универсальность становится слабым местом: бизнесу нужны не «всезнающие ассистенты», а узкоспециализированные инструменты, хорошо понимающие внутренние процессы и терминологию.

Конечно, модель можно дообучить, но традиционный процесс fine-tuning может себе позволить не всякая компания:

  • Сложно. Нужны узкие специалисты — ML-инженеры, разбирающиеся в PyTorch/TensorFlow, методах LoRA/QLoRA и оптимизации GPU.

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

  • Дорого. GPU-ресурсы дороги, а стоимость инференса через API внешних провайдеров становится непредсказуемой при росте нагрузки.

В результате внедрение LLM для узких задач зачастую превращается в дорогостоящий проект, который могут позволить себе лишь компании с сильной ML-командой. А ведь в идеале инструмент должен не усложнять процесс, а помогать сосредоточиться на сути задачи — данных и бизнес-контексте. Мы в VK Tech нашли такой инструмент — H2O LLM Studio. И добавили его в магазин приложений на платформе VK Cloud.

H2O LLM Studio позволяет обучать модели на собственных данных через удобный интерфейс, без написания кода и без передачи данных за пределы защищённого облака. Это значит, что аналитик, инженер поддержки или DevOps-специалист может создать специализированную модель, не погружаясь в детали PyTorch или LoRA, а IT-команда сохраняет контроль над инфраструктурой и безопасностью.

 В этой статье расскажем об использовании H2O LLM Studio на примере автоматизации триажа (первичной маршрутизации) тикетов в службе поддержки и оценим, какие результаты можно было бы получить.

Проблема: рост объёма обращений и ручная маршрутизация

Для любой быстрорастущей SaaS-компании увеличение числа тикетов поддержки — закономерный процесс. Согласно отраслевым данным, на одного пользователя приходится от 0,5 до 1,3 обращения в месяц. При 10 000 клиентах это 5 000–13 000 тикетов ежемесячно.

Каждый тикет нужно прочитать, понять, о каком сервисе и проблеме идёт речь, оценить приоритет и передать в нужную команду. Ручной триаж отнимает 3–5 минут на тикет, и в нём неизбежно возникают ошибки: по статистике до 10–15% тикетов изначально направляются не туда, в результате решение критических инцидентов может задержаться на лишний час. Всё это влияет не только на ключевые метрики — скорость решения проблем (MTTR), удовлетворённость клиентов (CSAT), — но и на саму себестоимость обработки тикетов.

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

  • Безопасность данных.Тикеты содержат персональные данные, фрагменты кода, детали конфигурации, финансовую информацию. Можем ли мы отправлять всё это во внешние API?

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

  • Затраты. Модель с оплатой per-token может стоить слишком дорого при большом потоке обращений, и для быстрорастущей компании эту стоимость будет сложно спрогнозировать.

Было бы здорово дообучить модель под наши нужды, но это сложно, долго и дорого… или нет?

Решение: используем H2O LLM Studio

Дообучим модель с помощью H2O LLM Studio. Эта платформа даёт преимущества, которые позволят нам побороть типичные проблемы fine-tuning:

  • Визуальный интерфейс: с его помощью дообучить модель сможет DevOps-инженер или аналитик, хорошо знакомый с работой технической поддержки. Разбираться в тонкостях ML ему не придётся.

  • Ускорение итераций: весь цикл от загрузки данных до получения готового API-эндпоинта занимает часы, а не недели.

  • Применение лучших практик: платформа инкапсулирует лучшие практики по дообучению (например, использование LoRA для экономии ресурсов GPU), избавляя от необходимости погружаться в технические детали.

Теперь посмотрим, как этот сценарий реализуется в инфраструктуре VK Cloud, и оценим, насколько нам поможет H2O LLM Studio.

1. Подготовка окружения в VK Cloud

Сначала развернём H2O LLM Studio из магазина приложений VK Cloud, и в процессе сконфигурируем ВМ под Ubuntu, на которой будет запущен инстанс — для этого есть подробная инструкция. Чтобы по максимуму использовать возможности H2O LLM Studio, лучше выбрать виртуальную машину с GPU. При этом ручная настройка окружения не потребуется, а все необходимые для работы драйверы и компоненты будут установлены автоматически. Под капотом используется технология GPU passthrough — физический ускоритель напрямую «пробрасывается» в виртуальную машину, обеспечивая производительность, близкую к bare metal.

Развёртывание занимает несколько минут, после этого данные для подключения к инстансу сервиса приходят на почту, привязанную к аккаунту в VK Cloud. 

2. Подготовка датасета

Следующий шаг — сбор и подготовка датасета. 

Выгрузим исторические данные об обращениях в поддержку за последние полгода в формате CSV. Нам важны всего два поля:

  • prompt — текст обращения пользователя,

  • response — эталонный JSON-объект для маршрутизации.

Пример:

```csv

"prompt","response"

"Не могу сбросить пароль для support@mycompany.com в Cloud IAM",

"{""service"": ""Cloud IAM"", ""category"": ""Баг"", ""urgency"": ""High"", ""user_id"": ""support@mycompany.com""}"

```

Такой формат позволит обучить модель не просто классифицировать тикеты, но ещё и извлекать структурированные данные, которые сразу можно использовать в автоматизации.

3. Fine-tuning в H2O LLM Studio

Теперь переходим в веб-интерфейс H2O LLM Studio по ссылке, полученной при развёртывании сервиса, и делаем следующее:

  1. В разделе Import Dataset загружаем подготовленный датасет.

  2. В разделе Create experiment создаём новый эксперимент:

    • Dataset: выбираем только что загруженный датасет.

    • Backbone Model: выбираем базовую модель для дообучения. Для наших целей подойдёт Mistral-7B, у этой модели оптимальное соотношение производительности и требований к ресурсам.

    • Hyperparameters: включаем использование LoRA (Low-Rank Adaptation) — это важно для эффективного использования GPU-памяти и позволит снизить требования к ресурсам. Устанавливаем количество эпох (Epochs) равным 3 — это оптимальное значение, при котором метрики стабилизируются, и при этом переобучения не происходит. 

Остальные параметры можно оставить по умолчанию.

  1. Нажимаем Run Experiment.

После этого H2O LLM Studio автоматически запустит процесс дообучения, используя ресурсы нашей ВМ в VK Cloud. Отслеживать метрики (например, training loss) можно в реальном времени.

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

4. Развёртывание модели и интеграция

Когда эксперимент завершится, протестируем модель во встроенном чате. Если метрики нас устраивают, переходим в раздел Deployments и одним кликом разворачиваем нашу дообученную модель. H2O LLM Studio автоматически создаст защищённый REST API эндпоинт.

Осталось протестировать API и  интегрировать его с нашей системой поддержки. Например, при создании тикета веб-хук в Jira может отправлять текст обращения на наш API. В ответе модель будет возвращаться структурированный JSON, данные из которого можно автоматически добавить в тикет, чтобы назначить категорию, приоритет и сразу выбрать команду.

Для масштабируемости решения можно использовать промежуточный сервис — например, облачную функцию в VK Cloud, которая принимает запросы, обращается к API модели и обновляет тикеты.

Результаты

Теперь оценим результаты автоматизации триажа:

  • Время маршрутизации обращений в техническую поддержку сократилось с 3–5 минут до долей секунды. Специалисты поддержки смогут сразу сосредоточиться на решении проблемы, не тратя время на триаж.

  • Снизилось количество ошибок маршрутизации. В результате среднее время ожидания по критическим инцидентам сократилось с нескольких часов до 10–15 минут. 

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

Заметим, что наш кейс с автоматизацией маршрутизации тикетов — лишь один из множества сценариев, где такой подход даёт значимый бизнес-эффект. H2O LLM Studio поможет дообучить модели под самые разные задачи:

  • классификация финансовых документов по типам и уровням риска,

  • извлечение ключевых параметров из анкет или резюме,

  • анализ технических логов и их распределения по системам,

  • разметка обращений в чатах и соцсетях для автоматической эскалации.

Как видите, теперь ML становится всё проще и доступнее.