seminar-parallel processing

40
GPU strategies for evolutionary machine learning Master : Dr. Ghaderi Mohammad Amin Amjadi Spring 2016

Upload: mohammad-amin-amjadi

Post on 25-Jan-2017

49 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Seminar-Parallel Processing

GPU strategiesfor evolutionary machine

learning

Master :Dr. Ghaderi

Mohammad Amin Amjadi

Spring 2016

Page 2: Seminar-Parallel Processing

2

مقاالت

1. Large-scale experimental evaluation of GPU strategies for evolutionary machine learning

María A. Franco, Jaume Bacardit2016 Elsevier B.V. All rights reserved

2. Improving the scalability of rule-basedevolutionary learning

Jaume Bacardit, Edmund K. Burke, Natalio Krasnogor

2009

Page 3: Seminar-Parallel Processing

3

مطالب

1.Evolutionary Algorithm2.Machine Learning3.Problem4.Goal5.BioHEL Algorithm6.GPUs and CUDA7. CUDA-based fitness computation for

BioHEL8. Coarse-grained parallel approach9. fine-grained parallelization10. Experimental design11.Conclusions12.Recommendation

Page 4: Seminar-Parallel Processing

4

Evolutionary Algorithm

بصورت تصادفی یکسری از حاالت را بررسی می نمائیم•فرآیند انتخاب تصادفی و بررسی نتیجه را چندین بار تکرار می نمائیم•از عملگرهای همبری، جهش، انتخاب و ... در هر مرحله استفاده •

می نمائیم

برخی از الگوریتم ها، پیچیده و زمان بر •هستند

نمی خواهیم تمام حاالت را بررسی نمائیم•فقط می خواهیم یک تقریب بزنیم•

= reward = fitnessreward cost

Page 5: Seminar-Parallel Processing

5

Machine Learning

Page 6: Seminar-Parallel Processing

6

Problem

: زمان یادگیری زیاد می شود اگر بزرگ باشدdatasetالف(مدل یادگیری پیچیده باشد )همانند یادگیری با نظارت و ...(ب(

امروزه یکی از شایع ترین روش ها استفاده ازgpu است، خصوصا برای بهبود مقیاس پذیری الگوریتم های داده-کاوی

بدلیل طبیعت موازی الگوریتم های تکاملی، ازgpuبرای بهبود بهره وری استفاده شده است

Page 7: Seminar-Parallel Processing

7

Goal

استفاده از سیستم یادگیری تکاملیBioHEL که بطور خاص برای داده-کاوی dataset های بزرگ طراحیشده است

سیستمBioHELبا سایر الگوریتم های یادگیری ماشین، رقابت می کند پیشنهاد می شود از یکgpu مناسب BioHEL( nvidia که از cudaاستفاده شود ،)پشتیبانی می نماید برابر داشته است60در آزمایشات و مسائل بزرگ، تسریع بیش از با ترکیب مکانیزهای افزایش بهره وری، در حال حاضرBioHEL برابر تسریع داشته است750 بیش از

Page 8: Seminar-Parallel Processing

8

BioHEL

BioHELیک سیستم یادگیری تکاملی، با هدف مدیریت مجموعه داده های مقیاس بزرگ، می باشد ( این سیستم، پس از روش یادگیری قانونrule تکرارشونده، مجموعه قانون های سلسله مراتبی را تولید )

می کند در این روش برای یادگیری هر قانون، قانون هایی که پی در پی به دست آوردیم، از یک الگوریتم ژنتیکی

استاندارد استفاده می کند

Page 9: Seminar-Parallel Processing

9

BioHEL

Procedure BioHEL general workflowInput : TrainingSetRuleSet = ∅stop = falseDo

BestRule = nullFor repetition=1 to NumRepetitionsRuleLearningCandidateRule = RunGA)TrainingSet(If CandidateRule is better than BestRuleBestRule = CandidateRuleEndIfEndForMatched = Examples from TrainingSet matched by BestRuleIf class of BestRule is the majority class in MatchedRemove Matched from TrainingSetAdd BestRule to RuleSetElsestop = trueEndIf

While stop is falseOutput : RuleSet

Page 10: Seminar-Parallel Processing

10

BioHEL

Fitness = TL · W + ELTL = 0.25 : theory length : پیچیدگی راه حلEL : exceptions length : دقت راه حلW = 0.9 : weight : TL وEL تنظیم رابطه بین

Rیک قانون : NAتعداد ویژگی های دامنه :

Size)Ri( طول فاصله مرتبط با ویژگی : i ،ام RSize)Di( طول ویژگی : iام، دامنه

Page 11: Seminar-Parallel Processing

11

BioHEL

EL)R( = 2 − ACC)R( − COV)R(

Page 12: Seminar-Parallel Processing

12

BioHEL

BioHEL از ALKR)برای رمزکردن قانون در الگوریتم ژنتیکی استفاده می کند )جمعیت در الگوریتم ژنتیکی

numAtt : تعداد ویژگیwhichAtt : ویژگی هاpredicates : مقادیر ویژگی هاoffsetPred : مکان حافظه هر ویژگیclass : کالس قانون

Page 13: Seminar-Parallel Processing

13

BioHEL

BioHEL برای کاهش زمان اجرا و افزایش بهره وری، از مکانیزم پنجره ای که ILAS نامیده می شود، استفاده می کند

Training setبه چندین قسمت تقسیم می شود، و در هرمرحله الگوریتم ژنتیکی قسمتی از آن لحاظ می شود یک قانون بدین صورت نمایش داده می شود :

Page 14: Seminar-Parallel Processing

14

GPUs and CUDA

Page 15: Seminar-Parallel Processing

15

GPUs and CUDA

در زیاد حافظ�ه هزینه CUDAتخص�یص آ�ن، انتقال و زیادی دارد

برای حافظ�ه از که CUDAاس�تفاده اس�ت بحران�ی می تواند باعث افت کارایی شود

Coalescenceبسیار مهم است ، block های پشت سرهم در یک Threadبه زمانی برسیم که

به مکان های پشت سرهم حافظه دسترسی داشته باشند عدمCoalescence اجرای زمان افزایش باع��ث

Kernelمی شود افزایش باع�ث می توان�د حافظ�ه از مناس�ب اس�تفاده

کارایی شود

Host Device

1. Host to Device

2. Launch Kernel

3. Device to Host

Page 16: Seminar-Parallel Processing

16

types of memory in CUDA

Device mem

Texture mem

Shared mem مشترک استBlockهای یک Threadبین

Constant mem قابل نوشتن استHostفقط توسط Local

thread mem Threadمخصوص هر

Page 17: Seminar-Parallel Processing

17

CUDA-based fitness computation for BioHEL

( برای محاسبه شایستگیFitnessهر قانون، سه معیار شمارش می شود: تعداد نمونه هایی که ) می شوندmatch قانون conditionبا 1. می شوندmatch قانون classبا 2. می شوندmatch قانون condition و classهمزمان با 3.

هدف از تابعCUDA fitness:انجام موازی فرآیند تطبیق و محاسبه سه معیار است، که در دو گام انجام می شود ،ها و همه ی نمونه ها classifierمحاسبه تطبیق بین همه ی 1.محاسبه سه معیار برای هر قانون، بصورت موازی2.

محاسبهfitness:به دو روش در این مقاله عنوان می شود : روش اصلی مقالهcoarse-grained parallelisationروش موازی درشت-دانه : 1. : روش پیشنهادیfine-grained parallelisationروش موازی ریز-دانه : 2.

Page 18: Seminar-Parallel Processing

18

CUDA-based fitness computation for BioHEL

coarse-grained parallelisation

دوبعدی است

امj ام و قانون iتطبیق نمونه

fine-grained parallelisation

سه بع�دی است : به تع�داد ویژگی های مسئله

امj ام و قانون i ام از نمونه kتطبیق ویژگی

Page 19: Seminar-Parallel Processing

19

Coarse-grained parallel approach

Kernel 1تطبیق همه قانون ها وهمه نمونه ها

:Threadهر . تطبیق یک قانون و یک نمونه1 ،condition. محاسبه سه معیار)تطبیق 2

class)و هردو shareMem. ذخیره نتایج در 3

Kernel 2شمارش تع�داد تطبیق و عدم تطبیق یک

قانون

Page 20: Seminar-Parallel Processing

20

Kernel 1

Page 21: Seminar-Parallel Processing

21

Kernel 2

Page 22: Seminar-Parallel Processing

22

fine-grained parallelisation

Kernel 1 محاسبه تطبیق :Conditionبرای ویژگی های گسسته Kernel 2 محاسبه تطبیق :Conditionبرای ویژگی های پیوسته Kernel 3محاسبه تطبیق :classKernel 4 محاسبه :AND تطبیق Condition و تطبیق Class

کاهش تعداد نتایج در هر تکرار

Page 23: Seminar-Parallel Processing

23

Kernel 1,2

Page 24: Seminar-Parallel Processing

24

Experimental design

Name نام :DatasetT سایز مجموعه :Training#Attتعداد ویژگی ها :#Dis تعداد ویژگی های :

گسسته#Con تعداد ویژگی های :

پیوسته#Cl تعداد :Classها

Page 25: Seminar-Parallel Processing

25

Experimental design

Intel)R( Core)TM( i7 CPU8 cores

3.07 GHz12 GB of RAM

Tesla C2070 6 GB of internal memory448 CUDA cores

14 multiprocessors x 32 CUDA Cores/MP

Page 26: Seminar-Parallel Processing

26

Experimental design

the serial experiments are run in Intel Xeon E5472 processors at 3.0 GHz

Page 27: Seminar-Parallel Processing

27

Experimental design

Pentium 43.6 GHz

hyper-threading2 GB of RAM

Tesla C1060 4 GB of global memory

30 multiprocessors

Page 28: Seminar-Parallel Processing

28

Synthetic datasets Result

Run-time of the two GPU strategies on synthetic problems

#Windows=1 and population size=500

Log scale is used for both axis

disc = discrete attributesreal = continuous attributes

Page 29: Seminar-Parallel Processing

29

Synthetic datasets Result

Run-time per instance of the two GPU strategies on synthetic problems

#Attributes=300, #Windows=1 and population size=500

Log scale in x axis

disc = discrete attributesreal = continuous attributes

Page 30: Seminar-Parallel Processing

30

Synthetic datasets Result

Run-time per attribute of the two GPU strategies on synthetic problems

#Instances=1 M, #Windows=1 and population size=500

Log scale in x axis

disc = discrete attributesreal = continuous attributes

Page 31: Seminar-Parallel Processing

31

Synthetic datasets Result

Run-time per individual of the two GPU strategies on synthetic problems

#Instances=1 M, #Attributes = 300 and #Windows=1

disc = discrete attributesreal = continuous attributes

Page 32: Seminar-Parallel Processing

32

Synthetic datasets Result

Run-time per individual of the two GPU strategies on synthetic problems

#Instances=1 M, #Attributes = 300 and #Windows=1

disc = discrete attributesreal = continuous attributes

Page 33: Seminar-Parallel Processing

33

Synthetic datasets Result

Execution time in seconds of the evaluation process of the serial version and both CUDA fitness functions with windowing disabled

Page 34: Seminar-Parallel Processing

34

Experiments on real-world datasets

Speedup against the serial algorithm without using windowing of the different parallelisation approaches ran on different architectures

Page 35: Seminar-Parallel Processing

35

Experiments on real-world datasets

Independent evaluation process, coarse-grained strategy on the C1060 GPU Card

Problems:black = continuousred = mixedblue = discrete

)For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article(

Page 36: Seminar-Parallel Processing

36

Experiments on real-world datasets

Independent evaluation process, coarse-grained strategy on the C2070 GPU Card

Problems:black = continuousred = mixedblue = discrete

)For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article(

Page 37: Seminar-Parallel Processing

37

Experiments on real-world datasets

Independent evaluation process, fine-grained strategy on the C2070 GPU Card

Problems:black = continuousred = mixedblue = discrete

)For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article(

Page 38: Seminar-Parallel Processing

38

Conclusions

پیاده سازی شدgpuدو استراتژی یادگیری ماشین تکاملی برای 1.

روش درشت-دانه، محافظه کارانه تر بوده، و روش ریز-دانه موازی سازی بیشتری داشته2.

.3Kernel ریز-دانه سریع تر بوده، در ،Dataset ویژگی و در سایر موارد، درشت- دانه سریع تر بوده15 الی 10 با

نتایج بدتری داشته استgpuدر مسائل کوچک، استفاده از 4.

ها نتایج مناسبی خواهد داشتThreadتعادل بین موازی سازی و حجم کار 5.

اینکه درشت-دانه ها نتایج بهتری داشته اند، متضاد با درک عمومی موازی سازی بیشتر و تسریع است6.

نمودTuneبا دقت و بررسی می توان بدرستی پارامترها را 7.

.8Gpu های جدید امکانات پیشرفته سخت افزاری دارند، که امکان ارتباطات سریع بین Wrap ها را فراهم های ریز-دانه سریع تر شوندKernel( که می توانند باعث شوند shuffle و wrap،voteمی کنند)مثل

آنرا یکی نموده! )برای جلوگیری از مشکل Kernel 2 و Kernel 1راه ساده برای بهبود ریز-دانه این است که 9.(Kernelهماهنگی دو

Page 39: Seminar-Parallel Processing

39

Recommendation

انتخاب مناسب پارامترها1.

در مورد الگوریتم ژنتیکی هیچ بحثی نشده است، که می توان برای بهبود آن تالش نمود2.

توسعه یک تابع تصمیم گیرنده، که در صورت امکان بسته به شرایط مناسب ترین الگوریتم و پارامترها را 3.لحاظ نماید

برای یادگیری ماشین و الگوریتم های تکاملیgpu و بهینه سازی co-processorاستفاده از 4.

Page 40: Seminar-Parallel Processing

40

Question ?

☻Thanks☻