# Али Роделл из Capital One: „Машинное обучение сегодня — это незрелый софт и ленивый инжиниринг“

Источник: https://www.youtube.com/watch?v=zdrZcc9IUlY
Канал: The TWIML AI Podcast
Опубликовано: 17.10.2022

---

Построение современных платформ машинного обучения (ML) в крупных корпорациях неизбежно сталкивается с конфликтом между гибкостью инноваций и жесткостью регуляторных требований. Али Роделл, старший директор по ML-инжинирингу в Capital One, в беседе с Сэмом Черрингтоном на подкасте TWIML AI рассказывает, как его команда использует Kubernetes и Kubeflow для создания масштабируемой и безопасной среды разработки моделей в одном из крупнейших банков США.

## 🏗️ От дата-центров к облачной эластичности
[[JUMP:00:00]]

Али Роделл пришел в сферу машинного обучения пять лет назад, имея за плечами 26 лет опыта в классической разработке ПО и системной инфраструктуре [01:08]. Его карьера началась еще в эпоху физических дата-центров, что наложило отпечаток на его подход к архитектуре: в основе любой ML-платформы лежат фундаментальные инженерные принципы.

Capital One совершил масштабный переход из собственных центров обработки данных в публичное облако, что стало ключевым фактором успеха. По словам Роделла, облачная среда позволила компании преодолеть инерцию, свойственную крупным организациям и регулируемым отраслям [03:39].

Главным преимуществом облака Роделл считает эластичность:

*   Возможность «уничтожить всё через Terraform» и развернуть заново за считанные минуты [04:43].
*   Способность запускать тысячи узлов Spark для генерации фичей и выключать их сразу после завершения работы, не переплачивая за простаивающее железо [12:03].
*   Масштабируемость, которая превращает экстраординарные задачи в повседневную рутину [08:06].

## 🛠️ Архитектура платформы: Kubernetes как фундамент
[[JUMP:08:18]]

Основная задача команды Роделла — сделать работу дата-сайентистов максимально простой и бесшовной [08:44]. Платформа должна скрывать сложность инфраструктуры, при этом обеспечивая соблюдение строгих правил безопасности банка.

Платформа Capital One состоит из нескольких уровней:

*   **Среда исследования:** Jupyter Notebooks в качестве основной точки входа [23:46].
*   **Распределенные вычисления:** Интеграция со Spark и Dask для обработки терабайтов данных [24:37].
*   **Абстракции данных:** Собственные инструменты для передачи данных в Data Lake, позволяющие ученым не задумываться о низкоуровневых протоколах [25:41].
*   **Оркестрация:** Использование Argo для управления сложными направленными ациклическими графами (DAG) [28:34].

Под капотом этой системы работают от 30 до 50 различных кластеров Kubernetes, управляемых огромным массивом инфраструктуры AWS [27:28]. Роделл подчеркивает, что идеальная платформа — это та, о существовании которой пользователь даже не подозревает, пока она работает исправно.

## ⚖️ Kubeflow и проблема «незрелого» Open Source
[[JUMP:27:40]]

Capital One активно использует Kubeflow, но не как «коробочное» решение, а как набор компонентов, которые приходится серьезно дорабатывать под требования безопасности. Роделл отмечает, что современная экосистема ML всё еще страдает от «ленивого инжиниринга» [14:43].

Критический взгляд Роделла на Open Source в ML:

1.  **Проблема Root-прав:** Многие инструменты, включая системы гиперпараметрической оптимизации (например, Katib), по умолчанию требуют запуска от имени суперпользователя (root). В безопасной среде банка это категорически запрещено и блокируется программно [15:50].
2.  **Выборочное использование:** Команда использует `Notebook Provisioner` и функционал визуализации пайплайнов из Kubeflow, но заменяет стандартные хранилища артефактов и системы трекинга экспериментов собственными решениями [28:19].
3.  **Необходимость кастомизации:** Из-за жестких ограничений банковской среды практически каждый образ (image) и конфигурация проходят стадию модификации перед внедрением [20:40].

Роделл сравнивает текущее состояние ML-инструментов с экосистемой Java 20-летней давности, когда установка любого сервера приложений была мучительным процессом. Он уверен, что индустрия придет к состоянию стабильности, аналогичному `apt-get install`, но этот путь еще не пройден [18:04].

## 🎇 Как убить кластер: уроки масштабирования
[[JUMP:30:06]]

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

Примеры типичных аварий:

*   **DDoS самого себя:** Когда Spark-кластер на 1000 узлов завершает работу, он может отправить 1000 одновременных запросов к API-серверу Kubernetes. Если не настроено каскадное удаление, контрольная панель (control plane) просто падает под этой нагрузкой [32:09].
*   **Крах etcd:** Инструмент Dask при масштабировании до 800 узлов и определенных конфигурациях может «раздавить» хранилище etcd (ключ-значение база Kubernetes), после чего кластер практически невозможно восстановить без серьезных усилий [33:03].

Для минимизации рисков команда внедрила стратегию «сегрегации нагрузок». В истории компании был даже кластер под кодовым названием «Jet Train» (реактивный поезд), где пользователям позволяли работать на максимальных скоростях без ограничений, пока его не пришлось закрыть из-за нестабильности [33:42].

## 🧪 Дисциплина разработки: Модель как программный код
[[JUMP:38:09]]

Роделл настаивает на применении жестких принципов Software Development Life Cycle (SDLC) к машинному обучению, что он называет MDLC (Model Development Life Cycle) [02:02].

Основные требования к дата-сайентистам в Capital One:

*   **Обязательное использование Git:** Это не подлежит обсуждению [38:52]. Система должна уметь воссоздать любую модель с нуля для целей аудита.
*   **Тестирование:** Роделл называет себя «очень раздражающим человеком» для своих инженеров, постоянно спрашивая: «Где ваши тесты?» и «Как мы контролируем качество кода?» [45:30].
*   **Автоматизированный CI/CD:** Хотя ученым не обязательно разбираться в тонкостях Jenkins или GitLab, процесс сборки модели должен происходить на выделенном сервере, создавая сериализованный объект модели, который является проверяемым и воспроизводимым [49:04].

## 🔮 Будущее: Индустрия станет проще
[[JUMP:49:16]]

В краткосрочной перспективе Capital One фокусируется на создании еще более высокоуровневых переиспользуемых компонентов (например, готовых шаблонов для XGBoost), чтобы команды не тратили время на настройку стандартных фреймворков [49:45].

В долгосрочном плане Али Роделл дает оптимистичный прогноз:

1.  **Смерть «хакинга»:** Инструменты ML станут более зрелыми и перестанут требовать бесконечной ручной доработки [51:21].
2.  **Улучшение объяснимости (Explainability):** Интеграция инструментов интерпретации моделей непосредственно в процесс их создания позволит ускорить разработку и повысить доверие со стороны регуляторов [50:54].
3.  **Принцип «фундаментальной тройки»:** Несмотря на любые уровни абстракции, инженерам всегда придется помнить о CPU, памяти и дисковом вводе-выводе. По мнению Роделла, эти ограничения останутся с нами навсегда [13:50].

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