TGViewer
AI на дровах 🪵 AI на дровах 🪵 @nerditru · 227 subscribers
Post #199 256
AI на дровах 🪵 Почти всё последнее время варюсь в задаче мультиклассовой классификации тестовых данных. Хочу поделиться инсайтом (хотя, может, для кого-то это и очевидно). 🔑 Самое важное в любой ML-задаче — это данные. Чем лучше вы подготовите исходный датасет, тем лучше…
Всем привет! 🖖

Давно не писал, решил немного рассказать, как дела)
Работаю над проектом, где с помощью ML помогаем техподдержке — и вот что неожиданно оказалось самым непростым:

Обучить модель — это ещё полбеды. Куда сложнее сделать так, чтобы она сама дообучалась без участия человека.

Подумав-подумав, выбрал такой стек:

- MinIO — храним датасеты и обученные модели.
- Airflow — управляет пайплайнами и следит за процессами.
- MLflow — метрики, версии моделей, история экспериментов.
- FastAPI — API для дообучения на GPU.
- Grafana — мониторим модели и инфраструктуру.

🔍 Как определяем лучшую модель?

Каждое обучение завершается валидацией на данных, которых модель не видела. Считаем метрики (точность, F1, recall), сохраняем их в MLflow.

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

🤖 Что делает модель?

Она автоматически классифицирует обращения, а также помогает правильно маршрутизировать тикеты. Это снижает нагрузку на операторов и ускоряет ответы.

🗂 Откуда берутся данные?

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

Отдельно хочу выделить Airflow.

Откровенно говоря, Airflow в этом проекте раскрылся с новой стороны. Я знал, что он удобный, но не думал, что настолько мощный.

Можно настроить запуск пайплайна не просто по расписанию, а, например, когда создаётся новый датасет. То есть если данные изменились — это триггерит дообучение модели.

Если всё хорошо — новая модель уходит в прод. Логи пайплайнов и ошибок отправляются в Telegram, плюс часть мониторинга реализована через Grafana.

🧠 Какая модель используется?

В основе — кастомный классификатор на базе pretrained BERT. Перед этим модель была дообучена на задаче masked language modeling (MLM), чтобы лучше понимать специфичный язык и стиль обращений из нашей предметной области. Затем мы дообучаем её под категории тикетов и типичные формулировки пользователей, дообучаем под специфические категории и стиль обращений. Используем transfer learning, чтобы быстрее адаптироваться к новым данным.

🛡 Как не допустить плохую модель в прод?

Если метрики хотя бы на немного хуже — модель остаётся в тесте. Только стабильно лучшие проходят дальше. Дополнительно есть защита от случайного деплоя через ручную валидацию ключевых изменений.

Автоматизация оказалась не самой простой задачей, но теперь всё крутится почти само.

💬 Если среди подписчиков есть коллеги с ML-пайплайнами — поделитесь своим подходом. Будет интересно сравнить!

#machinelearning #mlops #airflow #mlflow #bert #techsupport #automation #fastapi #grafana #minio #deeplearning #mlpipeline
  • 🔥 5
More from @nerditru
  1. Sep 27, 2026Тут недавно вышла Jev от TypeSafe AI, и многие обсуждали сам подход: модель не пишет текст…
  2. Sep 24, 2026photo post
  3. Sep 24, 2026По понятиям AI инжиниринга Почему модель отвечает медленно? Почему поиск по документам воз…
  4. Sep 23, 2026Просто оставлю это тут. У кого есть мысли, давайте в комменты 🖥
  5. Sep 20, 2026Post #284
  6. Sep 14, 2026Post #283
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →