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

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

---

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

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

## ⚙️ Архитектура платформы и рабочие процессы
[[JUMP:04:43]]

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

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

*   **Унифицированное управление:** Использование системы SDX (Shared Data Experience) позволяет поддерживать единый уровень безопасности и управления доступом ко всем данным — от хранилища (data warehouse) до потоков логов.
*   **Изолированные рабочие среды:** Пользователи получают интерактивный доступ к подам Kubernetes, где можно развернуть сессии Python или R, используя необходимые библиотеки (scikit-learn, PyTorch, TensorFlow).
*   **Автомасштабирование:** Система автоматически регулирует количество нод и использование GPU в зависимости от нагрузки.

## 📊 Кейс: Прогнозирование оттока клиентов
[[JUMP:07: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), что исключает проблемы рассинхронизации.

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

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

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

*   **Track Metrics:** В библиотеке `cdsw` предусмотрена функция `track_metric`, позволяющая записывать логи вызовов модели и их результаты в специальную базу данных.
*   **Анализ качества:** Сравнивая предсказания с реальными результатами (ground truth), можно вычислять метрики точности (например, площадь под ROC-кривой) в динамике.
*   **Замкнутый цикл (Closed Loop):** При падении точности ниже установленного порога система может автоматически триггерить новый запуск процесса обучения на свежих данных.

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