SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
BioHEL GBML System
                               BioHEL using CUDA
                           Experiments and results
                      Conclusions and Further Work




 Speeding up the Evaluation of Evolutionary
     Learning Systems using GPGPUs

      María A. Franco, Natalio Krasnogor and Jaume Bacardit

                                     University of Nottingham, UK,
                                       ASAP Research Group,
                                     School of Computer Science
                                     {mxf,nxk,jqb}@cs.nott.ac.uk


                                            July 10, 2010



M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   1 / 27
BioHEL GBML System
                                  BioHEL using CUDA
                              Experiments and results
                         Conclusions and Further Work

Motivation


          Nowadays the data collection rate easily exceeds the
          processing/data-mining rate.
                  Real-life problems = big + complex.


          There is a need to improve the efficiency of evolutionary
          learning systems to cope with large scale
          domains[Sastry, 2005][Bacardit and Llorà, 2009].

          This work is focused on boosting the performance of the
          BioHEL system by using the processing capacity inside
          GPGPUs.


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   2 / 27
BioHEL GBML System
                                  BioHEL using CUDA
                              Experiments and results
                         Conclusions and Further Work

Outline

   1    BioHEL
          BioHEL GBML System
          Characteristics of BioHEL
   2    BioHEL using CUDA
          How does CUDA works?
          Challenges of using CUDA
          Implementation details
   3    Experiments and results
          Stage 1: Raw evaluation
          Stage 2: Integration with BioHEL
   4    Conclusions and Further Work

   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   3 / 27
BioHEL GBML System
                                 BioHEL using CUDA        BioHEL GBML System
                             Experiments and results      Characteristics of BioHEL
                        Conclusions and Further Work

The BioHEL GBML System




         BIOinformatics-oriented Hierarchical Evolutionary Learning
         - BioHEL[Bacardit et al., 2009]
         BioHEL was designed to handle large scale bioinformatics
         datasets[Stout et al., 2008]
         BioHEL is a GBML system that employs the Iterative Rule
         Learning (IRL) paradigm
                 First used in EC in Venturini’s SIA system[Venturini, 1993]
                 Widely used for both Fuzzy and non-fuzzy evolutionary
                 learning




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   4 / 27
BioHEL GBML System
                                 BioHEL using CUDA        BioHEL GBML System
                             Experiments and results      Characteristics of BioHEL
                        Conclusions and Further Work

The BioHEL GBML System




         BIOinformatics-oriented Hierarchical Evolutionary Learning
         - BioHEL[Bacardit et al., 2009]
         BioHEL was designed to handle large scale bioinformatics
         datasets[Stout et al., 2008]
         BioHEL is a GBML system that employs the Iterative Rule
         Learning (IRL) paradigm
                 First used in EC in Venturini’s SIA system[Venturini, 1993]
                 Widely used for both Fuzzy and non-fuzzy evolutionary
                 learning




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   4 / 27
BioHEL GBML System
                                 BioHEL using CUDA        BioHEL GBML System
                             Experiments and results      Characteristics of BioHEL
                        Conclusions and Further Work

The BioHEL GBML System




         BIOinformatics-oriented Hierarchical Evolutionary Learning
         - BioHEL[Bacardit et al., 2009]
         BioHEL was designed to handle large scale bioinformatics
         datasets[Stout et al., 2008]
         BioHEL is a GBML system that employs the Iterative Rule
         Learning (IRL) paradigm
                 First used in EC in Venturini’s SIA system[Venturini, 1993]
                 Widely used for both Fuzzy and non-fuzzy evolutionary
                 learning




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   4 / 27
BioHEL GBML System
                                  BioHEL using CUDA        BioHEL GBML System
                              Experiments and results      Characteristics of BioHEL
                         Conclusions and Further Work

Characteristics of BioHEL


          The fitness function based on the
          Minimum-Description-Length (MDL)[Rissanen, 1978]
          principle that tries to
                  Evolve accurate rules
                  Evolve high coverage rules
                  Evolve rules with low complexity, as general as possible


          BioHEL applies a supervised learning paradigm. To
          compute the fitness we need three metrics per classifier
          computed from the training set:
             1    # of instances that match the condition of the rule
             2    # of instances that match the action of the rule
             3    # of instances that match the condition and the action


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   5 / 27
BioHEL GBML System
                                  BioHEL using CUDA        BioHEL GBML System
                              Experiments and results      Characteristics of BioHEL
                         Conclusions and Further Work

Characteristics of BioHEL


          The fitness function based on the
          Minimum-Description-Length (MDL)[Rissanen, 1978]
          principle that tries to
                  Evolve accurate rules
                  Evolve high coverage rules
                  Evolve rules with low complexity, as general as possible


          BioHEL applies a supervised learning paradigm. To
          compute the fitness we need three metrics per classifier
          computed from the training set:
             1    # of instances that match the condition of the rule
             2    # of instances that match the action of the rule
             3    # of instances that match the condition and the action


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   5 / 27
BioHEL GBML System
                                  BioHEL using CUDA        BioHEL GBML System
                              Experiments and results      Characteristics of BioHEL
                         Conclusions and Further Work

Characteristics of BioHEL


          The ILAS windowing scheme[Bacardit, 2004]
                  Efficiency enhancement method, the training set is
                  divided in non-overlapping strata and each iteration uses
                  a different strata for its fitness calculations.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   6 / 27
BioHEL GBML System
                                  BioHEL using CUDA        BioHEL GBML System
                              Experiments and results      Characteristics of BioHEL
                         Conclusions and Further Work

Evaluation process in BioHEL




      The computationally heavy
      stage of the evaluation
      process is the match
      process.
      We perform stages 1 and 2
      inside the GPGPU.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   7 / 27
BioHEL GBML System
                                  BioHEL using CUDA        BioHEL GBML System
                              Experiments and results      Characteristics of BioHEL
                         Conclusions and Further Work

Evaluation process in BioHEL




      The computationally heavy
      stage of the evaluation
      process is the match
      process.
      We perform stages 1 and 2
      inside the GPGPU.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   7 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

Why using GPGPUs?




         This GPGPUs acceleration have been used already in
         GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009]
         and LCS[Loiacono and Lanzi, 2009]
         The use of GPGPUs in Machine Learning involves a
         greater challenge because it deals with very large
         volumes of data
         However, this also means that it is potentially more
         parallelizable.




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   8 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

Why using GPGPUs?




         This GPGPUs acceleration have been used already in
         GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009]
         and LCS[Loiacono and Lanzi, 2009]
         The use of GPGPUs in Machine Learning involves a
         greater challenge because it deals with very large
         volumes of data
         However, this also means that it is potentially more
         parallelizable.




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   8 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

Why using GPGPUs?




         This GPGPUs acceleration have been used already in
         GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009]
         and LCS[Loiacono and Lanzi, 2009]
         The use of GPGPUs in Machine Learning involves a
         greater challenge because it deals with very large
         volumes of data
         However, this also means that it is potentially more
         parallelizable.




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   8 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

CUDA Architecture




          NVIDIA Computed Unified Device Architecture (CUDA) is a
          parallel computing architecture that exploits the capacity
          within NVIDIA’s Graphic Processor Units.
          CUDA runs thousands of threads at the same time ⇒
          SPMD (Same Program Multiple Data) paradigm




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   9 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

CUDA Architecture




          NVIDIA Computed Unified Device Architecture (CUDA) is a
          parallel computing architecture that exploits the capacity
          within NVIDIA’s Graphic Processor Units.
          CUDA runs thousands of threads at the same time ⇒
          SPMD (Same Program Multiple Data) paradigm




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   9 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

CUDA Architecture




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   10 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

CUDA Memories




         Different types of memory with different access speed.
         The memory is limited
         The memory copy operations involve a considerable
         amount of execution time
         Since we are aiming to work with large scale datasets a
         good strategy to minimize the execution time is based on
         the memory usage




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   11 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

CUDA Memories




         Different types of memory with different access speed.
         The memory is limited
         The memory copy operations involve a considerable
         amount of execution time
         Since we are aiming to work with large scale datasets a
         good strategy to minimize the execution time is based on
         the memory usage




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   11 / 27
BioHEL GBML System
                                                          How does CUDA works?
                                 BioHEL using CUDA
                                                          Challenges of using CUDA
                             Experiments and results
                                                          Implementation details
                        Conclusions and Further Work

CUDA Memories




         Different types of memory with different access speed.
         The memory is limited
         The memory copy operations involve a considerable
         amount of execution time
         Since we are aiming to work with large scale datasets a
         good strategy to minimize the execution time is based on
         the memory usage




  M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   11 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

The ideal way would be...




          Copy all the classifiers and instances and launch one
          thread for each classifier-instance comparison
   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   12 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Challenges of using CUDA



          Problem 1: Memory copy operations
                  In each iteration the classifiers and the instances to
                  compare are different. They need to be copied again into
                  global memory in each iteration.



          Problem 2: Memory bounds
                  It might be not possible to store all the classifiers and the
                  example instances to make all the comparisons at the
                  same time.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   13 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Challenges of using CUDA



          Problem 1: Memory copy operations
                  In each iteration the classifiers and the instances to
                  compare are different. They need to be copied again into
                  global memory in each iteration.



          Problem 2: Memory bounds
                  It might be not possible to store all the classifiers and the
                  example instances to make all the comparisons at the
                  same time.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   13 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Solution: Memory calculations




   If all the instances fit in memory...
   We copy the instances only one time at the beginning of each
   GA run and access different windows by using a memory offset.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   14 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Solution: Memory calculations




   If all the instances fit in memory...
   We copy the instances only one time at the beginning of each
   GA run and access different windows by using a memory offset.

   If all the instances do not fit in memory...
   We calculate the number of classifiers and instances that fit in
   memory in order to minimise the memory copy operations.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   14 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Challenges of using CUDA




          Problem 3: Output structure size
                  If we make N × M comparisons we will have to copy back to
                  host a structure of size O(N × M) which is very slow



          Solution: Compute the total in device memory




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   15 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Challenges of using CUDA




          Problem 3: Output structure size
                  If we make N × M comparisons we will have to copy back to
                  host a structure of size O(N × M) which is very slow



          Solution: Compute the total in device memory
                  Reduce the three values in device memory in other to
                  minimize the time spend in memory copy operations.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   15 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Kernel functions




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   16 / 27
BioHEL GBML System
                                                           How does CUDA works?
                                  BioHEL using CUDA
                                                           Challenges of using CUDA
                              Experiments and results
                                                           Implementation details
                         Conclusions and Further Work

Kernel functions




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   16 / 27
BioHEL GBML System
                                                           Set up
                                  BioHEL using CUDA
                                                           Stage 1: Raw evaluation
                              Experiments and results
                                                           Stage 2: Integration with BioHEL
                         Conclusions and Further Work

Experiments Set up


          Two stages of experiments
                  Evaluation process independently
                  Integration with the learning process
          Different functions to manage discrete, continuous and
          mixed problems
          We check the integration with the ILAS windowing system

  Cuda Experiments                                          Serial Experiments
  Pentium 4 of 3.6GHz, 2GB                                  HPC facility and the UoN
  RAM and a Tesla C1060 with                                each node with 2 quad-core
  4GB of global memory and                                  processors (Intel Xeon
  30 multiprocessors                                        E5472 3.0GHz)

   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   17 / 27
BioHEL GBML System
                                                           Set up
                                  BioHEL using CUDA
                                                           Stage 1: Raw evaluation
                              Experiments and results
                                                           Stage 2: Integration with BioHEL
                         Conclusions and Further Work

Experiments Set up


          Two stages of experiments
                  Evaluation process independently
                  Integration with the learning process
          Different functions to manage discrete, continuous and
          mixed problems
          We check the integration with the ILAS windowing system

  Cuda Experiments                                          Serial Experiments
  Pentium 4 of 3.6GHz, 2GB                                  HPC facility and the UoN
  RAM and a Tesla C1060 with                                each node with 2 quad-core
  4GB of global memory and                                  processors (Intel Xeon
  30 multiprocessors                                        E5472 3.0GHz)

   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   17 / 27
BioHEL GBML System
                                                                Set up
                                   BioHEL using CUDA
                                                                Stage 1: Raw evaluation
                               Experiments and results
                                                                Stage 2: Integration with BioHEL
                          Conclusions and Further Work

Speed in the evaluation process




               Name      |T|   #Att   #Disc   #Cont    #Cl         T. Serial (s)       T.CUDA (s)   Speed Up

               sat      5790    36        0      36         6       3.60±   0.21        1.92±0.01        1.9
               wav      4539    40        0      40         3       2.57±   0.08        1.59±0.01        1.6
       Cont.




               pen      9892    16        0      16        10       4.94±   0.24        2.25±0.02        2.2
               SS      75583   300        0     300         3     770.61± 119.49       14.69±0.23       52.4
               CN     234638   180        0     180         2    1555.90± 452.79       42.35±0.55       36.7

               adu     43960    14       8        6         2     147.86± 30.93        10.38±0.09       14.2
               far     90868    29      24        5         8     420.78± 90.58        23.13±1.04       18.2
               kdd    444619    41      15       26        23    1715.66± 632.40       95.89±1.42       17.9
       Mixed




               SA     493788   270      26      244         2    3776.36±1212.84       90.45±1.17       41.8
               Par    235929    18      18        0         2     863.72± 163.13       60.04±0.58       14.4
               c-4     60803    42      42        0         3     343.75± 71.93        17.86±0.18       19.2




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham        Speeding up Evolutionary Learning using GPGPUs   18 / 27
BioHEL GBML System
                                                                   Set up
                                       BioHEL using CUDA
                                                                   Stage 1: Raw evaluation
                                   Experiments and results
                                                                   Stage 2: Integration with BioHEL
                              Conclusions and Further Work

Speed Up vs. Training set size

                                              Speed Up according to the training set size
                     60
                          adu - 14atts
                          pen - 16atts
                           Par - 18atts
                            far - 29atts
                     50     sat - 36atts
                          wav - 40atts
                           kdd - 41atts
                           c-4 - 42atts
                          CN - 180atts
                     40   SA - 270atts
                          SS - 300atts
          Speed Up




                     30




                     20




                     10




                     0
                          100                1000                  10000                    100000      1e+06
                                                          Training set size


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham           Speeding up Evolutionary Learning using GPGPUs   19 / 27
BioHEL GBML System
                                                                    Set up
                                      BioHEL using CUDA
                                                                    Stage 1: Raw evaluation
                                  Experiments and results
                                                                    Stage 2: Integration with BioHEL
                             Conclusions and Further Work

Integration with the ILAS Windowing scheme

                                             Total Speedup According to the Number of Windows
                     700
                           adu - 14atts
                           pen - 16atts
                            Par - 18atts
                     600     far - 29atts
                             sat - 36atts
                           wav - 40atts
                            kdd - 41atts
                            c-4 - 42atts
                     500   CN - 180atts
                           SA - 270atts
                           SS - 300atts
                     400
          Speed Up




                     300



                     200



                     100



                      0
                              5         10      15       20      25        30        35         40     45   50
                                                           Number of Windows


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham            Speeding up Evolutionary Learning using GPGPUs   20 / 27
BioHEL GBML System
                                                           Set up
                                  BioHEL using CUDA
                                                           Stage 1: Raw evaluation
                              Experiments and results
                                                           Stage 2: Integration with BioHEL
                         Conclusions and Further Work

How do we get speed up?




          The continuous problems get more speed up than the
          mixed problems.
          The problems with large number of attributes or large
          training sets get more speed up.
          There is a sweet-spot were the combination between the
          CUDA fitness function and the ILAS Windowing scheme
          produces more speedup.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   21 / 27
BioHEL GBML System
                                                             Set up
                                     BioHEL using CUDA
                                                             Stage 1: Raw evaluation
                                 Experiments and results
                                                             Stage 2: Integration with BioHEL
                            Conclusions and Further Work

Speed up of BioHEL using CUDA



           Name       |T|    #Att   #Disc   #Cont   #Cl         T. Serial (s)            T.CUDA (s)    Speed Up

           sat      5790      36        0      36     6         0.03±     0.01          25.91± 2.45            3.7
           wav      4539      40        0      40     3        75.47±     9.38          24.69± 0.81            3.1
   Cont.




           pen      9892      16        0      16    10       149.70±    19.93          40.04± 2.94            3.7
           SS      75583     300        0     300     3    347979.80± 60982.74        5992.28±247.50          58.1
           CN     234638     180        0     180     2    821464.70±167542.04       18644.31±943.98          44.1

           adu     43960      14       8        6     2       5422.78± 1410.71         271.73± 26.03          20.0
           far     90868      29      24        5     8       2471.28±   701.83         94.99± 41.53          26.0
           kdd    444619      41      15       26    23      76442.32± 23533.21      2102.414±191.34          36.4
   Mixed




           SA     493788     270      26      244     2    1252976.80±203186.55      28759.71±552.00          38.3
           Par    235929      18      18        0     2     524706.70± 98949.46      19559.79±671.70          26.8
           c-4     60803      42      42        0     3      52917.95± 8059.55        2417.83±170.19          21.9




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham     Speeding up Evolutionary Learning using GPGPUs     22 / 27
BioHEL GBML System
                                                             Set up
                                     BioHEL using CUDA
                                                             Stage 1: Raw evaluation
                                 Experiments and results
                                                             Stage 2: Integration with BioHEL
                            Conclusions and Further Work

Speed up of BioHEL using CUDA


           Name       |T|    #Att   #Disc   #Cont   #Cl         T. Serial (s)            T.CUDA (s)    Speed Up

           sat      5790      36        0      36     6         0.03±     0.01          25.91± 2.45            3.7
           wav      4539      40        0      40     3        75.47±     9.38          24.69± 0.81            3.1
   Cont.




           pen      9892      16        0      16    10       149.70±    19.93          40.04± 2.94            3.7
           SS      75583     300        0     300     3    347979.80± 60982.74        5992.28±247.50          58.1
           CN     234638     180        0     180     2    821464.70±167542.04       18644.31±943.98          44.1

           adu     43960      14       8        6     2       5422.78± 1410.71         271.73± 26.03          20.0
           far     90868      29      24        5     8       2471.28±   701.83         94.99± 41.53          26.0
           kdd    444619      41      15       26    23      76442.32± 23533.21      2102.414±191.34          36.4
   Mixed




           SA     493788     270      26      244     2    1252976.80±203186.55      28759.71±552.00          38.3
           Par    235929      18      18        0     2     524706.70± 98949.46      19559.79±671.70          26.8
           c-4     60803      42      42        0     3      52917.95± 8059.55        2417.83±170.19          21.9




  The experiments that took 2 weeks to finish now run in 8 hours!




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham     Speeding up Evolutionary Learning using GPGPUs     22 / 27
BioHEL GBML System
                                  BioHEL using CUDA        Conclusions
                              Experiments and results      Further Work
                         Conclusions and Further Work

Conclusions




          CUDA allows us to exploit the intrinsic parallelism within
          the populations by checking a group of individuals at the
          same time.
          Now we can handle much larger problems, which is the
          case of most of the real life problems.
          This fusion between CUDA and genetic algorithms helps
          pushing forward the boundaries of evolutionary learning by
          overcoming technical boundaries




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   23 / 27
BioHEL GBML System
                                  BioHEL using CUDA        Conclusions
                              Experiments and results      Further Work
                         Conclusions and Further Work

Further work




          Extend our methodology to use more than one GPGPU at
          the time.
          Develop models to determine the limits of the usage of
          CUDA. Disable the CUDA evaluation when the training set
          is small.
          Study the impact of the ILAS in the accuracy.
          Adapt the CUDA methodology to other evolutionary
          learning systems.




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   24 / 27
BioHEL GBML System
                                BioHEL using CUDA            Conclusions
                            Experiments and results          Further Work
                       Conclusions and Further Work

      Bacardit, J. (2004).
      Pittsburgh Genetics-Based Machine Learning in the Data Mining era: Representations, generalization, and
      run-time.
      PhD thesis, Ramon Llull University, Barcelona, Spain.

      Bacardit, J., Burke, E., and Krasnogor, N. (2009).
      Improving the scalability of rule-based evolutionary learning.
      Memetic Computing, 1(1):55–67.

      Bacardit, J. and Llorà, X. (2009).
      Large scale data mining using genetics-based machine learning.
      In GECCO ’09: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary
      Computation Conference, pages 3381–3412, New York, NY, USA. ACM.

      Langdon, W. B. and Harrison, A. P. (2008).
      GP on SPMD parallel graphics hardware for mega bioinformatics data mining.
      Soft Comput., 12(12):1169–1183.

      Loiacono, D. and Lanzi, P. L. (2009).
      Speeding up matching in XCS.
      In 12th International Workshop on Learning Classifier Systems.

      Maitre, O., Baumes, L. A., Lachiche, N., Corma, A., and Collet, P. (2009).
      Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA.
      In Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pages 1403–1410,
      Montreal, Québec, Canada. ACM.

      Rissanen, J. (1978).
      Modeling by shortest data description.
      Automatica, vol. 14:465–471.

M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham        Speeding up Evolutionary Learning using GPGPUs     24 / 27
BioHEL GBML System
                                BioHEL using CUDA           Conclusions
                            Experiments and results         Further Work
                       Conclusions and Further Work

      Sastry, K. (2005).
      Principled efficiency enhancement techniques.
      Genetic and Evolutionary Computation Conference - GECCO 2005- Tutorial.

      Stout, M., Bacardit, J., Hirst, J. D., and Krasnogor, N. (2008).
      Prediction of recursive convex hull class assignments for protein residues.
      Bioinformatics, 24(7):916–923.

      Venturini, G. (1993).
      SIA: a supervised inductive algorithm with genetic search for learning attributes based concepts.
      In Brazdil, P. B., editor, Machine Learning: ECML-93 - Proceedings of the European Conference on Machine
      Learning, pages 280–296. Springer-Verlag.




M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham       Speeding up Evolutionary Learning using GPGPUs       25 / 27
BioHEL GBML System
                               BioHEL using CUDA        Conclusions
                           Experiments and results      Further Work
                      Conclusions and Further Work




                    Questions or comments?




M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   25 / 27
BioHEL GBML System
                                  BioHEL using CUDA        Conclusions
                              Experiments and results      Further Work
                         Conclusions and Further Work

Iterative Rule Learning

          IRL has been used for many years in the ML community, with the
          name of separate-and-conquer

         Algorithm 4.1: I TERATIVE RULE L EARNING(Examples)

           Theory ← ∅
           whileExample = ∅
                Rule ← FindBestRule(Examples)
                
                Covered ← Cover (Rule, Examples)
                
                
                
                  if RuleStoppingCriterion(Rule, Theory , Examples)
                
             do
                 then exit
                
                Examples ← Examples − Covered
                
                
                
                  Theory ← Theory ∪ Rule
                
           return (Theory )


   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   26 / 27
BioHEL GBML System
                                  BioHEL using CUDA        Conclusions
                              Experiments and results      Further Work
                         Conclusions and Further Work

BioHEL fitness function


          Coverage term penalizes rules that do not cover a minimum
          percentage of examples system




   M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham   Speeding up Evolutionary Learning using GPGPUs   27 / 27

Weitere ähnliche Inhalte

Ähnlich wie Speeding Up the Evaluation of Evolutionary Learning Systems Using GPGPUs

Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...
Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...
Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...IJECEIAES
 
An interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsAn interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsRavi Kumar
 
Genetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code GenerationGenetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code GenerationDVClub
 
Gbml - Genetics Based Machine Learning
Gbml - Genetics Based Machine LearningGbml - Genetics Based Machine Learning
Gbml - Genetics Based Machine LearningMahalingam Ramaswamy
 
Quline manual
Quline manualQuline manual
Quline manualFOODCROPS
 
Knowledge extraction and visualisation using rule-based machine learning
Knowledge extraction and visualisation using rule-based machine learningKnowledge extraction and visualisation using rule-based machine learning
Knowledge extraction and visualisation using rule-based machine learningjaumebp
 
JBEI Highlights September 2015
JBEI Highlights September 2015JBEI Highlights September 2015
JBEI Highlights September 2015Irina Silva
 
An Hybrid Learning Approach using Particle Intelligence Dynamics and Bacteri...
An Hybrid Learning Approach using Particle Intelligence  Dynamics and Bacteri...An Hybrid Learning Approach using Particle Intelligence  Dynamics and Bacteri...
An Hybrid Learning Approach using Particle Intelligence Dynamics and Bacteri...IJMER
 
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...Anjani Dhrangadhariya
 
JBEI Research Highlights September 2016
JBEI Research Highlights September 2016JBEI Research Highlights September 2016
JBEI Research Highlights September 2016Irina Silva
 
JBEI October 2020 Research Highlights
JBEI October 2020 Research HighlightsJBEI October 2020 Research Highlights
JBEI October 2020 Research HighlightsSaraHarmon4
 
iGEM 2014: UC Santa Cruz BioE Project
iGEM 2014: UC Santa Cruz BioE Project iGEM 2014: UC Santa Cruz BioE Project
iGEM 2014: UC Santa Cruz BioE Project Aaron Maloney
 
Opening Remarks
Opening RemarksOpening Remarks
Opening RemarksIEA-ETSAP
 
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...Ken Rogan
 
JBEI Research Highlights - February 2022
JBEI Research Highlights - February  2022JBEI Research Highlights - February  2022
JBEI Research Highlights - February 2022SaraHarmon4
 
May 2015 c. vulgaris to biofuel presentation
May 2015 c. vulgaris to biofuel presentationMay 2015 c. vulgaris to biofuel presentation
May 2015 c. vulgaris to biofuel presentationJoseph Barnes
 
Employing ForteBio Octet platform for the development of a dual-binding poten...
Employing ForteBio Octet platform for the development of a dual-binding poten...Employing ForteBio Octet platform for the development of a dual-binding poten...
Employing ForteBio Octet platform for the development of a dual-binding poten...KBI Biopharma
 
Deep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp SegmentationDeep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp Segmentationmultimediaeval
 

Ähnlich wie Speeding Up the Evaluation of Evolutionary Learning Systems Using GPGPUs (20)

Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...
Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...
Novel Bacteria Foraging Optimization for Energy-efficient Communication in Wi...
 
An interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsAn interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patterns
 
Genetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code GenerationGenetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code Generation
 
Gbml - Genetics Based Machine Learning
Gbml - Genetics Based Machine LearningGbml - Genetics Based Machine Learning
Gbml - Genetics Based Machine Learning
 
Kk341721880
Kk341721880Kk341721880
Kk341721880
 
Quline manual
Quline manualQuline manual
Quline manual
 
Knowledge extraction and visualisation using rule-based machine learning
Knowledge extraction and visualisation using rule-based machine learningKnowledge extraction and visualisation using rule-based machine learning
Knowledge extraction and visualisation using rule-based machine learning
 
JBEI Highlights September 2015
JBEI Highlights September 2015JBEI Highlights September 2015
JBEI Highlights September 2015
 
An Hybrid Learning Approach using Particle Intelligence Dynamics and Bacteri...
An Hybrid Learning Approach using Particle Intelligence  Dynamics and Bacteri...An Hybrid Learning Approach using Particle Intelligence  Dynamics and Bacteri...
An Hybrid Learning Approach using Particle Intelligence Dynamics and Bacteri...
 
In silico methods in drug discovery and development
In silico methods in drug discovery and developmentIn silico methods in drug discovery and development
In silico methods in drug discovery and development
 
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...
End-to-end Fine-grained Neural Entity Recognition of Patients, Interventions,...
 
JBEI Research Highlights September 2016
JBEI Research Highlights September 2016JBEI Research Highlights September 2016
JBEI Research Highlights September 2016
 
JBEI October 2020 Research Highlights
JBEI October 2020 Research HighlightsJBEI October 2020 Research Highlights
JBEI October 2020 Research Highlights
 
iGEM 2014: UC Santa Cruz BioE Project
iGEM 2014: UC Santa Cruz BioE Project iGEM 2014: UC Santa Cruz BioE Project
iGEM 2014: UC Santa Cruz BioE Project
 
Opening Remarks
Opening RemarksOpening Remarks
Opening Remarks
 
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...
Bioengineered 3D Co culture Lung In Vitro Models: Platforms to Integrate Cell...
 
JBEI Research Highlights - February 2022
JBEI Research Highlights - February  2022JBEI Research Highlights - February  2022
JBEI Research Highlights - February 2022
 
May 2015 c. vulgaris to biofuel presentation
May 2015 c. vulgaris to biofuel presentationMay 2015 c. vulgaris to biofuel presentation
May 2015 c. vulgaris to biofuel presentation
 
Employing ForteBio Octet platform for the development of a dual-binding poten...
Employing ForteBio Octet platform for the development of a dual-binding poten...Employing ForteBio Octet platform for the development of a dual-binding poten...
Employing ForteBio Octet platform for the development of a dual-binding poten...
 
Deep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp SegmentationDeep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp Segmentation
 

Kürzlich hochgeladen

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Speeding Up the Evaluation of Evolutionary Learning Systems Using GPGPUs

  • 1. BioHEL GBML System BioHEL using CUDA Experiments and results Conclusions and Further Work Speeding up the Evaluation of Evolutionary Learning Systems using GPGPUs María A. Franco, Natalio Krasnogor and Jaume Bacardit University of Nottingham, UK, ASAP Research Group, School of Computer Science {mxf,nxk,jqb}@cs.nott.ac.uk July 10, 2010 M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 1 / 27
  • 2. BioHEL GBML System BioHEL using CUDA Experiments and results Conclusions and Further Work Motivation Nowadays the data collection rate easily exceeds the processing/data-mining rate. Real-life problems = big + complex. There is a need to improve the efficiency of evolutionary learning systems to cope with large scale domains[Sastry, 2005][Bacardit and Llorà, 2009]. This work is focused on boosting the performance of the BioHEL system by using the processing capacity inside GPGPUs. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 2 / 27
  • 3. BioHEL GBML System BioHEL using CUDA Experiments and results Conclusions and Further Work Outline 1 BioHEL BioHEL GBML System Characteristics of BioHEL 2 BioHEL using CUDA How does CUDA works? Challenges of using CUDA Implementation details 3 Experiments and results Stage 1: Raw evaluation Stage 2: Integration with BioHEL 4 Conclusions and Further Work M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 3 / 27
  • 4. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work The BioHEL GBML System BIOinformatics-oriented Hierarchical Evolutionary Learning - BioHEL[Bacardit et al., 2009] BioHEL was designed to handle large scale bioinformatics datasets[Stout et al., 2008] BioHEL is a GBML system that employs the Iterative Rule Learning (IRL) paradigm First used in EC in Venturini’s SIA system[Venturini, 1993] Widely used for both Fuzzy and non-fuzzy evolutionary learning M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 4 / 27
  • 5. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work The BioHEL GBML System BIOinformatics-oriented Hierarchical Evolutionary Learning - BioHEL[Bacardit et al., 2009] BioHEL was designed to handle large scale bioinformatics datasets[Stout et al., 2008] BioHEL is a GBML system that employs the Iterative Rule Learning (IRL) paradigm First used in EC in Venturini’s SIA system[Venturini, 1993] Widely used for both Fuzzy and non-fuzzy evolutionary learning M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 4 / 27
  • 6. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work The BioHEL GBML System BIOinformatics-oriented Hierarchical Evolutionary Learning - BioHEL[Bacardit et al., 2009] BioHEL was designed to handle large scale bioinformatics datasets[Stout et al., 2008] BioHEL is a GBML system that employs the Iterative Rule Learning (IRL) paradigm First used in EC in Venturini’s SIA system[Venturini, 1993] Widely used for both Fuzzy and non-fuzzy evolutionary learning M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 4 / 27
  • 7. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work Characteristics of BioHEL The fitness function based on the Minimum-Description-Length (MDL)[Rissanen, 1978] principle that tries to Evolve accurate rules Evolve high coverage rules Evolve rules with low complexity, as general as possible BioHEL applies a supervised learning paradigm. To compute the fitness we need three metrics per classifier computed from the training set: 1 # of instances that match the condition of the rule 2 # of instances that match the action of the rule 3 # of instances that match the condition and the action M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 5 / 27
  • 8. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work Characteristics of BioHEL The fitness function based on the Minimum-Description-Length (MDL)[Rissanen, 1978] principle that tries to Evolve accurate rules Evolve high coverage rules Evolve rules with low complexity, as general as possible BioHEL applies a supervised learning paradigm. To compute the fitness we need three metrics per classifier computed from the training set: 1 # of instances that match the condition of the rule 2 # of instances that match the action of the rule 3 # of instances that match the condition and the action M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 5 / 27
  • 9. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work Characteristics of BioHEL The ILAS windowing scheme[Bacardit, 2004] Efficiency enhancement method, the training set is divided in non-overlapping strata and each iteration uses a different strata for its fitness calculations. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 6 / 27
  • 10. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work Evaluation process in BioHEL The computationally heavy stage of the evaluation process is the match process. We perform stages 1 and 2 inside the GPGPU. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 7 / 27
  • 11. BioHEL GBML System BioHEL using CUDA BioHEL GBML System Experiments and results Characteristics of BioHEL Conclusions and Further Work Evaluation process in BioHEL The computationally heavy stage of the evaluation process is the match process. We perform stages 1 and 2 inside the GPGPU. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 7 / 27
  • 12. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Why using GPGPUs? This GPGPUs acceleration have been used already in GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009] and LCS[Loiacono and Lanzi, 2009] The use of GPGPUs in Machine Learning involves a greater challenge because it deals with very large volumes of data However, this also means that it is potentially more parallelizable. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 8 / 27
  • 13. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Why using GPGPUs? This GPGPUs acceleration have been used already in GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009] and LCS[Loiacono and Lanzi, 2009] The use of GPGPUs in Machine Learning involves a greater challenge because it deals with very large volumes of data However, this also means that it is potentially more parallelizable. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 8 / 27
  • 14. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Why using GPGPUs? This GPGPUs acceleration have been used already in GP[Langdon and Harrison, 2008], GAs[Maitre et al., 2009] and LCS[Loiacono and Lanzi, 2009] The use of GPGPUs in Machine Learning involves a greater challenge because it deals with very large volumes of data However, this also means that it is potentially more parallelizable. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 8 / 27
  • 15. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Architecture NVIDIA Computed Unified Device Architecture (CUDA) is a parallel computing architecture that exploits the capacity within NVIDIA’s Graphic Processor Units. CUDA runs thousands of threads at the same time ⇒ SPMD (Same Program Multiple Data) paradigm M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 9 / 27
  • 16. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Architecture NVIDIA Computed Unified Device Architecture (CUDA) is a parallel computing architecture that exploits the capacity within NVIDIA’s Graphic Processor Units. CUDA runs thousands of threads at the same time ⇒ SPMD (Same Program Multiple Data) paradigm M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 9 / 27
  • 17. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Architecture M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 10 / 27
  • 18. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Memories Different types of memory with different access speed. The memory is limited The memory copy operations involve a considerable amount of execution time Since we are aiming to work with large scale datasets a good strategy to minimize the execution time is based on the memory usage M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 11 / 27
  • 19. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Memories Different types of memory with different access speed. The memory is limited The memory copy operations involve a considerable amount of execution time Since we are aiming to work with large scale datasets a good strategy to minimize the execution time is based on the memory usage M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 11 / 27
  • 20. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work CUDA Memories Different types of memory with different access speed. The memory is limited The memory copy operations involve a considerable amount of execution time Since we are aiming to work with large scale datasets a good strategy to minimize the execution time is based on the memory usage M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 11 / 27
  • 21. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work The ideal way would be... Copy all the classifiers and instances and launch one thread for each classifier-instance comparison M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 12 / 27
  • 22. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Challenges of using CUDA Problem 1: Memory copy operations In each iteration the classifiers and the instances to compare are different. They need to be copied again into global memory in each iteration. Problem 2: Memory bounds It might be not possible to store all the classifiers and the example instances to make all the comparisons at the same time. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 13 / 27
  • 23. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Challenges of using CUDA Problem 1: Memory copy operations In each iteration the classifiers and the instances to compare are different. They need to be copied again into global memory in each iteration. Problem 2: Memory bounds It might be not possible to store all the classifiers and the example instances to make all the comparisons at the same time. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 13 / 27
  • 24. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Solution: Memory calculations If all the instances fit in memory... We copy the instances only one time at the beginning of each GA run and access different windows by using a memory offset. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 14 / 27
  • 25. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Solution: Memory calculations If all the instances fit in memory... We copy the instances only one time at the beginning of each GA run and access different windows by using a memory offset. If all the instances do not fit in memory... We calculate the number of classifiers and instances that fit in memory in order to minimise the memory copy operations. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 14 / 27
  • 26. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Challenges of using CUDA Problem 3: Output structure size If we make N × M comparisons we will have to copy back to host a structure of size O(N × M) which is very slow Solution: Compute the total in device memory M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 15 / 27
  • 27. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Challenges of using CUDA Problem 3: Output structure size If we make N × M comparisons we will have to copy back to host a structure of size O(N × M) which is very slow Solution: Compute the total in device memory Reduce the three values in device memory in other to minimize the time spend in memory copy operations. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 15 / 27
  • 28. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Kernel functions M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 16 / 27
  • 29. BioHEL GBML System How does CUDA works? BioHEL using CUDA Challenges of using CUDA Experiments and results Implementation details Conclusions and Further Work Kernel functions M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 16 / 27
  • 30. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Experiments Set up Two stages of experiments Evaluation process independently Integration with the learning process Different functions to manage discrete, continuous and mixed problems We check the integration with the ILAS windowing system Cuda Experiments Serial Experiments Pentium 4 of 3.6GHz, 2GB HPC facility and the UoN RAM and a Tesla C1060 with each node with 2 quad-core 4GB of global memory and processors (Intel Xeon 30 multiprocessors E5472 3.0GHz) M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 17 / 27
  • 31. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Experiments Set up Two stages of experiments Evaluation process independently Integration with the learning process Different functions to manage discrete, continuous and mixed problems We check the integration with the ILAS windowing system Cuda Experiments Serial Experiments Pentium 4 of 3.6GHz, 2GB HPC facility and the UoN RAM and a Tesla C1060 with each node with 2 quad-core 4GB of global memory and processors (Intel Xeon 30 multiprocessors E5472 3.0GHz) M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 17 / 27
  • 32. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Speed in the evaluation process Name |T| #Att #Disc #Cont #Cl T. Serial (s) T.CUDA (s) Speed Up sat 5790 36 0 36 6 3.60± 0.21 1.92±0.01 1.9 wav 4539 40 0 40 3 2.57± 0.08 1.59±0.01 1.6 Cont. pen 9892 16 0 16 10 4.94± 0.24 2.25±0.02 2.2 SS 75583 300 0 300 3 770.61± 119.49 14.69±0.23 52.4 CN 234638 180 0 180 2 1555.90± 452.79 42.35±0.55 36.7 adu 43960 14 8 6 2 147.86± 30.93 10.38±0.09 14.2 far 90868 29 24 5 8 420.78± 90.58 23.13±1.04 18.2 kdd 444619 41 15 26 23 1715.66± 632.40 95.89±1.42 17.9 Mixed SA 493788 270 26 244 2 3776.36±1212.84 90.45±1.17 41.8 Par 235929 18 18 0 2 863.72± 163.13 60.04±0.58 14.4 c-4 60803 42 42 0 3 343.75± 71.93 17.86±0.18 19.2 M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 18 / 27
  • 33. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Speed Up vs. Training set size Speed Up according to the training set size 60 adu - 14atts pen - 16atts Par - 18atts far - 29atts 50 sat - 36atts wav - 40atts kdd - 41atts c-4 - 42atts CN - 180atts 40 SA - 270atts SS - 300atts Speed Up 30 20 10 0 100 1000 10000 100000 1e+06 Training set size M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 19 / 27
  • 34. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Integration with the ILAS Windowing scheme Total Speedup According to the Number of Windows 700 adu - 14atts pen - 16atts Par - 18atts 600 far - 29atts sat - 36atts wav - 40atts kdd - 41atts c-4 - 42atts 500 CN - 180atts SA - 270atts SS - 300atts 400 Speed Up 300 200 100 0 5 10 15 20 25 30 35 40 45 50 Number of Windows M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 20 / 27
  • 35. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work How do we get speed up? The continuous problems get more speed up than the mixed problems. The problems with large number of attributes or large training sets get more speed up. There is a sweet-spot were the combination between the CUDA fitness function and the ILAS Windowing scheme produces more speedup. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 21 / 27
  • 36. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Speed up of BioHEL using CUDA Name |T| #Att #Disc #Cont #Cl T. Serial (s) T.CUDA (s) Speed Up sat 5790 36 0 36 6 0.03± 0.01 25.91± 2.45 3.7 wav 4539 40 0 40 3 75.47± 9.38 24.69± 0.81 3.1 Cont. pen 9892 16 0 16 10 149.70± 19.93 40.04± 2.94 3.7 SS 75583 300 0 300 3 347979.80± 60982.74 5992.28±247.50 58.1 CN 234638 180 0 180 2 821464.70±167542.04 18644.31±943.98 44.1 adu 43960 14 8 6 2 5422.78± 1410.71 271.73± 26.03 20.0 far 90868 29 24 5 8 2471.28± 701.83 94.99± 41.53 26.0 kdd 444619 41 15 26 23 76442.32± 23533.21 2102.414±191.34 36.4 Mixed SA 493788 270 26 244 2 1252976.80±203186.55 28759.71±552.00 38.3 Par 235929 18 18 0 2 524706.70± 98949.46 19559.79±671.70 26.8 c-4 60803 42 42 0 3 52917.95± 8059.55 2417.83±170.19 21.9 M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 22 / 27
  • 37. BioHEL GBML System Set up BioHEL using CUDA Stage 1: Raw evaluation Experiments and results Stage 2: Integration with BioHEL Conclusions and Further Work Speed up of BioHEL using CUDA Name |T| #Att #Disc #Cont #Cl T. Serial (s) T.CUDA (s) Speed Up sat 5790 36 0 36 6 0.03± 0.01 25.91± 2.45 3.7 wav 4539 40 0 40 3 75.47± 9.38 24.69± 0.81 3.1 Cont. pen 9892 16 0 16 10 149.70± 19.93 40.04± 2.94 3.7 SS 75583 300 0 300 3 347979.80± 60982.74 5992.28±247.50 58.1 CN 234638 180 0 180 2 821464.70±167542.04 18644.31±943.98 44.1 adu 43960 14 8 6 2 5422.78± 1410.71 271.73± 26.03 20.0 far 90868 29 24 5 8 2471.28± 701.83 94.99± 41.53 26.0 kdd 444619 41 15 26 23 76442.32± 23533.21 2102.414±191.34 36.4 Mixed SA 493788 270 26 244 2 1252976.80±203186.55 28759.71±552.00 38.3 Par 235929 18 18 0 2 524706.70± 98949.46 19559.79±671.70 26.8 c-4 60803 42 42 0 3 52917.95± 8059.55 2417.83±170.19 21.9 The experiments that took 2 weeks to finish now run in 8 hours! M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 22 / 27
  • 38. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Conclusions CUDA allows us to exploit the intrinsic parallelism within the populations by checking a group of individuals at the same time. Now we can handle much larger problems, which is the case of most of the real life problems. This fusion between CUDA and genetic algorithms helps pushing forward the boundaries of evolutionary learning by overcoming technical boundaries M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 23 / 27
  • 39. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Further work Extend our methodology to use more than one GPGPU at the time. Develop models to determine the limits of the usage of CUDA. Disable the CUDA evaluation when the training set is small. Study the impact of the ILAS in the accuracy. Adapt the CUDA methodology to other evolutionary learning systems. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 24 / 27
  • 40. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Bacardit, J. (2004). Pittsburgh Genetics-Based Machine Learning in the Data Mining era: Representations, generalization, and run-time. PhD thesis, Ramon Llull University, Barcelona, Spain. Bacardit, J., Burke, E., and Krasnogor, N. (2009). Improving the scalability of rule-based evolutionary learning. Memetic Computing, 1(1):55–67. Bacardit, J. and Llorà, X. (2009). Large scale data mining using genetics-based machine learning. In GECCO ’09: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference, pages 3381–3412, New York, NY, USA. ACM. Langdon, W. B. and Harrison, A. P. (2008). GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Comput., 12(12):1169–1183. Loiacono, D. and Lanzi, P. L. (2009). Speeding up matching in XCS. In 12th International Workshop on Learning Classifier Systems. Maitre, O., Baumes, L. A., Lachiche, N., Corma, A., and Collet, P. (2009). Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA. In Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pages 1403–1410, Montreal, Québec, Canada. ACM. Rissanen, J. (1978). Modeling by shortest data description. Automatica, vol. 14:465–471. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 24 / 27
  • 41. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Sastry, K. (2005). Principled efficiency enhancement techniques. Genetic and Evolutionary Computation Conference - GECCO 2005- Tutorial. Stout, M., Bacardit, J., Hirst, J. D., and Krasnogor, N. (2008). Prediction of recursive convex hull class assignments for protein residues. Bioinformatics, 24(7):916–923. Venturini, G. (1993). SIA: a supervised inductive algorithm with genetic search for learning attributes based concepts. In Brazdil, P. B., editor, Machine Learning: ECML-93 - Proceedings of the European Conference on Machine Learning, pages 280–296. Springer-Verlag. M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 25 / 27
  • 42. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Questions or comments? M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 25 / 27
  • 43. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work Iterative Rule Learning IRL has been used for many years in the ML community, with the name of separate-and-conquer Algorithm 4.1: I TERATIVE RULE L EARNING(Examples) Theory ← ∅ whileExample = ∅ Rule ← FindBestRule(Examples)  Covered ← Cover (Rule, Examples)    if RuleStoppingCriterion(Rule, Theory , Examples)  do  then exit  Examples ← Examples − Covered    Theory ← Theory ∪ Rule  return (Theory ) M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 26 / 27
  • 44. BioHEL GBML System BioHEL using CUDA Conclusions Experiments and results Further Work Conclusions and Further Work BioHEL fitness function Coverage term penalizes rules that do not cover a minimum percentage of examples system M. Franco, N. Krasnogor, J. Bacardit. Uni. Nottingham Speeding up Evolutionary Learning using GPGPUs 27 / 27