Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taller Big Data por Raúl Ramos

Taller Big Data por Raúl Ramos

RISC Workshop 2013, Manizales. Mayo 16 y 17.

Avatar for Jorge I. Meza

Jorge I. Meza

May 17, 2013
Tweet

More Decks by Jorge I. Meza

Other Decks in Technology

Transcript

  1. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   1

      Tutorial  Big  Data   Raúl  Ramos  Pollán   Mind  Lab   Universidad  Nacional  de  Colombia    
  2. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   2

      Paralelización  de  algoritmos   •  Naturaleza  de  los  algoritmos     Introducción  
  3. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   3

      Paralelización  de  algoritmos     •  Recurso  computacional  disponible  (GPUs,  Cluster,  Grids,   Clouds,  …)   •  Topología  interconexión  unidades  de  cómputo   •  Estrategias  para  explotar  recursos  computacionales    Por  paralelización  intrínseca  del  algoritmo    Por  barrido  de  parámetros    Por  par9ción  de  datos     Introducción  
  4. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   4

      Ejemplos  de  algoritmos   Procesamiento  de  imágenes  à  operaciones  en  regiones  (i.e.  contraste)   Introducción   à   à   and  perform  n  itera9ons  
  5. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   5

      Ejemplos  de  algoritmos   Par9cionamiento  no  trivial   Introducción   xsize ysize slot  i slot  i  +  1 chunk ysize chunk ysize  +  2 chunk ysize  +  2 chunk ysize 8  chunks slot  i  -­‐ 1 slot  i  +  2
  6. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   6

      Ejemplos  de  algoritmos   Par9cionamiento  no  trivial   Introducción   read image split and   send interchange boundary rows with adjacent ranks update image pixels chunk 1 @ rank 1 interchange boundary rows with adjacent ranks update image pixels chunk 2 @ rank 2 interchange boundary rows with adjacent ranks update image pixels chunk 3 @ rank 3 interchange boundary rows with adjacent ranks update image pixels chunk n @ rank n ……. receive and   join write image rank 0 50 iterations measured process time @ rank 0 C1 C2 C2 C2 C3
  7. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   7

      Avg  y  stdev   Paralelización  KMeans,  Logis9c  Regression   ! = 1 ! !! ! ! ! !"#$% = 1 ! (!! − !)! ! !
  8. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   8

      Avg  y  stdev   Paralelización  KMeans,  Logis9c  Regression   ! = 1 ! !! ! ! ! !"#$% = 1 ! (!! − !)! ! ! !"#$% = 1 ! !! ! − 2!! ! + !! ! = 1 ! !! ! ! − 2! !! ! + !!! =! 1 ! !! ! ! − 2! 1 ! !! ! + !! = 1 ! !! ! ! − !! = 1 ! !! ! ! − !! ! !
  9. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   9

      Paralelización  de  KMeans   Paralelización  KMeans,  Logis9c  Regression  
  10. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   10

      Paralelización  de  KMeans   à  Paralelizar  asignación  y  el  cálculo              de  la  media  para  cada  centroide   …   …   …   Paralelización  KMeans,  Logis9c  Regression   1 ! !! ! =! 1 !! !! !! + 1 !! !! !! + ⋯!!
  11. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   11

      Paralelización  de  LogisBc  Regresion   Gradient  descent   Paralelización  KMeans,  Logis9c  Regression  
  12. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   12

      Paralelización  de  LogisBc  Regresion   Paralelización  KMeans,  Logis9c  Regression  
  13. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   13

      Paralelización  de  LogisBc  Regresion   …   …   …   Paralelización  KMeans,  Logis9c  Regression   ℎ! !(!) − !(!) ! ! (!) ! ! ! ! ℎ! !(!) − !(!) ! ! (!) !! ! + ℎ! !(!) − !(!) ! ! (!) !! !! + ⋯! ! = !! + !! + ⋯!
  14. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   14

      Map-­‐reduce,  Hadoop   Map-­‐reduce.  Hadoop  
  15. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   15

      Map-­‐reduce,  Hadoop   public  void  map  (LongWritable  key,  Text  value,    OutputCollector<Text,  IntWritable>    output)     throws  IOExcep9on  {                    String  line  =  value.toString();                    StringTokenizer  itr  =  new  StringTokenizer(line);                    while  (itr.hasMoreTokens())  {                            word.set(itr.nextToken());                            output.collect(word,  one);                  }          }    public  void  reduce  (Text  key,  Iterator<IntWritable>  values,  OutputCollector<Text,  IntWritable>  output)   throws  IOExcep9on  {                int  sum  =  0;                while  (values.hasNext())  {                        sum  +=  values.next().get();                }                output.collect(key,  new  IntWritable(sum));        }   Map-­‐reduce.  Hadoop  
  16. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   16

      Map-­‐reduce,  Hadoop   Map-­‐reduce.  Hadoop  
  17. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   17

      BIGS,  Big  Image  Data  Analysis  Toolkit   BIGS   parallel     locality  aware   opportunisBc     iteraBve   data  parBBon  
  18. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   18

      INIT  STATE   AGGREGATE  STATE   parBBon  1   parBBon  2   parBBon  3   BIGS,  IteraBve   data  parBBon   compuBng   model   BIGS   MAP   INIT  STATE   AGGREGATE  STATE   parBBon  1   parBBon  2   parBBon  3   MAP  
  19. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   19

      BIGS   public class KMeans extends Process<KMeansState, ListDataItem<Double>, NullDataItem> { public KMeansState initState(State previousState) { List<ListDataItem<Double>> centroids = new ArrayList<ListDataItem<Double>>(); for (ListDataItem<Double> d : firstDataItems) centroids.add(d); previousState = new KMeansState(centroids); return (KMeansState)previousState; } public void map(KMeansState state, DataItemsIterator<ListDataItem<Double>> input, OutputCollector<KMeansState, NullDataItem, ListDataItem<Double>> output) { state.resetSumsAndCounts(); while (input.hasNext()) { ListDataItem<Double> item = input.next(); state.addSample(item); } output.setState(state); } @Override public KMeansState aggregateState(List<KMeansState> previousStates, Boolean isLastLevel) { KMeansState state = previousStates.get(0); for(int i = 1; i < previousStates.size(); i++) state.aggregate(previousStates.get(i)); } BIGS,  compuBng  model  API  
  20. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   20

      BIGS,  Despliegue   WORKER   WORKER   WORKER   WORKER   WORKER   HBASE  NoSQL  DATABASE   SCHEDULE   IMAGE   DATASETS   EXPERIMENTER’S  DESKTOP   SSH   SCHEDULE   GENERATOR   WORKER   DEPLOYMENT   WORKERS   RUNNING   EXPERIMENTER   BIGS   two  level  local  worker  cache     (memory  and  disk)  
  21. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   21

      Bases  de  datos  NoSQL   •  Expresividad  SQL  vs.  Escalabilidad   •  Tablas:  filas  de  keys  +  lista  no  fija  de  columnas/valores   •  Operaciones  simples:    Scan  por  key    Acceso  directo  por  key    Transacciones  mínimas  (check&put)    No  joins,  no  SQL  language   •  Big  table,  Hbase,  DynamoDB,  Azure,  Cassandra,  etc.          
  22. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   22

      BIGS,  Big  Image  Data  Analysis  Toolkit   PATCH   EXTRACTION   INPUT   IMAGES   FEATURES   EXTRACTION   FEATURES   CLUSTERING   BOF   REPRESENTATION   BIGS   Learning  RepresentaBons  –  Bag  of  Features  
  23. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   23

      BIGS  job  definiBon   •  ejemplo  job          
  24. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   24

      Escalabilidad   •  Ley  de  Amdahl    N:  Núm.  nodos  paralelos    P:  Proporción  paralelizable  del  código          S(N):  speedup  máximo      
  25. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   25

      Aprendizaje  como  proceso  estadísBco   •  Train  à  Valida9on  à  Model  selec9on   •  ¿Qué  tan  representa9vo  es  el  dataset  que  tenemos?   •  Bias  /  Variance         High  bias   Underfit   High  variance   Overfit  
  26. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   26

      Bias/Variance  en  problemas  de  regresión   •  Train  à  Valida9on  à  Model  selec9on   •  ¿Qué  tan  representa9vo  es  el  dataset  que  tenemos?   •  Bias  /  Variance         High  bias   Underfit   High  variance   Overfit  
  27. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   27

      Bias  (sesgo)  y  varianza         High  bias   High  variance   MODEL  COMPLEXITY  
  28. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   28

      Resampling  (remuestreo)   Técnicas  de  resampling   •  K-­‐fold  cross  valida9on   Good  for  model  selec9on   Less  bias  more  variance     •  Bootstrapping   When  the  theore9cal  distribu9on  of  a  sta9s9c  of  interest  is  complicated  or  unknown.     The  bootstrapping  procedure  is  distribu9on-­‐independent     When  the  sample  size  is  insufficient  for  straighxorward  sta9s9cal  inference.     When  power  calcula9ons  have  to  be  performed,  and  a  small  pilot  sample  is  available.  
  29. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   32

      ¿Qué  estrategia  seguir?  
  30. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   33

      1.  aprendiendo  la  representación   2.  aprendiendo  a  clasificar   ejemplo   HUMAN PROTEIN ATLAS DATASET bigs load.files imgs 4 example-imgs/ bigs job.load full-bof-3stages.job bigs job.submit 1 bigs job.status 1 bigs workers.list MNIST DIGIT RECOGNITION DATASET octave: load("mnist_small.csv"); i1=mnist_small(1,1:784); imshow( reshape( mnist_small(1,1:784), 28,28)'); bigs import.file mnist_small.csv mnist 2 mnist_small.parser bigs job.load learningcurve-validation.job bigs job.submit 1 bigs validation.summary 1 bigs job.status 1
  31. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   34

      [email protected]     Universidad  Nacional  de  Colombia,     Grupo  de  InvesBgación  MindLab    www.unal.edu.co   hfps://sites.google.com/a/unal.edu.co/mindlab/    www.3igs.org  
  32. RISC  Mzles  Mayo  2013   Big  Data  Analy9cs   35

      Formación  postgrado  Universidad  Nacional  para  empresas   www.ing.unal.edu.co  à  educación  conBnua  à  diplomados