Технологии ML
для обработки Big Data
Лекция 10
1) Масштабируемость обучения и применения моделей
2) Качество данных и согласованность источников
3) Управление версиями и обновлением моделей
4) Баланс между точностью и вычислительными затратами
5) Этические аспекты и смещения (bias)
1) Масштабируемость обучения и применения моделей
2) Качество данных и согласованность источников
Подготовка:
Data-Centric AI
3) Управление версиями и обновлением моделей
Основные причины деградации моделей:
Чтобы модели оставались актуальными:
4) Баланс между точностью и вычислительными затратами
Более простая, легкая модель:
В промышленной практике часто выбирают “достаточно хорошую” модель - то есть такую, что удовлетворяет требованиям бизнеса, а не максимизирует метрики.
5) Этические аспекты и смещения (bias)
Ключевые понятия:
Методы коррекции смещений:
2. Архитектуры и шаблоны для ML в больших данных
1) Комбинация пакетной обработки и потоковой обработки
2) Разделение данных и разделение модели
3) Компиляция и оптимизация вычислений
4) Платформы и экосистемы
1) Комбинация пакетной обработки и потоковой обработки
batch (пакетная) обработка
данные накапливаются и обрабатываются периодически
когда задержка в получении результата допустима (например, отчет по продажам за день)
streaming (потоковая) обработка
данные обрабатываются по мере поступления, в реальном или почти реальном времени
Когда модель развернута и работает в реальной среде, новые данные поступают непрерывно, и система должна реагировать быстро
Этап обучения: формируется большой пакет данных → модель обучается → сохраняется.
Этап вывода (inference): новые данные поступают как поток → модель предсказывает почти в реальном времени → приложение/сервис реагирует.
2) Разделение данных и разделение модели
Разделение данных (data parallelism)
Разделение модели (model parallelism)
3) Компиляция и оптимизация вычислений
Пример: проект Apache SystemML (и аналогичные) превращает ML-алгоритмы в распределенные задачи на основании данных и особенностей кластера.
Это позволяет автоматически подбирать стратегию распределения, параллелизма и использования ресурсов.
Инженеры не пишут вручную все детали распределенной обработки - система сама адаптирует модель под инфраструктуру.
4) Платформы и экосистемы
3. Как выбирают технологии под задачи?
1) Объем и частота обновления
Малые наборы данных (до нескольких гигабайт)
scikit-learn (базовые алгоритмы (линейная/ логистическая регрессия, деревья решений, SVM и др.);
XGBoost, LightGBM (оптимизированные бустинговые модели);
pandas, numpy (для обработки и анализа).
Средние наборы данных (десятки-сотни гигабайт)
Apache Spark MLlib (библиотека Spark, обрабатывает данные в распределённой памяти (RDD, DataFrame).
Dask, Ray, Polars (современные альтернативы для распределенной обработки на Python).
Databricks ML (промышленная среда, сочетающая Spark и MLOps).
Огромные наборы данных (терабайты и выше)
TensorFlow Distributed, PyTorch Distributed (обучают модели на кластере узлов).
Horovod (Uber) (фреймворк для параллельного обучения).
Kubernetes + MLflow/Kubeflow (для оркестрации и мониторинга).
2) Требования к скорости отклика (latency)
Онлайн-предсказания (real-time inference)
Пример: рекомендации Netflix, детекция мошенничества, персонализированные объявления.
Требуются модели с малым временем отклика, часто в формате distilled models (облегчённые версии крупных нейросетей) или quantized models (модели с пониженной точностью весов, но быстрой работой).
Используются TensorRT (NVIDIA), ONNX Runtime, FastAPI/Flask-сервисы для развертывания.
Batch-предсказания (offline inference)
Пример: прогноз спроса на неделю или сегментация клиентов.
Можно использовать более тяжёлые модели, так как задержка не критична.
3) Интерпретируемость и объяснимость моделей
В некоторых областях объяснимость важнее точности:
4. Пример: Netflix
4. Пример: Spotify
4. Пример: Uber
5. Лучшие практики
5. Лучшие практики
Технологии ML
для обработки Big Data
Лекция 10