PDF de programación - Aprendizaje Automático sobre Grandes Volúmenes de Datos - Clase 13

Imágen de pdf Aprendizaje Automático sobre Grandes Volúmenes de Datos - Clase 13

Aprendizaje Automático sobre Grandes Volúmenes de Datos - Clase 13gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 16 de Marzo del 2018)
515 visualizaciones desde el 16 de Marzo del 2018
888,9 KB
44 paginas
Creado hace 9a (29/10/2014)
Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Aprendizaje Automático sobre
Grandes Volúmenes de Datos

Clase 13

Pablo Ariel Duboue, PhD

Universidad Nacional de Córdoba,

Facultad de Matemática, Astronomía y Física

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Clase anterior

Material de lectura

Clase pasada:

Scalable Scientic Computing Algorithms Using MapReduce
por Xiang Jingen, Master of Mathematics UWaterloo '13

https://uwspace.uwaterloo.ca/bitstream/handle/10012/7830/Xiang_Jingen.pdf

Parallelized stochastic gradient descent por Zinkevich, Weimer,
Li, Smola (NIPS 2010)

Ésta clase:

Alternating Direction Method of Multipliers (Boyd et al. 2011)

web.stanford.edu/~boyd/papers/pdf/admm_distr_stats.pdf
MPI (http://en.wikipedia.org/wiki/Message_Passing_Interface)

http://www.mpich.org/

Colas de pasaje de mensajes
(http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol)

http://activemq.apache.org/

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Clase anterior

Preguntas

½Sin preguntas!

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Clase anterior

Recordatorio

El sitio Web de la materia es http://aprendizajengrande.net

Allí está el material del curso (lminas, audio)

Leer la cuenta de Twitter https://twitter.com/aprendengrande
es obligatorio antes de venir a clase

Allí encontrarán anuncios como cambios de aula, etc
No necesitan tener cuenta de Twitter para ver los anuncios,
simplemente visiten la página
Suscribirse a la lista de mail en
[email protected] es optativo

Si están suscriptos a la lista no necesitan ver Twitter

Feedback para alumnos de posgrado es obligatorio y rmado,
incluyan si son alumnos de grado, posgrado u oyentes

El "resúmen" de la clase puede ser tan sencillo como un
listado del título de los temas tratados

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Temas Claves

Identicación de la máxima tarea que puede hacerse por nodo
Descomposición de la tarea normal en tareas por nodo
Tareas globales, realizadas en un nodo (central) y tareas
paralelas
Comunicación entre tareas mediante HDFS y archivos bandera
Tareas que sólo hacen Map
Cálculos intermedios

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Descomposición LU

(adaptado de Xiang Jingen, 2013)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Descomposición LU en MR

(adaptado de Xiang Jingen, 2013)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Descomposición LU en MR

(adaptado de Xiang Jingen, 2013)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

El algoritmo a vuelo de pájaro

Dividir la matriz original recursivamente hasta que
L1U1 = P1A1 sea soluble en una máquina
Descomponer A1
Calcular U2
(cid:48)
Calcular la permutación de L2, L
2
Calcular B = A4 − L
Descomponer B
Armar la salida total a partir las partes

2U2

(cid:48)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Implementación en MapReduce

1 Nodo master crea archivos de control que son usados como

entrada a las tareas map subsecuentes

Falsas entradas

2 Una tarea MapReduce subdivide A de manera recursiva
3 Se envian tareas MapReduce para L

(cid:48)
2, U2 y B

L1 y U1 son ejecutadas en el master node si A1es lo
suficientemente pequeña

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Número de Tareas

m0 es la cantidad de máquinas en el cluster
nb es el máximo tamaño de una matriz para computar en un
solo nodo

Número de tareas será 2

log2

n
nb

(cid:108)

(cid:109)

:

(adaptado de Xiang Jingen, 2013)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Ejecución

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

(adaptado de Xiang Jingen, 2013)

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Zinkevich et al., NIPS 2010

Distribuir los datos al azar entre nodos
Realizar descenso por el gradiente en cada nodo, por separado
Unicar los resultados en un nodo central

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Algoritmo en nodo worker

(adaptado de Zinkevich et al, 2010)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Algoritmo en nodo central

(adaptado de Zinkevich et al, 2010)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Dirección Alternada de Multiplicadores

Optimizar dos funciones a la vez

Problema similar a regresión logística y SVMs
Alternar la optimización de una función y la otra

Clave: en ciertas condiciones, la primera optimización se puede
hacer en paralelo mientras que la segunda es reducida y puede
hacerse en una sola máquina

minimizar
f (x) + g (z)
dado que Ax + Bz = c

Ver Distributed Optimization and Statistical Learning via the
Alternating Direction Method of Multipliers (201) por Boyd,
Parikh, Chu, Peleato, Eckstein

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Más allá de MapReduce:

MPi: Message Passing Interface

AMQP: Advanced Message Queuing Protocol

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

MPI

Estándar de facto

Desde 1994
Tres revisiones
Especicaciones independientes del lenguaje para llamadas de
función

CORBA o RPC
Mucha menor latencia entre llamadas

Mismo programa en todos los nodos, se pasan datos entre ellos

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

MPI

Provee:

Topología virtual
Sincronización
Comunicación

Funciones:

Comunicación punto-a-punto (rendez-vous), send/receive
Topología Cartesiana o de grafo general
Combinar resultados parciales (gather/reduce)
Sincronización de nodos (barreras)
Información general (número de nodos, número de nodo
actual, vecinos, topología)

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Decisiones de diseño

Todo el paralelismo es explícito
Distintas implementaciones (en distinto hardware) sólo
requieren recompilación del código

© 2014 Pablo Duboue, bajo licencia CC-BY-SA

BDML-clase13-1/10

Décima Tercera Clase: Métodos Alternativos
Clase Anterior
Descenso por el gradiente distribuido
Método de Dirección Alternada de Multiplicadores
Métodos Alternativos
UIMA

Implementación de ejemplo: MPICH

Programas mpicc y mpiexec
ssh con certicados (sin password)
mpiexec -f lista-de-hostnames -n <número>
programa-ejecutable

La lista de hostnames puede tener de manera opcional el
número de cores después de un :

mpiexec -f lista-de-hostnames -n 1 ./master : -n 15 ./slave
Diferentes métodos de comunicación entre procesos

Más recient "némesis" usa memoria compartida para procesos
en la misma máquina y sockets (o Myrinet-MX) para
comunicación
  • Links de descarga
http://lwp-l.com/pdf9584

Comentarios de: Aprendizaje Automático sobre Grandes Volúmenes de Datos - Clase 13 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad