Меню

Data Scientist (NLP / LLM)

Москва

Технологические решения

Чтобы пригласить специалиста или связаться, зарегистрируйтесь или войдите.

Условия трудоустройства

  • Тип занятости Полная
  • График работы Постоянный график, Плавающий график
  • Формат работы Удалённо
  • Оформление ТК РФ
  • Ожидаемая зарплата от 200 000 ₽/мес
  • Командировки Не готов
  • Переезд Не готов

О себе

Галеев Руслан

01 января 1993 г.р. (33 года)

В свободное время стараюсь отвлекаться от рутины спортом и хобби, для разностороннего развития.

Опыт работы

Россельхозбанк — Data Scientist (NLP / LLM)
октябрь 2024 — апрель 2026

Разработал LLM-ассистента для колл-центра юридических лиц (≈20 тыс. обращений в неделю), развёрнутого на собственной инфраструктуре банка, без внешних API. - Результат (shadow-режим, затем A/B-тест 50/50, 4 недели): resolved rate (доля обращений, решённых без оператора) 45% → 65%, после полного запуска 68%; время ответа 12 → 8,4 мин; CSI (индекс удовлетворённости клиентов) 3,8 → 4,2; доля эскалаций 55% → 32%; экономия ≈35 чел.-ч в день (~2,1 млн ₽ в месяц). - Спроектировал мультиагентную систему на LangGraph: Router, Info, Support, AnalyticsAgent (Text-to-SQL), OperatorAssistant; интеграция с БД и API банка вместе с бэкендерами. - Сравнил Mistral 7B, Qwen 2.5 7B и Qwen 2.5 32B, дообучил Qwen 2.5 32B через LoRA на 10 тыс. размеченных диалогов. Главная метрика — оценка экспертов: 78% полезных ответов; BLEU 0,74 → 0,78 как вспомогательная. - Построил RAG по 20 тыс. страниц регламентов: BGE-M3 (dense + sparse) + Qdrant, Recall@5 = 0,86. Добавил версии и даты документов (приоритет свежим), отдельно обработал таблицы из Excel — это убрало галлюцинации по ставкам. - Ограничил доступ к данным: модель обращалась к БД только через готовые API-инструменты (tool calling) с read-only доступом, проверкой входных параметров и ролевыми правами; все запросы логировались. - Вывел в прод через shadow-режим (модель работает параллельно, клиенты её ответов не видят) и A/B-тест. - Работал в команде из 3 DS, 2 бэкендеров и MLOps-инженера (vLLM, кластер GPU); координировал разметку 10 тыс. диалогов (3 асессора). Стек: Python, PyTorch, Hugging Face Transformers, PEFT (LoRA), LangGraph, vLLM, Qdrant, BGE-M3, Qwen 2.5, Mistral, FastAPI, SQL, Docker, Git.

Boxberry — Data Scientist (NLP / LLM)
октябрь 2021 — август 2024

Вёл ML-проекты полного цикла для контакт-центра и логистики: от постановки задачи с бизнесом и разметки данных до продакшена и дообучения. Данные клиентов не покидали инфраструктуру компании (без облачных API). LLM-агент поддержки клиентов с RAG - Результат (shadow-режим → A/B-тест): resolved rate 52% → 74%, время ответа 8 → 6,2 мин, доля эскалаций 25% → 12%, нагрузка на операторов −30% (≈40 чел.-ч в день), CSI вырос до 4,55. - Построил RAG: multilingual-e5-large + Qdrant, чанки по 512 токенов, приоритет свежих документов; дообучил cross-encoder-реранкер: MRR@10 0,68 → 0,81. - Дообучил Mistral 7B через LoRA на 5 тыс. размеченных диалогов и синтетических данных с ручной фильтрацией. - Реализовал мультиагентную систему на LangGraph (Router, Info, Tracking, Escalation) с инструментами для статуса посылки и смены адреса; добавил валидацию параметров вызовов и эскалацию оператору при низкой уверенности модели. - Квантизация INT8 и деплой на vLLM совместно с MLOps-инженером. - Команда: бэкендер, 2 асессора, младший DS. Классификация обращений клиентов - Классификатор на 15 классов (позже 17) для ≈10 тыс. обращений в день (чат, email, транскрипты звонков). Результат A/B-теста: доля эскалаций 18% → 9%, CSI 4,2 → 4,45, время выбора категории оператором 40 → 30 сек. F1-macro 0,89. - С нуля организовал разметку 50 тыс. примеров (2 асессора), написал инструкцию; согласованность разметки Cohen's Kappa = 0,92. - Очистил транскрипты звонков (pymorphy2, DeepPavlov), заменил персональные данные на плейсхолдеры. Сравнил TF-IDF + логистическую регрессию, RuBERT-tiny и ruBERT-base; выбрал ruBERT-base, редкие классы закрыл через class weights и аугментацию. - Ускорил инференс с 80 до 30 мс через ONNX (совместно с MLOps), интегрировал сервис с Kafka вместе с бэкендером; дообучал модель каждые 2 недели на новых данных. OCR + NER для автоматической регистрации накладных - Результат: Exact Match 86% на тесте, время обработки партии 30 → 5 мин, ручной ввод сокращён ≈на 90% (остальное уходит на проверку оператором). Без коммерческих OCR и облачных API из-за персональных данных. - Собрал пайплайн: предобработка изображений (OpenCV: бинаризация, коррекция поворота), OCR (Tesseract), NER на BERT multilingual, rule-based постобработка. - Организовал разметку 5000 накладных в Label Studio (2 асессора, Cohen's Kappa = 0,97). - Запуск через канареечный режим на 10% трафика с fallback на ручную обработку, затем rollout до 100% с алертом по Exact Match. Стек: Python, PyTorch, Hugging Face, PEFT (LoRA), LangGraph, vLLM, Qdrant, ONNX, OpenCV, Tesseract, DeepPavlov, Label Studio, scikit-learn, FastAPI, Docker, Kafka, SQL, Git.

Образование

Уровень образования: Высшее образование

2016 г. ‐ Уфимский государственный нефтяной технический университет
Автоматизация технологических процессов и производств, Автоматизация производственных процессов (ФАПП)