
Привет, Хабр! Меня зовут Юля Корышева, я разработчик машинного обучения в команде скоринга в Билайне. В этой статье расскажу, как за последние пять лет в нашей команде менялся подход к разработке, валидации и поддержке моделей — с какими вызовами мы столкнулись, как их решали и к каким результатам пришли.
Вызовы в процессе масштабирования
Наша команда занимается построением моделей для маркетплейсов, банков, страховых компаний и микрофинансовых организаций. Основная задача таких моделей — скоринг клиентов: оценка вероятности дефолта и фрод-рисков, модели для коллекторских процессов и оценки дохода, а также решения для страхового скоринга.
Мы строим десятки таких моделей на данных телекома, выступая внешним источником скоров для наших клиентов. Каждая модель проходит полный цикл от подготовки данных и обучения до внедрения и мониторинга в продакшене.
С ростом количества моделей и разнообразия задач стало ясно, что процесс нужно масштабировать. Большинство вызовов, с которыми мы столкнулись, можно отнести к трем категориям:
Высокие показатели time-to-market
Если вы делаете продукт, который приносит прибыль (или к этому стремитесь), то в вашей команде точно наступит момент, когда число входящих задач станет больше количества людей в команде, вычислительных ресурсов и рабочих часов.
Наша команда — не исключение. Несколько лет назад мы поняли, что мы не можем обрабатывать тот поток клиентских кейсов, который к нам приходит. Например, за 2024 год мы обработали около 380 клиентских запросов: от построения новых моделей до расчёта скоров по уже существующим. Из них около 70 моделей были построены с нуля.
Количество построенных моделей в год кратно превышает количество человек в команде
Когда мы поняли, что нужно автоматизировать некоторые части пайплайна по построению моделей и таким образом можно заметно увеличить их количество, возник вопрос: как всё это поддерживать и внедрять в продакшн? Не менее важно было понять, как мониторить качество всех этих моделей.
Воспроизводимость и использование новых подходов к построению моделей разными участниками команды
Помимо фокуса на бизнес-результатах и инфраструктуре мы понимали, что модели должны эволюционировать еще и по качеству классических ML-метрик. Для этого команде нужно выделять время на исследования новых подходов и уметь эффективно передавать эти «секретные знания» друг другу — использовать их и воспроизводить в разных экспериментах.
Каждая модель, которую мы строим внутри команды, проходит одинаковую последовательность шагов, перед продакшном:
Рассмотрим каждый этап: какие варианты оптимизации мы рассматривали, какие ошибки допускали и какие изменения помогли нам сократить time-to-market и повысить стабильность моделей в продакшене.