Video thumbnail

    Highload MLOPs: ускорение и автоматизация / Павел Николаев (Альфа банк)

    Valuable insights

    1.Централизованная ML-платформа — основа стратегии: Альфа-Банк строит единую централизованную платформу для разработки и применения моделей машинного обучения, что отличает организацию от большинства конкурентов на рынке.

    2.Лидерство по Time to Market внедрения моделей: Внедрение пакетных и онлайн-моделей занимает в среднем от двух до трех дней, что позиционирует банк как лидера рынка по данному показателю.

    3.Автоматизация критична для борьбы с деградацией моделей: Рост количества моделей требует автоматизации процессов мониторинга и переобучения, поскольку любая модель со временем снижает свою разделяющую способность, требуя ресурсов дата-сайентистов.

    4.Внедрен автоматический мониторинг и переобучение пакетных моделей: Инструмент AutoRetrain автоматически инициирует разработку новой версии модели при статистически значимой деградации и внедряет ее, обеспечивая экономию ресурсов и бизнес-эффект.

    5.Сложности каскадных моделей и Apache Airflow: Использование Airflow для сложных каскадных архитектур пакетных моделей приводит к проблемам с ролевой моделью, изоляцией DAG и общей неповоротливостью системы.

    6.Онлайн-модели используют многомодульную архитектуру: Для онлайн-решений применяется архитектура из микросервисов в Kubernetes, где каждый модуль обрабатывает отдельный источник данных, что повышает отказоустойчивость при сбоях источников.

    7.Оптимизация среды разработки через кастомизацию ресурсов: Доработка Jupyter Spawner позволила дата-сайентистам точно выбирать потребляемые ресурсы CPU и RAM, избегая избыточного резервирования больших профилей.

    8.Использование LLM для автоматизации Code Review: Модель LAMA успешно используется в пилотном режиме как советчик ML-инженера для проверки кода моделей, с планами по полному отказу от ручного ревью для простых моделей.

    Введение и опыт спикера

    Выступление посвящено обзору централизованной платформы машинного обучения Альфа-Банка, которая, по мнению докладчика, является лучшей на рынке. Спикер имеет 15-летний опыт работы в банковской сфере, начиная с Райффайзенбанка. Ключевым достижением в ранней карьере стала разработка комплексной модели принятия решений для физических лиц в UniCredit, которая функционирует уже более десяти лет.

    Карьера и переход к централизации

    Далее работа включала моделирование в казначействе и бизнес-подразделениях Альфа-Банка, а также валидацию корпоративного моделирования и внедрение стандартов Базель в Уралсибе и Открытии. Именно в Открытии был создан первый опыт создания централизованной ML-платформы, который теперь масштабируется и улучшается в Альфа-Банке.

    Архитектура ML-экосистемы Альфа-Банка

    Инфраструктура банка отличается централизованным подходом: около 85% всех моделей Альфа-Банка работают в данной экосистеме. Она включает централизованный Data Lake Hub, который мигрирует на решение S3, а также Feature Store (супермаркет фичей). Над ними располагается MDP (Model Development Platform) — единая среда для разработки, где работают 95% дата-сайентистов банка.

    • Единый пайплайн поставки моделей.
    • Централизованная среда исполнения (SIM).
    • Основные модели работают в пакетном режиме (BCH) и онлайн.
    • Онлайн-модели получают данные из горячего хранилища.

    Характеристики стандартной бизнес-модели

    В качестве примера рассматривается стандартная бизнес-модель склонности юридического лица к использованию бизнес-карт. Эта модель использует около 500 факторов (фичей) на лонг-листе, а в шорт-лист для инференса уходит 14 фичей. Объем обучающей выборки составляет порядка 40 ГБ, а таргет-рейт крайне мал, менее 1%.

    Цели проекта и эффективность автоматизации

    Основная цель проекта — сокращение Time to Market, где банк, по оценкам консультантов, является лидером, внедряя пакетные и онлайн-модели в среднем за 2-3 дня. При этом сохраняется высокий уровень качества и отказоустойчивости, так как системы относятся к уровню Mission Critical. Вторая важная цель — экономичное расходование ресурсов, поскольку нет возможности вкладывать столько же средств в "железо", сколько конкуренты.

    Уровень стабильности моделей и отказоустойчивости — это 2-й уровень Mission Critical систем.
    • Кратное масштабирование количества моделей (до 15 раз).
    • Увеличение числа дата-сайентистов в среде разработки в два раза.
    • Лидерство в развитии инфраструктуры согласно анкете Google.

    Инструменты автоматизации ML (AML)

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

    • Бейзлайн (автообучение модели): базовая процедура, имеющаяся у всех конкурентов.
    • Автоматизированное тестирование фичей (Feature Testing): к этому стремятся все игроки.
    • Централизованная инфраструктура: есть у Альфа-Банка и ВТБ.
    • Автоматизированное переобучение (AutoRetrain): есть у Альфа-Банка и Яндекса.

    Автоматизация тестирования новых источников данных

    Тестирование новых источников данных значительно упрощается, если можно автоматизированно проверить, улучшает ли новый набор данных (например, о поведении клиента в интернете) предсказательную способность эталонной модели. Это позволяет избежать сложной дорожки покупки и обоснования финансовой эффективности источника.

    Автоматизация жизненного цикла пакетных моделей

    Разработка базовой модели через бейзлайн теперь является обязательной историей для любой стандартной модели. Если качество автоматически разработанной модели устраивает, дата-сайентист может не продолжать собственную разработку. Бейзлайн также используется как инструмент альтернативного моделирования для валидации.

    Внедрение и эффект автоматического переобучения

    Автоматическое переобучение (AutoRetrain) внедрено с мая и активно масштабируется; к концу года 80% пакетных моделей должны стоять на автопереобучении. Ручной цикл переработки модели часто приводит к деградации перед переобучением. Тестирование на реальных данных показало, что переобучение четыре раза в год (ежеквартально) дает лучший результат.

    Цикл
    Периодичность
    Результат качества
    Ручной
    Раз в год (если нет экстраординарных событий)
    Деградация перед переобучением
    Автоматический (AutoRetrain)
    Ежеквартально (тестовые данные)
    Стабильное качество
    Автоматический инструмент можно хоть переобуть. Здесь мы протестировали это на реальных данных на примере похожей модели склонности четыре раза в год.

    Проблемы каскадных моделей и Airflow

    Несмотря на гордость за каскадные модели пакетного вывода, существуют серьезные нюансы, связанные с использованием Apache Airflow. Основные минусы включают проблемы с ролевой моделью и Active Directory, что затрудняет нормальную изоляцию DAG. Это приводит к риску изменения расписания одного хаба человеком из другого хаба моделирования.

    Сложности поддержки каскадных библиотек

    Супер-пупер каскадная библиотека, реализованная на Airflow, оказалась очень тяжелой в поддержке, неповоротливой, и ее работа сопровождается проблемами с отказоустойчивостью. Хранение логов и списка DAG на едином сетевом хранилище (PVC Long Horn) несет высокие риски при масштабировании.

    Перспективы перехода на Argo Workflow

    Техлиды прорабатывают переход на Argo Workflow, который позволяет конфигурировать DAG через YAML-файлы, что проще, чем работа с огромной библиотекой Airflow. Argo также упрощает постановку на шедулер через UI и, что критически важно, обеспечивает более простую работу с деплоем на предыдущие версии (откат).

    Упрощение деплоя и контейнеризация

    Для упрощения деплоя и масштабирования внедрена многоконтурная среда (Dev, Load Test, Integration Test, Prod). Ранее модель собиралась целиком, что приводило к переполнению артефактов и зависаниям. Сейчас используется выделение базовых образов, привязанных к версии Python (например, 3.8 для лучшей работы со Spark DataFrame).

    • Базовые образы (привязаны к версии Python/Spark).
    • Вес базового образа около 2 ГБ.
    • Модель и окружение архивируются в pickle-файл.
    • Обеспечивается быстрая пересборка.

    Многомодульность в онлайн-моделях

    В отличие от пакетных моделей, где важен вывод большого количества моделей, для онлайн-моделей принятия решений (например, выдача кредита) критична многомодульность. Стандартная практика — строить несколько моделей в зависимости от источников данных (внешние кредитные истории, арбитражи). Это позволяет убрать модуль, если источник данных выходит из строя, не переобучая весь ансамбль.

    Реализация онлайн-моделей на Kubernetes

    Реализация многоуровневой архитектуры онлайн-моделей выполнена как набор микросервисов в Kubernetes. Каскады управляются через Argo, а архитектура задается через Python SDK FastAPI. Обмен данными между микросервисами происходит через брокер сообщений. Выбор пал на Redis вместо RabbitMQ, поскольку микросервисы обмениваются маленькими сообщениями (результатами работы).

    Брокер
    Применимость
    Решение в Альфа-Банке
    RabbitMQ
    Тяжелый, специализированный, для больших сообщений
    Не выбран
    Redis
    Для маленьких сообщений, обеспечивает асинхронность
    Выбран и используется
    Redis отвечает за многопоточность, асинхронность и работу в фоновом режиме. Классная библиотека.

    Оптимизация среды разработки и ресурсов

    В среде разработки (MDP) возникает проблема конкуренции за ресурсы, поскольку каждый дата-сайентист хочет выделенное железо, что приводит к простоям. Для решения этой проблемы был доработан стандартный Spawner JupyterHub. Изначально были только профили (Малый, Средний, Большой), но они не позволяли точно выделять ресурсы, например, 60 ГБ RAM.

    Кастомизация выделения ресурсов в JupyterHub

    Доработка позволила выбирать точное значение ресурсов ползунками. Видеокарты Tesla также делятся пополам, наиболее удобный объем для работы с LLM составляет 40 ГБ. Стандартный объем для 80% задач — 16 виртуальных CPU и 200 ГБ оперативной памяти. Для более требовательных задач используются выделенные ноды в общем кластере.

    • Мгновенное выделение ресурсов при поднятии пода.
    • Мониторинг загрузки каждой ноды в FastAPI.
    • Административные рассылки о регулярном перепотреблении ресурсов.

    Будущие шаги и выводы

    Текущая проблема заключается в необходимости полной перезагрузки JupyterHub для внедрения изменений в настройках (например, новых версий Python или правил распределения видеокарт), что сложно согласовать при наличии 200 пользователей. Рассматриваются два пути: глубокое сохранение сессий по примеру Сбера или написание собственного UI с переходом на Argo, что кажется более перспективным.

    Ответственность и ответственность за качество

    Ответственность за внедрение кода модели несет дата-сайентист, что ломает парадигму и ускоряет процесс, исключая ML-инженеров из цикла внедрения. Однако инфраструктура предоставляет пайплайн, чтобы дата-сайентист мог применять свои методы автоматизированно. За постановку модели отвечает дата-сайентист, так как библиотеки модульные и прошли ревью.

    Мы как инфраструктура предоставляем пайплайн, чтобы он мог свои методы применять автоматизированно.

    В части оптимизационных алгоритмов (суррогатная оценка качества, метаоптимизация) пока используются базовые библиотеки. В будущем планируется использование LLM для автоматизации разметки данных, где ручные асессоры будут сверять результаты, а также для автоматизации Code Review, что уже пилотируется.

    Questions

    Common questions and answers from the video to help you understand the content better.

    Как Альфа-Банк обеспечивает сокращение Time to Market при внедрении ML-моделей?

    Сокращение Time to Market достигается за счет централизованной платформы и автоматизации, позволяющей внедрять пакетные и онлайн-модели в среднем за 2-3 дня, что является лидерским показателем на рынке.

    Какие основные проблемы возникают при использовании Apache Airflow для каскадных ML-моделей?

    Основные проблемы Airflow включают сложности с ролевой моделью, отсутствие нормальной изоляции DAG, что позволяет пользователям одного хаба менять расписание другого, а также общую неповоротливость и медленную работу каскадных библиотек.

    Какую роль играет централизованный Feature Store в ML-экосистеме банка?

    Централизованный Feature Store (супермаркет фичей) является частью инфраструктуры, расположенной над Data Lake, и предоставляет унифицированные, готовые данные для разработки моделей дата-сайентистами на платформе MDP.

    Как решается проблема неэффективного использования ресурсов GPU и CPU в среде разработки JupyterHub?

    Проблема решается доработкой Jupyter Spawner, позволяющей дата-сайентистам выбирать точное количество ресурсов (CPU, RAM, GPU) ползунками, вместо привязки к статичным, часто избыточным профилям.

    Какова стратегия банка по автоматическому мониторингу и переобучению пакетных моделей?

    Модели проходят автоматический мониторинг; при статистически значимой деградации инициируется разработка новой версии. Если новая версия лучше, она автоматически заменяет старую в продакшене, что является частью инструмента AutoRetrain.

    Useful links

    These links were generated based on the content of the video to help you deepen your knowledge about the topics discussed.

    This article was AI generated. It may contain errors and should be verified with the original source.
    VideoToWordsClarifyTube

    © 2025 ClarifyTube. All rights reserved.