От эксперимента к производству: путь ML-моделей в Cloudera

The TWIML AI Podcast 3,1 тыс. 53 мин 2 мин 06.09.2022
Главное

End-to-End ML: Путь от данных к продакшену в Cloudera Machine Learning 0:13

Создание и внедрение моделей машинного обучения (ML) в корпоративной среде часто сталкивается с серьезными препятствиями: по статистике, лишь около 20% разработанных моделей доходят до этапа эксплуатации. Джефф Флетчер, эксперт Cloudera, в ходе своего выступления на The TWIML AI Podcast продемонстрировал, как платформа Cloudera Machine Learning (CML) позволяет преодолеть этот разрыв, предлагая структурированный «сквозной» (end-to-end) жизненный цикл модели. Главная идея подхода заключается в стандартизации процессов: от инженерной подготовки данных и создания интерактивных сред до развертывания моделей в виде REST-сервисов и их мониторинга в промышленной эксплуатации.

⚙️ Архитектура платформы и рабочие процессы 4:43

Cloudera Machine Learning эволюционировал из платформы Data Science Workbench, приобретенной компанией у Sense.io. Фундаментом системы является Kubernetes, что обеспечивает эластичность инфраструктуры независимо от облачного провайдера (AWS, Azure, GCP или OpenShift).

Ключевые компоненты инфраструктуры:

📊 Кейс: Прогнозирование оттока клиентов 7:45

Для демонстрации процесса Флетчер выбрал классическую бизнес-задачу телекоммуникационного сектора: предсказание оттока (churn prediction) для снижения этого показателя, например, с 10% до 5%.

Этапы реализации проекта:

  1. Подготовка данных (Data Engineering): С помощью Apache Spark данные загружаются в таблицы Hive, расположенные в объектном хранилище (S3 или ADLS), при этом соблюдаются политики безопасности без необходимости ручной настройки доступа.
  2. Разведочный анализ (EDA): Специалист запускает интерактивную сессию Jupyter Notebook, работающую в Kubernetes-поде, чтобы изучить структуру данных и выполнить базовую инженерию признаков.
  3. Построение модели: В ходе обучения используется scikit-learn. Флетчер подчеркивает важность интерпретируемости — способности объяснить, почему модель приняла то или иное решение. Для этого внедряется библиотека LIME (Local Interpretable Model-agnostic Explanations), которая помогает выявить веса отдельных признаков, влияющих на вероятность оттока.
  4. Автоматизация обучения: Вместо запуска кода из ячеек блокнота, для продакшена рекомендуется использовать чистые Python-скрипты. Их можно оформить в виде повторяемых заданий (Jobs), что исключает проблемы рассинхронизации.

🚀 Развертывание и мониторинг 30:32

После того как модель обучена и сохранена (например, в формате Pickle), она превращается в REST-сервис. В Cloudera CML модель — это обертка, позволяющая принимать JSON-запросы и отдавать предсказания с пояснением (explanation).

Мониторинг производительности:

Для бизнес-пользователей, не знакомых с кодом, на платформе можно развернуть готовые веб-приложения (с использованием Dash или Shiny), которые визуализируют прогнозы модели через простой и понятный интерфейс.

💬 Цитаты

«Я бы предпочел иметь модель с точностью 80%, которая работает в продакшене, чем 90%, которая лежит без дела 18 месяцев.»

Джефф Флетчер 11:12

«Машинное обучение — это сложный рабочий процесс, а не просто написание кода.»

Джефф Флетчер 03:08
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Churn
Отток клиентов: процесс потери компании своей клиентской базы.
LIME
Метод объяснения решений моделей машинного обучения через локальную аппроксимацию интерпретируемой моделью.
Pickle
Формат сериализации объектов Python для сохранения обученных моделей в файл.
SDX
Технология Cloudera для обеспечения единой безопасности и управления данными в распределенных системах.
Pod
Минимальная единица развертывания в Kubernetes, содержащая один или несколько контейнеров.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Cloudera Machine Learning Apache Spark Kubernetes LIME