22

2012.11.06 машинное обучение с помощью vw

  • Upload
    -

  • View
    592

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2012.11.06 машинное обучение с помощью vw
Page 2: 2012.11.06 машинное обучение с помощью vw

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.

Page 3: 2012.11.06 машинное обучение с помощью vw

Начало: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/

Page 4: 2012.11.06 машинное обучение с помощью vw

Обучение линейных функций с разными функциями потерь: квадратичной, логистической, hinge, quantile;

Методы оптимизации: SGD, сопряженные градиенты, L-BFGS;

Многоклассовая классификация;

Поддержка весов объектов;

Обучение на объектах со структурой;

Matrix factorization;

Latent Dirichlet Allocation;

Для работы Vowpal Wabbit не обязателен Hadoop-кластер.

Page 5: 2012.11.06 машинное обучение с помощью vw
Page 6: 2012.11.06 машинное обучение с помощью vw

Нужна распределенная система обучения:

все данные не могут лежать на одном сервере

нужно увеличение производительности

Hadoop:

файловая система HDFS

JobTracker

speculative execution

Page 7: 2012.11.06 машинное обучение с помощью vw

Нужна операция AllReduce, которая

агрегирует данные со всех нод и сообщает

обратно всем результат.

Page 8: 2012.11.06 машинное обучение с помощью vw

1

2 3

4 5 6 7

Page 9: 2012.11.06 машинное обучение с помощью vw

1

11 16

4 5 6 7

Page 10: 2012.11.06 машинное обучение с помощью vw

28

11 16

4 5 6 7

Page 11: 2012.11.06 машинное обучение с помощью vw

28

28 28

28 28 28 28

Page 12: 2012.11.06 машинное обучение с помощью vw

Аналогичная реализация:

Вычисление количества

Среднее значение

Средневзвешенное значение

Page 13: 2012.11.06 машинное обучение с помощью vw

На кластере запускается процесс spanning_tree ;

Каждый mapper запускает vw в режиме

стриминга;

vw подключается к spanning_tree и

обменивается с остальными ip & port;

из мэпперов выстраивается дерево, после

этого процесс spanning_tree не нужен;

дерево из мэпперов выполняет операции

AllReduce.

Page 14: 2012.11.06 машинное обучение с помощью vw

Все работает в одной операции 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

Page 15: 2012.11.06 машинное обучение с помощью vw

Yahoo:

17*109 событий

16*106 параметров

1000 серверов

Yandex:

1*109 событий

16*106 параметров

60 серверов

… 70 мин

… 20 мин

A. Agarwal, O. Chapelle, M. Dudik, J. Langford

A Reliable Effective Terascale Linear Learning System,

http://arxiv.org/abs/1110.4198

Page 16: 2012.11.06 машинное обучение с помощью vw

A. Agarwal, O. Chapelle, M. Dudik, J. Langford

A Reliable Effective Terascale Linear Learning System,

http://arxiv.org/abs/1110.4198

Page 17: 2012.11.06 машинное обучение с помощью vw

A. Agarwal, O. Chapelle, M. Dudik, J. Langford

A Reliable Effective Terascale Linear Learning System,

http://arxiv.org/abs/1110.4198

Page 18: 2012.11.06 машинное обучение с помощью vw

Наиболее эффективная комбинация – это один

проход SGD с последующими итерациями L-BFGS

A. Agarwal, O. Chapelle, M. Dudik, J. Langford

A Reliable Effective Terascale Linear Learning System,

http://arxiv.org/abs/1110.4198

Page 19: 2012.11.06 машинное обучение с помощью vw

Задачи “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

Page 20: 2012.11.06 машинное обучение с помощью vw

Hadoop:

https://github.com/JohnLangford/vowpal_wab

bit/tree/master/cluster

Yandex MapReduce:

обращаться к trofim

Page 21: 2012.11.06 машинное обучение с помощью vw

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.

Page 22: 2012.11.06 машинное обучение с помощью vw