Дмитрий Носов, rambler&co, h2o на spark: как мы пили газировку...
TRANSCRIPT
27 мая 2016 г. Дмитрий Носов, Rambler&Co
H2O на Spark
Как мы пили газировку и чуть не захлебнулись
3
План
● Что такое H2O и Spark
● Что может H2O
● Задача, которую мы решали с помощью H2O
● Проблемы, с которыми мы столкнулись
4
Spark и H2O
5
“Fast and general computing engine for clusters
Makes it easy and fast to process large datasets● APIs in Java, Scala, Python, R● Libraries for SQL, streaming, machine
learning…● 100x faster than Hadoop MapReduce for some
apps”
6
● Java-приложение для машинного обучения на больших данных
● Работает stand-alone, на Spark● API для:
– Python– R– Scala– REST API
7Взято с github.com/h2oai/sparkling-water
8Взято с github.com/h2oai/sparkling-water
9
H2O – pros
10
● Алгоритмы:– GLM– GBM– Distributed RF– Deep Learning– K-means– Naive Bayes– PCA
– pros
11
In-memory – скорость: обработки данных, обучения
1M rows x 600 features, 32 executors (2 cores, 4 Gb):● Преобразование из Spark DF – 4 минуты● Обучение GLM – 30 секунд● Обучение GBM – 3 минуты
– pros
12
H2O Flow – интерактивное окружение (Jupyter/IPython notebook-like):● Отчеты по моделям● Обучение● Мониторинг кластера и задач● …
– pros
13
– pros
14
– pros
15
– pros
16
– pros
17
– pros
18
Задача
19
Задача
● Бинарная классификация с несбалансированными классами
● Большой объем данных для обучения
(в день – ~100 Gb / 100M rows) – в HDFS/Hive● HTTP API, применение модели в реальном
времени:– не менее 2000 rps (в перспективе 50000 rps)– время ответа не более 10 ms (в идеале 3 ms)
20
Решение задачи
● Обучение на кластере:– Spark
– H2O
● Применение – Java-приложение:– Vert.x
– модель H2O, экспортированная в POJO
21
H2O – cons
22
– cons
23
● Перезапуск executors разрушает кластер H2O● Нестабильность (внезапные падения)● “Сырой” Python API● Отсутствие Sparse-форматов● Высокие требования к driver-ноде● POJO не работает с отсутствующими и
новыми значениями категориальных переменных
– cons
24
Итог
25
● Отличная платформа для машинного обучения● Но мы не будем использовать H2O в production
Возможно, повезет вам?..
Итог
Спасибо за внимание!
Вопросы?