Zephyrnet-logo

Best Egg behaalde drie keer snellere ML-modeltraining met Amazon SageMaker Automatic Model Tuning

Datum:

Dit bericht is mede geschreven door Tristan Miller van Best Egg.

Beste ei is een toonaangevend financieel vertrouwensplatform dat leenproducten en middelen biedt die erop gericht zijn mensen te helpen meer zelfvertrouwen te krijgen bij het beheren van hun dagelijkse financiën. Sinds maart 2014 heeft Best Egg $ 22 miljard aan persoonlijke leningen aan consumenten verstrekt met sterke kredietprestaties, bijna 637,000 leden verwelkomd op het onlangs gelanceerde Best Egg Financial Health-platform en meer dan 180,000 kaarthouders die de nieuwe Best Egg-creditcard in hun portemonnee dragen, gemachtigd.

Amazon Sage Maker is een volledig beheerde machine learning (ML)-service die verschillende tools biedt voor het bouwen, trainen, optimaliseren en implementeren van ML-modellen. SageMaker biedt geautomatiseerde modelafstemming, dat het ongedifferentieerde zware werk van het inrichten en beheren van de computerinfrastructuur beheert om verschillende iteraties uit te voeren en de geoptimaliseerde modelkandidaat uit de training te selecteren.

Om u te helpen uw vereiste hyperparameters efficiënt af te stemmen en het best presterende model te bepalen, wordt in dit bericht besproken hoe Beste ei gebruikte SageMaker hyperparameter afstemming met warme zwembaden en bereikte een drievoudige verbetering in de trainingstijd van het model.

Gebruik case-overzicht

Risicokredietanalisten gebruiken kredietbeoordelingsmodellen bij het uitlenen of aanbieden van een creditcard aan klanten door rekening te houden met verschillende gebruikersattributen. Dit statistische model genereert een eindscore, of Good Bad Indicator (GBI), die bepaalt of een kredietaanvraag moet worden goedgekeurd of afgewezen. ML-inzichten vergemakkelijken de besluitvorming. Om het risico van kredietaanvragen te beoordelen, maakt ML gebruik van verschillende gegevensbronnen en voorspelt zo het risico dat een klant delinquent zal zijn.

De uitdaging

Een belangrijk probleem in de financiële sector is dat er geen algemeen aanvaarde methode of structuur bestaat om met de overweldigende hoeveelheid mogelijkheden om te gaan die op een bepaald moment in overweging moeten worden genomen. Het is moeilijk om de tools die teams gebruiken te standaardiseren om transparantie en tracking over de hele linie te bevorderen. De toepassing van ML kan mensen in de financiële sector helpen om betere beslissingen te nemen over prijzen, risicobeheer en consumentengedrag. Datawetenschappers trainen meerdere ML-algoritmen om miljoenen records met consumentengegevens te onderzoeken, afwijkingen te identificeren en te evalueren of een persoon in aanmerking komt voor krediet.

SageMaker kan geautomatiseerde hyperparameterafstemming uitvoeren op basis van meerdere optimalisatietechnieken zoals grid zoeken, Bayesian, willekeurig zoeken en Hyperband. Automatische modeltuning maakt het gemakkelijk om de optimale modelconfiguratie te bepalen, waardoor tijd en geld vrijkomen voor beter gebruik elders in de financiële sector. Als onderdeel van het afstemmen van hyperparameters voert SageMaker verschillende iteraties van de trainingscode uit op de trainingsgegevensset met verschillende combinaties van hyperparameters. SageMaker bepaalt vervolgens de beste modelkandidaat met de optimale hyperparameters op basis van de geconfigureerde objectieve metriek.

Best Egg was in staat om hyperparameter-afstemming te automatiseren met de geautomatiseerde hyperparameter-optimalisatie (HPO) -functie van SageMaker en deze te parallelliseren. Elke taak voor het afstemmen van hyperparameters kon echter uren duren, en het selecteren van de beste modelkandidaat kostte veel taken voor het afstemmen van hyperparameters in de loop van meerdere dagen. Hyperparameter-afstemmingstaken kunnen traag zijn vanwege de aard van de iteratieve taken die HPO onder de motorkap uitvoert. Elke keer dat een trainingstaak wordt gestart, worden er nieuwe resources beschikbaar gesteld, wat een aanzienlijke hoeveelheid tijd in beslag neemt voordat de training daadwerkelijk begint. Dit is een veelvoorkomend probleem waarmee datawetenschappers worden geconfronteerd bij het trainen van hun modellen. Tijdsefficiëntie was een groot pijnpunt omdat deze langlopende trainingstaken de productiviteit belemmerden en datawetenschappers urenlang aan deze banen vastzaten.

Overzicht oplossingen

Het volgende diagram geeft de verschillende componenten weer die in deze oplossing worden gebruikt.

Het datawetenschapsteam van Best Egg gebruikt Amazon SageMaker Studio voor het bouwen en uitvoeren van Jupyter-notebooks. SageMaker-verwerkingstaken functie-engineering-pijplijnen uitvoeren op de invoergegevensset om functies te genereren. Best Egg traint meerdere kredietmodellen met behulp van classificatie- en regressie-algoritmen. Het data science-team moet soms werken met beperkte trainingsgegevens in de orde van grootte van tienduizenden records, gezien de aard van hun use cases. Best Egg voert SageMaker-trainingstaken uit met geautomatiseerde hyperparameterafstemming mogelijk gemaakt door Bayesiaanse optimalisatie. Om variantie te verminderen, gebruikt Best Egg k-voudige kruisvalidatie als onderdeel van hun aangepaste container om het getrainde model te evalueren.

Het getrainde modelartefact wordt geregistreerd en van een versie voorzien in het SageMaker-modelregister. Inferentie wordt op twee manieren uitgevoerd: realtime en batchgewijs, op basis van de gebruikersvereisten. Het getrainde modelartefact wordt gehost op een SageMaker realtime eindpunt met behulp van de ingebouwde functies voor automatisch schalen en taakverdeling. Het model wordt ook doorgescoord batch-transformatietaken dagelijks gepland. De hele pijplijn is georkestreerd Amazon SageMaker-pijpleidingen, bestaande uit een reeks stappen, zoals een verwerkingsstap voor feature-engineering, een afstemmingsstap voor training en geautomatiseerde modelafstemming en een modelstap voor het registreren van het artefact.

Met betrekking tot het kernprobleem van langlopende hyperparameter-afstemmingstaken, onderzocht Best Egg de onlangs uitgebrachte warm pools-functie die wordt beheerd door SageMaker. SageMaker beheerde warme baden stelt u in staat om ingerichte infrastructuur te behouden en opnieuw te gebruiken na voltooiing van een trainingstaak om latentie te verminderen voor repetitieve workloads, zoals iteratieve experimenten of achtereenvolgens uitgevoerde taken waarbij specifieke taakconfiguratieparameters zoals instantietype of aantal overeenkomen met de vorige uitvoeringen. Hierdoor kon Best Egg de bestaande infrastructuur hergebruiken voor hun repetitieve trainingstaken zonder tijd te verspillen aan infrastructuurvoorzieningen.

Duik diep in modeltuning en voordelen van warme zwembaden

SageMaker Automated Model Tuning maakt standaard gebruik van Warm Pools voor elke tuningtaak vanaf Augustus 2022 (aankondiging). Dit maakt het eenvoudig om de voordelen van Warm Pools te benutten, aangezien u alleen een afstemmingstaak hoeft te starten en SageMaker Automatic Model Tuning zal automatisch Warm Pools gebruiken tussen volgende trainingstaken die als onderdeel van de afstemming worden gelanceerd. Wanneer elke trainingstaak is voltooid, worden de ingerichte resources actief gehouden in een warme pool, zodat de volgende trainingstaak die als onderdeel van de afstemming wordt gestart, op dezelfde pool begint met minimale opstartoverhead.

De onderstaande workflow toont een reeks trainingstaakruns met behulp van een warme pool.

  1. Nadat de eerste trainingstaak is voltooid, worden de instanties die voor training zijn gebruikt, bewaard in het warme poolcluster.
  2. De volgende trainingstaak die wordt geactiveerd, gebruikt de instantie in de warme pool om uit te voeren, waardoor de koude starttijd die nodig is om de instantie voor te bereiden om op te starten, wordt geëlimineerd.
  3. Evenzo, als er meer trainingstaken binnenkomen met instantietype, aantal exemplaren, volume en netwerkcriteria vergelijkbaar met de warm pool-clusterresources, dan worden de overeenkomende instanties gebruikt voor het uitvoeren van de taken.
  4. Zodra de trainingstaak is voltooid, worden de exemplaren in de warme pool bewaard in afwachting van nieuwe taken.
  5. De maximale tijdsduur dat een warmpoolcluster opeenvolgende trainingstaken kan blijven uitvoeren, is 7 dagen.
    • Zolang het cluster in orde is en de warme pool zich binnen de opgegeven tijdsduur bevindt, is de status van de warme pool Available.
    • Het warme zwembad blijft Available totdat het een bijpassende trainingstaak identificeert voor hergebruik. Als de status van het warme zwembad is Terminated, dan is dit het einde van de levenscyclus van een warm zwembad.

Het volgende diagram illustreert deze workflow.

Hoe Best Egg profiteerde: verbeteringen en gegevenspunten

Best Egg merkte op dat hun trainingstaken op SageMaker met warme zwembaden een factor 3 sneller liepen. In één kredietmodelproject werd het beste model geselecteerd uit acht verschillende HPO-taken, die elk 40 iteraties hadden met vijf parallelle taken op een tijd. Elke iteratie duurde ongeveer 1 minuut om te berekenen, terwijl ze zonder warme baden doorgaans elk 5 minuten in beslag namen. In totaal nam het proces 2 uur rekentijd in beslag, waarbij de extra input van de datawetenschapper ongeveer een halve werkdag in beslag nam. Zonder warme zwembaden schatten we dat de berekening alleen al 6 uur zou hebben geduurd, waarschijnlijk verspreid over 2 à 3 werkdagen.

Samengevat

Concluderend besprak dit bericht elementen van de activiteiten van Best Egg en het ML-landschap van het bedrijf. We hebben bekeken hoe Best Egg zijn modeltraining en afstemming kon versnellen door warme pools in te schakelen voor hun hyperparameter-afstemmingstaken op SageMaker. We hebben ook uitgelegd hoe eenvoudig het is om warme zwembaden te implementeren voor uw trainingstaken met een eenvoudige configuratie. Bij AWS raden we onze lezers aan om op verkenning te gaan warme zwembaden voor iteratieve en repetitieve trainingstaken.


Over de auteurs

Tristan Molenaar is een Lead Data Scientist bij Best Egg. Hij bouwt en implementeert ML-modellen om belangrijke acceptatie- en marketingbeslissingen te nemen. Hij ontwikkelt op maat gemaakte oplossingen om specifieke problemen aan te pakken, evenals automatisering om de efficiëntie en schaal te vergroten. Hij is ook een ervaren origamist.

Valerio Perrone is Applied Science Manager bij AWS. Hij leidt het wetenschappelijke en technische team dat eigenaar is van de service voor automatische modelafstemming op Amazon SageMaker. Valerio's expertise ligt in het ontwikkelen van algoritmen voor grootschalige machine learning en statistische modellen, met een focus op datagedreven besluitvorming en de democratisering van kunstmatige intelligentie

Ganapathi Krishnamoorthi is Senior ML Solutions Architect bij AWS. Ganapathi biedt prescriptieve begeleiding aan startende en zakelijke klanten en helpt hen bij het ontwerpen en implementeren van cloudapplicaties op schaal. Hij is gespecialiseerd in machine learning en richt zich op het helpen van klanten bij het gebruik van AI/ML voor hun bedrijfsresultaten. Als hij niet aan het werk is, houdt hij ervan om buiten te zijn en naar muziek te luisteren

Ajjay Govindaram is Sr. Solutions Architect bij AWS. Hij werkt met strategische klanten die AI/ML gebruiken om complexe bedrijfsproblemen op te lossen. Zijn ervaring ligt in het geven van technische leiding en ontwerpondersteuning voor bescheiden tot grootschalige implementaties van AI/ML-applicaties. Zijn kennis reikt van applicatie-architectuur tot big data, analytics en machine learning. Hij luistert graag naar muziek terwijl hij rust, het buitenleven ervaart en tijd doorbrengt met zijn dierbaren.

Hariharan Suresh is Senior Solutions Architect bij AWS. Hij is gepassioneerd door databases, machine learning en het ontwerpen van innovatieve oplossingen. Voordat hij bij AWS kwam, was Hariharan productarchitect, core banking-implementatiespecialist en ontwikkelaar, en werkte hij meer dan 11 jaar met BFSI-organisaties. Buiten de technologie houdt hij van paragliden en fietsen.

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?