Илья Трофимов - машинное обучение с помощью vw
TRANSCRIPT
ДЕВИЗ There are two ways to have a fast
learning algorithm: (a) start with a slow algorithm and speed it up, or (b) build an intrinsically fast learning algorithm. This project is about approach (b), and it's reached a state where it may be useful to others as a platform for research and experimentation.
VOWPAL WABBIT
Начало:12/21/2007 Написан на C/C++ Проект разрабатывался в Yahoo Research,
сейчас – Microsoft Research Open Source – BSD лицензия
https://github.com/JohnLangford/vowpal_wabbit/wiki
http://tech.groups.yahoo.com/group/vowpal_wabbit/
ОСНОВНЫЕ ВОЗМОЖНОСТИ Обучение линейных функций с разными
функциями потерь: квадратичной, логистической, hinge, quantile;
Методы оптимизации: SGD, сопряженные градиенты, L-BFGS;
Многоклассовая классификация; Поддержка весов объектов; Обучение на объектах со структурой; Matrix factorization; Latent Dirichlet Allocation; Для работы Vowpal Wabbit не обязателен
Hadoop-кластер.
ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ РАСПРЕДЕЛЕННОЙ ЛИНЕЙНОЙ РЕГРЕССИИ Обобщенная линейная регрессия
Проблема: архитектура MapReduce плохо приспособлена для итеративных алгоритмов машинного обучения;
Пример: нет эффективной распределенной реализации Logistic Regression в Mahout;
Реальные данные для исследований лежат на Hadoop/MapReduce кластере !
Хочется иметь метод, работающий с миллиардами событий и миллионами параметров!
ОБУЧЕНИЕ НА БОЛЬШИХ ДАННЫХ“BIG DATA”
Нужна распределенная система обучения:все данные не могут лежать на одном
серверенужно увеличение производительности
Hadoop:файловая система HDFS JobTrackerspeculative execution
РЕШЕНИЕ Нужна операция AllReduce, которая
агрегирует данные со всех нод и сообщает обратно всем результат.
ALLREDUCE: SUM - 1
1
2 3
4 5 6 7
ALLREDUCE: SUM - 2
1
11 16
4 5 6 7
ALLREDUCE: SUM - 3
28
11 16
4 5 6 7
ALLREDUCE: SUM - 4
28
28 28
28 28 28 28
ALLREDUCE Аналогичная реализация:
Вычисление количества Среднее значениеСредневзвешенное значение
SPANNING_TREE На кластере запускается процесс spanning_tree ;
Каждый mapper запускает vw в режиме стриминга;
vw подключается к spanning_tree и обменивается с остальными ip & port;
из мэпперов выстраивается дерево, после этого процесс spanning_tree не нужен;
дерево из мэпперов выполняет операции AllReduce.
РЕАЛИЗАЦИЯ Все работает в одной операции map:
hadoop jar $HADOOP HOME/hadoop-streaming.jar
-Dmapred.job.map.memory.mb=2500 -input <input>
-output <output> -file vw -file runvw.sh –mapper runvw.sh <output> <span server> -reducer NONE
ПРЕДЕЛЫ ПРОИЗВОДИТЕЛЬНОСТИ
Yahoo:
17*109 событий
16*106 параметров
1000 серверов
Yandex:
1*109 событий
16*106 параметров
60 серверов
… 70 мин
… 20 мин
A. Agarwal, O. Chapelle, M. Dudik, J. LangfordA Reliable Effective Terascale Linear Learning System,http://arxiv.org/abs/1110.4198
ЛИНЕЙНОЕ УСКОРЕНИЕ
A. Agarwal, O. Chapelle, M. Dudik, J. LangfordA Reliable Effective Terascale Linear Learning System,http://arxiv.org/abs/1110.4198
СПЕКУЛЯТИВНОЕ ВЫПОЛНЕНИЕ
A. Agarwal, O. Chapelle, M. Dudik, J. LangfordA Reliable Effective Terascale Linear Learning System,http://arxiv.org/abs/1110.4198
SGD & L-BFGS
Наиболее эффективная комбинация – это один проход SGD с последующими итерациями L-BFGS
A. Agarwal, O. Chapelle, M. Dudik, J. LangfordA Reliable Effective Terascale Linear Learning System,http://arxiv.org/abs/1110.4198
ПРИМЕНЕНИЯ Задачи “Big Data” с большим
количеством параметров (бинарные и категориальные переменные)
Анализ пользовательских логов Предсказание кликов
O. Chapelle. Click Modeling for Display Advertising, ICML 2012.
Предсказание конверсии Задачи из генетики
Splice site recognition A. Agarwal, O. Chapelle, M. Dudik, J. Langford. A Reliable Effective
Terascale Linear Learning System
КОД Hadoop: https://github.com/JohnLangford/vowpal_wabbit/tree/master/cluster
Yandex MapReduce:обращаться к trofim
REFERENCES Alekh Agarwal, Olivier Chapelle, Miroslav Dudik, John Langford A
Reliable Effective Terascale Linear Learning System, http://arxiv.org/abs/1110.4198
K. Weinberger, A. Dasgupta, J. Langford, A. Smola, and J.Attenberg, Feature Hashing for Large Scale Multitask Learning, ICML 2009.
O. Chapelle. Click Modeling for Display Advertising, ICML 2012. J. Nocedal, Updating Quasi-Newton Matrices with Limited Storage. C. Teo, Q. Le, A. Smola, V. Vishwanathan, A Scalable Modular. Convex Solver for Regularized Risk Minimizationavg. G. Mann et
al. Ecient large-scale distributed training of conditional maximum entropy models.
M. Zinkevich, M. Weimar, A. Smola, and L. Li, Parallelized Stochastic Gradient Descent.
СПАСИБО ЗА ВНИМАНИЕ!