Построение современных платформ машинного обучения (ML) в крупных корпорациях неизбежно сталкивается с конфликтом между гибкостью инноваций и жесткостью регуляторных требований. Али Роделл, старший директор по ML-инжинирингу в Capital One, в беседе с Сэмом Черрингтоном на подкасте TWIML AI рассказывает, как его команда использует Kubernetes и Kubeflow для создания масштабируемой и безопасной среды разработки моделей в одном из крупнейших банков США.
🏗️ От дата-центров к облачной эластичности 0:00
Али Роделл пришел в сферу машинного обучения пять лет назад, имея за плечами 26 лет опыта в классической разработке ПО и системной инфраструктуре . Его карьера началась еще в эпоху физических дата-центров, что наложило отпечаток на его подход к архитектуре: в основе любой ML-платформы лежат фундаментальные инженерные принципы.
Capital One совершил масштабный переход из собственных центров обработки данных в публичное облако, что стало ключевым фактором успеха. По словам Роделла, облачная среда позволила компании преодолеть инерцию, свойственную крупным организациям и регулируемым отраслям .
Главным преимуществом облака Роделл считает эластичность:
- Возможность «уничтожить всё через Terraform» и развернуть заново за считанные минуты .
- Способность запускать тысячи узлов Spark для генерации фичей и выключать их сразу после завершения работы, не переплачивая за простаивающее железо .
- Масштабируемость, которая превращает экстраординарные задачи в повседневную рутину .
🛠️ Архитектура платформы: Kubernetes как фундамент 8:18
Основная задача команды Роделла — сделать работу дата-сайентистов максимально простой и бесшовной . Платформа должна скрывать сложность инфраструктуры, при этом обеспечивая соблюдение строгих правил безопасности банка.
Платформа Capital One состоит из нескольких уровней:
- Среда исследования: Jupyter Notebooks в качестве основной точки входа .
- Распределенные вычисления: Интеграция со Spark и Dask для обработки терабайтов данных .
- Абстракции данных: Собственные инструменты для передачи данных в Data Lake, позволяющие ученым не задумываться о низкоуровневых протоколах .
- Оркестрация: Использование Argo для управления сложными направленными ациклическими графами (DAG) .
Под капотом этой системы работают от 30 до 50 различных кластеров Kubernetes, управляемых огромным массивом инфраструктуры AWS . Роделл подчеркивает, что идеальная платформа — это та, о существовании которой пользователь даже не подозревает, пока она работает исправно.
⚖️ Kubeflow и проблема «незрелого» Open Source 27:40
Capital One активно использует Kubeflow, но не как «коробочное» решение, а как набор компонентов, которые приходится серьезно дорабатывать под требования безопасности. Роделл отмечает, что современная экосистема ML всё еще страдает от «ленивого инжиниринга» .
Критический взгляд Роделла на Open Source в ML:
- Проблема Root-прав: Многие инструменты, включая системы гиперпараметрической оптимизации (например, Katib), по умолчанию требуют запуска от имени суперпользователя (root). В безопасной среде банка это категорически запрещено и блокируется программно .
- Выборочное использование: Команда использует
Notebook Provisionerи функционал визуализации пайплайнов из Kubeflow, но заменяет стандартные хранилища артефактов и системы трекинга экспериментов собственными решениями . - Необходимость кастомизации: Из-за жестких ограничений банковской среды практически каждый образ (image) и конфигурация проходят стадию модификации перед внедрением .
Роделл сравнивает текущее состояние ML-инструментов с экосистемой Java 20-летней давности, когда установка любого сервера приложений была мучительным процессом. Он уверен, что индустрия придет к состоянию стабильности, аналогичному apt-get install, но этот путь еще не пройден .
🎇 Как убить кластер: уроки масштабирования 30:06
Одной из самых захватывающих тем беседы стали технические сбои при работе на больших масштабах. Роделл объясняет, что даже Kubernetes имеет свои пределы прочности, когда речь идет о тысячах узлов.
Примеры типичных аварий:
- DDoS самого себя: Когда Spark-кластер на 1000 узлов завершает работу, он может отправить 1000 одновременных запросов к API-серверу Kubernetes. Если не настроено каскадное удаление, контрольная панель (control plane) просто падает под этой нагрузкой .
- Крах etcd: Инструмент Dask при масштабировании до 800 узлов и определенных конфигурациях может «раздавить» хранилище etcd (ключ-значение база Kubernetes), после чего кластер практически невозможно восстановить без серьезных усилий .
Для минимизации рисков команда внедрила стратегию «сегрегации нагрузок». В истории компании был даже кластер под кодовым названием «Jet Train» (реактивный поезд), где пользователям позволяли работать на максимальных скоростях без ограничений, пока его не пришлось закрыть из-за нестабильности .
🧪 Дисциплина разработки: Модель как программный код 38:09
Роделл настаивает на применении жестких принципов Software Development Life Cycle (SDLC) к машинному обучению, что он называет MDLC (Model Development Life Cycle) .
Основные требования к дата-сайентистам в Capital One:
- Обязательное использование Git: Это не подлежит обсуждению . Система должна уметь воссоздать любую модель с нуля для целей аудита.
- Тестирование: Роделл называет себя «очень раздражающим человеком» для своих инженеров, постоянно спрашивая: «Где ваши тесты?» и «Как мы контролируем качество кода?» .
- Автоматизированный CI/CD: Хотя ученым не обязательно разбираться в тонкостях Jenkins или GitLab, процесс сборки модели должен происходить на выделенном сервере, создавая сериализованный объект модели, который является проверяемым и воспроизводимым .
🔮 Будущее: Индустрия станет проще 49:16
В краткосрочной перспективе Capital One фокусируется на создании еще более высокоуровневых переиспользуемых компонентов (например, готовых шаблонов для XGBoost), чтобы команды не тратили время на настройку стандартных фреймворков .
В долгосрочном плане Али Роделл дает оптимистичный прогноз:
- Смерть «хакинга»: Инструменты ML станут более зрелыми и перестанут требовать бесконечной ручной доработки .
- Улучшение объяснимости (Explainability): Интеграция инструментов интерпретации моделей непосредственно в процесс их создания позволит ускорить разработку и повысить доверие со стороны регуляторов .
- Принцип «фундаментальной тройки»: Несмотря на любые уровни абстракции, инженерам всегда придется помнить о CPU, памяти и дисковом вводе-выводе. По мнению Роделла, эти ограничения останутся с нами навсегда .
Али завершает беседу мыслью о том, что хотя сейчас создание ML-платформ напоминает борьбу с незрелыми технологиями, индустрия неизбежно движется к стандартизации, которая сделает машинное обучение таким же предсказуемым процессом, как и стандартная веб-разработка.