Valg af det bedste AutoML Framework

En sammenligning fra head to head af fire automatiske maskinlæringsrammer på 87 datasæt.

Adithya Balaji og Alexander Allen

Introduktion

Automatisk maskinlæring (AutoML) kunne bringe AI inden for rækkevidde for et langt større publikum. Det giver et sæt værktøjer, der hjælper datavidenskabsteam med forskellige erfaringer med at fremskynde datavidsprocessen. Det er grunden til, at AutoML indledes som løsningen til at demokratisere AI. Selv med et erfarent team kan du muligvis bruge AutoML til at få mest muligt ud af begrænsede ressourcer. Mens der er proprietære løsninger, der leverer maskinlæring som en service, er det værd at se på de nuværende open source-løsninger, der imødekommer dette behov.

I vores tidligere stykke udforskede vi AutoML-landskabet og fremhævede nogle pakker, der muligvis fungerer for data science-teams. I dette stykke skal vi udforske de fire nævnte “fulde pipeline” -løsninger: auto_ml, auto-sklearn, TPOT og H2Os AutoML-løsning.

Hver pakkes styrker og svagheder er detaljeret i vores fulde papir, "Benchmarking Automatic Machine Learning Frameworks". Papiret indeholder også yderligere oplysninger om metodikken og nogle yderligere resultater.

Metode

For at give en nøjagtig og retfærdig vurdering blev et udvalg af 87 åbne datasæt, 30 regression og 57 klassificering valgt fra OpenML, en online opbevaring af standard maskinlæringsdatasæt, der blev eksponeret gennem en REST API på en konsekvent måde. Opdelingen af ​​datasæt giver en bred prøve af tabelformede datasæt, der kan findes i et erhvervsmaskinelæringsproblem. Valget af datasæt blev overvejet meget for at forhindre kontaminering af valideringssættene. For eksempel bruger auto-sklearn en varm start, der allerede er trænet på et sæt OpenML-datasæt. Datasæt som disse blev undgået.

Hver af de fire rammer, auto_ml, auto-sklearn, TPOT og H2O blev testet med deres foreslåede parametre på tværs af 10 tilfældige frø pr. Datasæt. F1-score (vægtet) og den gennemsnitlige firkantede fejl blev valgt som evalueringskriterier for henholdsvis klassificerings- og regressionsproblemer.

En begrænsning på 3 timer blev brugt til at begrænse hver AutoML-metode til en tidsperiode, der afspejler en indledende efterforskende søgning udført af mange data science-teams. Dette resulterer i en estimeret beregningstid på 10.440 timer. Som et resultat besluttede vi at evaluere modellerne ved hjælp af AWS's batch-service til at håndtere paralleliseringen af ​​denne opgave ved hjælp af C4-beregningsoptimerede EC2-instanser, der tildeler 2 vCPU'er og 4 GB hukommelse pr. Kørsel.

Vi brugte en fremgangsmåde med bedste indsats for at sikre, at alle test blev gennemført, og at alle test havde mindst 3 chancer for at få succes inden for 3 timers grænse. I nogle tilfælde resulterede AWS Batchs computermiljøer og dockerbaseret ressourcestyring i uforudsigelig opførsel. For at overvinde dette udviklede vi en brugerdefineret “bare-metal” tilgang til at replikere AWS Batch på EC2-tilfælde med mere finkornet kontrol over styring af proceshukommelse. Specifikt sendte dockhukommelsesadministratoren et kill-signal til benchmarking-processen, hvis mængden af ​​hukommelse, der blev brugt af processen, overskred det beløb, der blev tildelt af Batch. Denne hårde grænse kan ikke ændres uden i høj grad at øge forekomststørrelsen pr. Kørsel. Ved hjælp af de samme beregningsmæssige begrænsninger testede vi de kørsler, der mislykkedes under disse meget specifikke betingelser på vores brugerdefinerede "bare-metal" -implementering.

Også under processen med at køre disse test fikserede vi et par fejl i open source-rammerne, som er beskrevet i vores fulde papir. Efter disse rettelser mislykkedes ingen af ​​datasættene direkte. Disse fejl blev normalt skjult for daglig brug, men dukkede op i testskalaen, der blev udført.

Resultater

Figur 1 beskriver mangfoldigheden af ​​vores valgte datasæt. Du kan se, at klassificering typisk er binær, og antallet af regressionsrækker er relativt ensartet, mens antallet af klassificeringsrader er skævt mod datasæt omkring 1000 rækker. Funktionstællingen for både regressions- og klassificeringscentre omkring 10 funktioner med klassificering skævt lidt mod 100. Vi mener, at denne datagruppe er en repræsentativ prøve af generelle datavidenskabelige problemer, som mange dataforskere vil støde på.

Figur 1: Raw datasætkarakteristika opdelt mellem klassificerings- og regressionsproblemer

Nogle rammer løb tør for tid på specifikke frø og rammer. I alt blev 29 kørselkombinationer (datasæt og frø) droppet. Disse løbskombinationer blev droppet på tværs af alle rammer for at opretholde sammenligneligheden af ​​individuelle rammer. Denne proces resulterede i i alt 132 datapunkter (29 * 4), der blev tabt, hvilket er ca. ~ 3% samlet (116/3480 kørsler).

Figur 2: Framework head to head betyder ydelse på tværs af klassificeringsdatasæt

Figur 3: Framework fra head to head betyder ydelse på tværs af regressionsdatasæt

Hver ramme blev evalueret på både regressions- og klassificeringsdatasæt, der er nævnt ovenfor. Deres ydeevne blev beregnet ved at aggregere den vægtede F1-score og MSE-score på tværs af datasæt efter rammer. Hver beregning blev standardiseret på basis af et datasæt på tværs af rammer og skaleret fra 0 til 1. I tilfælde af MSE blev disse værdier inverteret, hvilket betyder, at højere værdier repræsenterer bedre resultater, så graferne forblev konsistente mellem klassificering og regressionsvisualiseringer. Gennemsnittet på tværs af de 10 evaluerede frø repræsenterer en rammes ydelse på et specifikt datasæt. I figur 2 og 3 indikerer mørkere nuancer større ydelsesforskelle.

Figur 4: Rammepræstation på alle klassificeringsdatasæt

Figur 5: Rammepræstation på tværs af alle regressionsdatasæt

Vi brugte boxplots til at demonstrere rammepræstation her i figur 4 og 5. Indskæringerne i box-plot viser repræsentationsintervallet for medianerne. Midlerne og standardafvigelserne i tabel 1 viser de nøjagtige forskelle.

Tabel 1: Præcist pr. Rammeresultater

Konklusion og fortolkning

Samlet set giver hver visualisering og fortolkning det samme billede. Auto-sklearn klarer sig bedst på klassificeringsdatasæt, og TPOT klarer sig bedst på regressionsdatasæt. Det er vigtigt at bemærke, at de kvantitative resultater fra dette eksperiment har ekstremt høje afvigelser, og som sådan er det sandsynligvis mere vigtigt at tænke over kodebasets tilstand, fortsat udvikling, funktionssæt og mål for disse individuelle rammer snarere end selvstændig præstation. Vi anbefaler både TPOT og auto-sklearn på grund af disse faktorer og på grund af vores interaktion med hvert af deres samfund gennem den tid, vi arbejdede med denne analyse.

Hver af pakkerne (Auto-sklearn, TPOT, H2O, Auto_ml), det fulde papir og implementeringen af ​​benchmarking er her knyttet.