Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon

Amazon SageMaker autopilot har lagt till ett nytt träningsläge som stöder modellensembling powered by AutoGluon. Ensembleträningsläge i Autopilot tränar flera basmodeller och kombinerar deras förutsägelser med modellstapling. För datauppsättningar mindre än 100 MB bygger ensembleträningsläge maskininlärningsmodeller (ML) med hög noggrannhet snabbt – upp till åtta gånger snabbare än hyperparameteroptimering (HPO) träningsläge med 250 försök, och upp till 5.8 gånger snabbare än HPO träningsläge med 100 försök. Den stöder ett brett utbud av algoritmer, inklusive LightGBM, CatBoost, XGBoost, Random Forest, Extra Trees, linjära modeller och neurala nätverk baserade på PyTorch och FastAI.

Hur AutoGluon bygger ensemblemodeller

AutoGluon-tabell (AGT) är ett populärt AutoML-ramverk med öppen källkod som tränar mycket exakta ML-modeller på tabelluppsättningar. Till skillnad från befintliga AutoML-ramverk, som i första hand fokuserar på val av modell och hyperparameter, lyckas AGT genom att sammansätta flera modeller och stapla dem i flera lager. Standardbeteendet för AGT kan sammanfattas enligt följande: Med tanke på en datamängd, tränar AGT olika basmodeller som sträcker sig från träd med förstärkning från hyllan till anpassade neurala nätverk på datasetet. Förutsägelserna från basmodellerna används som funktioner för att bygga en staplingsmodell, som lär sig lämplig vikt för varje basmodell. Med dessa inlärda vikter kombinerar staplingsmodellen sedan basmodellens förutsägelser och returnerar de kombinerade förutsägelserna som den slutliga uppsättningen av förutsägelser.

Hur Autopilotens ensembleträningsläge fungerar

Olika datamängder har egenskaper som är lämpliga för olika algoritmer. Med tanke på en datauppsättning med okända egenskaper är det svårt att i förväg veta vilka algoritmer som fungerar bäst på en datauppsättning. Med detta i åtanke skapar datavetare som använder AGT ofta flera anpassade konfigurationer med en undergrupp av algoritmer och parametrar. De kör dessa konfigurationer på en given datamängd för att hitta den bästa konfigurationen när det gäller prestanda och slutledningslatens.

Autopilot är en lågkodad ML-produkt som automatiskt bygger de bästa ML-modellerna för din data. I det nya ensembleträningsläget väljer Autopilot en optimal uppsättning AGT-konfigurationer och kör flera försök för att returnera den bästa modellen. Dessa försök körs parallellt för att utvärdera om AGT:s prestanda kan förbättras ytterligare, vad gäller objektiva mått eller slutledningslatens.

Resultat observerade med OpenML benchmarks

För att utvärdera prestandaförbättringarna använde vi OpenML benchmark-datauppsättningar med storlekar som varierade från 0.5–100 MB och körde 10 AGT-försök med olika kombinationer av algoritmer och hyperparameterkonfigurationer. Testerna jämförde ensembleträningsläge med HPO-läge med 250 försök och HPO-läge med 100 försök. Följande tabell jämför den totala körtiden för autopilotexperimentet (i minuter) mellan de två träningslägena för olika datauppsättningsstorlekar.

Datauppsättningsstorlek HPO-läge (250 försök) HPO-läge (100 försök) Ensembleläge (10 försök) Körtidsförbättring med HPO 250 Körtidsförbättring med HPO 100
< 1 MB 121.5 min 88.0 min 15.0 min 8.1x 5.9x
1-10 MB 136.1 min 76.5 min 25.8 min 5.3x 3.0x
10-100 MB 152.7 min 103.1 min 60.9 min 2.5x 1.7x

För att jämföra prestanda för multiklassklassificeringsproblem använder vi noggrannhet, för binära klassificeringsproblem använder vi F1-poängen och för regressionsproblem använder vi R2. Vinsterna i objektiva mått visas i följande tabeller. Vi observerade att ensembleträningsläget presterade bättre än HPO-träningsläget (både 100 och 250 försök).

Observera att ensembleläget visar konsekvent förbättring jämfört med HPO-läget med 250 försök oavsett datauppsättningsstorlek och problemtyper.

Följande tabell jämför noggrannhet för klassificeringsproblem i flera klasser (högre är bättre).

Datauppsättningsstorlek HPO-läge (250 försök) HPO-läge (100 försök) Ensembleläge (10 försök) Procentuell förbättring över HPO 250
< 1 MB 0.759 0.761 0.771 1.46%
1-5 MB 0.941 0.935 0.957 1.64%
5-10 MB 0.639 0.633 0.671 4.92%
10-50 MB 0.998 0.999 0.999 0.11%
51-100 MB 0.853 0.852 0.875 2.56%

Följande tabell jämför F1-poäng för binära klassificeringsproblem (högre är bättre).

Datauppsättningsstorlek HPO-läge (250 försök) HPO-läge (100 försök) Ensembleläge (10 försök) Procentuell förbättring över HPO 250
< 1 MB 0.801 0.807 0.826 3.14%
1-5 MB 0.59 0.587 0.629 6.60%
5-10 MB 0.886 0.889 0.898 1.32%
10-50 MB 0.731 0.736 0.754 3.12%
51-100 MB 0.503 0.493 0.541 7.58%

Följande tabell jämför R2 för regressionsproblem (högre är bättre).

Datauppsättningsstorlek HPO-läge (250 försök) HPO-läge (100 försök) Ensembleläge (10 försök) Procentuell förbättring över HPO 250
< 1 MB 0.717 0.718 0.716 0%
1-5 MB 0.803 0.803 0.817 2%
5-10 MB 0.590 0.586 0.614 4%
10-50 MB 0.686 0.688 0.684 0%
51-100 MB 0.623 0.626 0.631 1%

I nästa avsnitt visar vi hur man använder det nya ensembleträningsläget i Autopilot för att analysera datamängder och enkelt bygga högkvalitativa ML-modeller.

Datauppsättning översikt

Vi använder Titanic-dataset att förutsäga om en given passagerare överlevde eller inte. Detta är ett binärt klassificeringsproblem. Vi fokuserar på att skapa ett autopilotexperiment med det nya ensembleträningsläget och jämför resultaten av F1-poäng och total körtid med ett autopilotexperiment med HPO-träningsläge (100 försök).

Kolumnnamn Beskrivning
Passagerid Identifieringsnummer
Överlevde levde~~POS=HEADCOMP Överlevnad
Pklass Biljettklass
Namn Passagerarens namn
Sex Sex
Ålder Ålder i år
Sibsp Antal syskon eller makar ombord på Titanic
Lappa Antal föräldrar eller barn ombord på Titanic
Biljett Biljettnummer
göra Passagerarpris
Stuga Hyttnummer
Började Ombordstigningshamn

Datauppsättningen har 890 rader och 12 kolumner. Den innehåller demografisk information om passagerarna (ålder, kön, biljettklass och så vidare) och målkolumnen Överlevda (ja/nej).

Förutsättningar

Slutför följande förutsättningssteg:

  1. Se till att du har ett AWS-konto, säker åtkomst för att logga in på kontot via AWS Management Consoleoch AWS identitets- och åtkomsthantering (IAM) behörigheter att använda Amazon SageMaker och Amazon enkel lagringstjänst (Amazon S3) resurser.
  2. ladda ner Titanic-dataset och ladda upp den till en S3-hink på ditt konto.
  3. Ombord på en SageMaker-domän och åtkomst Amazon SageMaker Studio för att använda autopilot. För instruktioner, se Ombord på Amazon SageMaker Domain. Om du använder befintlig Studio, uppgradera till senaste versionen av Studio för att använda det nya ensembleträningsläget.

Skapa ett autopilotexperiment med ensembleträningsläge

När datasetet är klart kan du initiera ett autopilotexperiment i Studio. För fullständiga instruktioner, se Skapa ett Amazon SageMaker Autopilot-experiment. Skapa ett autopilotexperiment genom att ange ett experimentnamn, datainmatningen och ange måldata som ska förutsägas i Experiment och datadetaljer sektion. Alternativt kan du specificera dataspillningsförhållandet och automatiskt skapande av Amazon S3-utdataplatsen.

För vårt användningsfall tillhandahåller vi ett experimentnamn, anger Amazon S3-plats och väljer Överlevde levde~~POS=HEADCOMP som mål. Vi håller den automatiska uppdelningen aktiverad och åsidosätter standardutgången för Amazon S3-platsen.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Därefter specificerar vi träningsmetoden i Träningsmetod sektion. Du kan antingen låta Autopilot välja träningsläge automatiskt med Bil baserat på datasetstorleken, eller välj träningsläget manuellt för antingen ensembling eller HPO. Detaljerna för varje alternativ är följande:

  • Bil – Autopiloten väljer automatiskt antingen ensembling eller HPO-läge baserat på din datauppsättningsstorlek. Om din datauppsättning är större än 100 MB väljer Autopilot HPO, annars väljer den ensembling.
  • Montering – Autopilot använder AutoGluons ensemblingsteknik för att träna flera basmodeller och kombinerar deras förutsägelser med modellstapling till en optimal prediktiv modell.
  • Hyperparameteroptimering – Autopiloten hittar den bästa versionen av en modell genom att justera hyperparametrar med Bayesian Optimization-tekniken och köra träningsjobb på din datauppsättning. HPO väljer de algoritmer som är mest relevanta för din datauppsättning och väljer det bästa intervallet av hyperparametrar för att ställa in modellerna.

För vårt användningsfall väljer vi Montering som vårt träningsläge.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter detta fortsätter vi till Implementering och avancerade inställningar sektion. Här avmarkerar vi Automatisk distribution alternativ. Under Avancerade inställningar, kan du ange vilken typ av ML-problem du vill lösa. Om inget tillhandahålls bestämmer Autopilot automatiskt modellen baserat på de data du tillhandahåller. Eftersom vårt är ett binärt klassificeringsproblem väljer vi Binär klassificering som vår problemtyp och F1 som vårt objektiva mått.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Till sist granskar vi våra urval och väljer Skapa experiment.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Vid det här laget är det säkert att lämna Studio och återvända senare för att kontrollera resultatet, som du kan hitta på Experiment meny.

Följande skärmdump visar de slutliga resultaten av vårt titanic-ens ensembleträningsläge Autopilot-jobb.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan se flera försök som har försökts av autopiloten i ensembleträningsläge. Varje försök returnerar den bästa modellen från poolen av individuella modellkörningar och staplande ensemblemodellkörningar.

För att förklara detta lite närmare, låt oss anta att försök 1 betraktade alla åtta algoritmer som stöds och använde stackningsnivå 2. Den kommer internt att skapa de individuella modellerna för varje algoritm såväl som de viktade ensemblemodellerna med stacknivå 0, nivå 1 och nivå 2 Men resultatet av försök 1 kommer att vara den bästa modellen från poolen av modeller som skapats.

På samma sätt, låt oss överväga att Trial 2 endast har plockat upp trädbaserade förstärkningsalgoritmer. I det här fallet kommer Trial 2 internt att skapa tre individuella modeller för var och en av de tre algoritmerna såväl som de viktade ensemblemodellerna, och returnera den bästa modellen från dess körning.

Den slutliga modellen som returneras av ett försök kan vara en viktad ensemblemodell eller inte, men majoriteten av försöken kommer med största sannolikhet att returnera sin bäst vägda ensemblemodell. Slutligen, baserat på det valda objektiva måttet, kommer den bästa modellen av alla 10 försök att identifieras.

I det föregående exemplet var vår bästa modell den med högsta F1-poäng (vårt objektiva mått). Flera andra användbara mätvärden, inklusive noggrannhet, balanserad noggrannhet, precision och återkallande visas också. I vår miljö var körtiden för det här autopilotexperimentet 10 minuter.

Skapa ett autopilotexperiment med HPO-träningsläge

Låt oss nu utföra alla ovannämnda steg för att skapa ett andra autopilotexperiment med HPO-träningsmetoden (standard 100 försök). Bortsett från val av träningsmetod, vilket är nu Hyperparameteroptimering, allt annat förblir detsamma. I HPO-läge kan du ange antalet försök genom att ställa in Max kandidater under Avancerade inställningar för Runtime, men vi rekommenderar att du lämnar detta till standard. Ger inget värde i Max kandidater kommer att köra 100 HPO-försök. I vår miljö var hela körtiden för detta autopilotexperiment 2 timmar.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Jämförelse av körtid och prestanda

Vi ser att för vår datauppsättning (under 1 MB) körde ensembleträningsläget inte bara 12 gånger snabbare än HPO-träningsläget (120 minuter till 10 minuter), utan det gav också förbättrade F1-poäng och andra prestationsmått.

Träningsläge F1-poäng Noggrannhet Balanserad noggrannhet AUC Precision Recall Loggförlust Runtime
Ensembleläge - Weighted Ensemble 0.844 0.878 0.865 0.89 0.912 0.785 0.394 10 min
HPO-läge – XGBoost 0.784 0.843 0.824 0.867 0.831 0.743 0.428 120 min

Slutledning

Nu när vi har en vinnarmodell kan vi antingen distribuera den till en slutpunkt för slutledning i realtid or använd batchtransformationer för att göra förutsägelser på den omärkta datamängden vi laddade ner tidigare.

Sammanfattning

Du kan köra dina autopilotexperiment snabbare utan att påverka prestandan med det nya ensembleträningsläget för datauppsättningar mindre än 100 MB. För att starta, skapa ett SageMaker Autopilot-experiment på Studio-konsolen och välj Montering som ditt träningsläge, eller låt Autopilot härleda träningsläget automatiskt baserat på datauppsättningens storlek. Du kan hänvisa till CreateAutoMLJob API referensguide för uppdateringar av API och uppgradering till senaste versionen av Studio för att använda det nya ensembleträningsläget. För mer information om den här funktionen, se Modellstöd, mätvärden och validering med Amazon SageMaker Autopilot och för att lära dig mer om autopilot, besök Produktsida.


Om författarna

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Janisha Anand är Senior Product Manager i SageMaker Low/No Code ML-teamet, som inkluderar SageMaker Autopilot. Hon tycker om kaffe, att vara aktiv och umgås med sin familj.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Saket Sathe är Senior Applied Scientist i SageMaker Autopilot-teamet. Han brinner för att bygga nästa generations maskininlärningsalgoritmer och system. Förutom jobbet älskar han att läsa, laga mat, slurpa ramen och spela badminton.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Abhishek singh är mjukvaruingenjör för autopilotteamet i AWS. Han har 8+ års erfarenhet som mjukvaruutvecklare och brinner för att bygga skalbara mjukvarulösningar som löser kundproblem. På fritiden gillar Abhishek att hålla sig aktiv genom att gå på vandringar eller engagera sig i fotbollsmatcher.

Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Vadim Omeltchenko är en Sr. AI/ML Solutions Architect som brinner för att hjälpa AWS-kunder att förnya sig i molnet. Hans tidigare IT-erfarenhet var övervägande på marken.

Tidsstämpel:

Mer från AWS maskininlärning