Het uitvoeren van machine learning (ML)-experimenten in de cloud kan zich uitstrekken over veel services en componenten. De mogelijkheid om ML-experimenten te structureren, automatiseren en te volgen is essentieel om snelle ontwikkeling van ML-modellen mogelijk te maken. Met de nieuwste ontwikkelingen op het gebied van geautomatiseerde machine learning (AutoML), namelijk het gebied van ML dat zich toelegt op de automatisering van ML-processen, kunt u nauwkeurige besluitvormingsmodellen bouwen zonder dat u diepgaande ML-kennis nodig heeft. In dit bericht kijken we naar AutoGluon, een open-source AutoML-framework waarmee je nauwkeurige ML-modellen kunt bouwen met slechts een paar regels Python.
AWS biedt een breed scala aan services om ML-workflows te beheren en uit te voeren, zodat u een oplossing kunt selecteren op basis van uw vaardigheden en toepassing. Als u bijvoorbeeld al AWS Stap Functies om de componenten van gedistribueerde applicaties te orkestreren, kunt u dezelfde service gebruiken om uw ML-workflows te bouwen en te automatiseren. Andere MLOps-tools die door AWS worden aangeboden, zijn onder meer: Amazon SageMaker-pijpleidingen, waarmee u ML-modellen kunt bouwen in Amazon SageMaker Studio met MLOps-mogelijkheden (zoals CI/CD-compatibiliteit, modelbewaking en modelgoedkeuringen). Open source-tools, zoals: Apache-luchtstroomโbeschikbaar op AWS via Door Amazon beheerde workflows voor Apache Airflow-en KubeFlow, evenals hybride oplossingen, worden ook ondersteund. U kunt bijvoorbeeld gegevensopname en -verwerking beheren met Step Functions terwijl u uw ML-modellen traint en implementeert met SageMaker Pipelines.
In dit bericht laten we zien hoe zelfs ontwikkelaars zonder ML-expertise eenvoudig ultramoderne ML-modellen kunnen bouwen en onderhouden met behulp van AutoGluon op Amazon Sage Maker en Step Functions om workflowcomponenten te orkestreren.
Na een overzicht van het AutoGluon-algoritme, presenteren we de workflowdefinities samen met voorbeelden en a code-tutorial die u kunt toepassen op uw eigen gegevens.
AutoGluon
AutoGluon is een open-source AutoML-framework dat de acceptatie van ML versnelt door nauwkeurige ML-modellen te trainen met slechts een paar regels Python-code. Hoewel dit bericht zich richt op tabelgegevens, kunt u met AutoGluon ook geavanceerde modellen trainen voor beeldclassificatie, objectdetectie en tekstclassificatie. AutoGluon-tabel creรซert en combineert verschillende modellen om de optimale oplossing te vinden.
Het AutoGluon-team van AWS heeft een papier die de principes presenteert die de bibliotheek structureren:
- Eenvoud โ U kunt classificatie- en regressiemodellen rechtstreeks van onbewerkte gegevens maken zonder de gegevens te hoeven analyseren of feature-engineering uit te voeren
- robuustheid โ Het algehele trainingsproces moet slagen, zelfs als sommige van de individuele modellen falen
- Voorspelbare timing โ U kunt optimale resultaten behalen binnen de tijd die u voor training wilt investeren
- Fout tolerantie โ U kunt de training op elk moment stoppen en hervatten, wat de kosten optimaliseert als het proces op spotafbeeldingen in de cloud draait
Voor meer details over het algoritme, raadpleeg de papier vrijgegeven door het AutoGluon-team van AWS.
Nadat u de AutoGluon-pakket en zijn afhankelijkheden, is het trainen van een model net zo eenvoudig als het schrijven van drie regels code:
Het AutoGluon-team bewees de kracht van het raamwerk door in meerdere Kaggle-competities de top 10 te bereiken.
Overzicht oplossingen
We gebruiken Step Functions om een โโML-workflow te implementeren die training, evaluatie en implementatie omvat. Het pijplijnontwerp maakt snelle en configureerbare experimenten mogelijk door de invoerparameters te wijzigen die u tijdens runtime in de pijplijn invoert.
U kunt de pijplijn configureren om verschillende workflows te implementeren, zoals de volgende:
- Train een nieuw ML-model en sla het op in het SageMaker-modelregister, als er op dit moment geen implementatie nodig is
- Implementeer een vooraf getraind ML-model, hetzij voor online (SageMaker-eindpunt) of offline (SageMaker batch-transformatie) gevolgtrekking
- Voer een complete pijplijn uit om een โโML-model helemaal opnieuw te trainen, evalueren en implementeren
De oplossingen bestaan โโuit een algemene staat machine (zie het volgende diagram) dat de reeks acties orkestreert die moeten worden uitgevoerd op basis van een reeks invoerparameters.
De stappen van de toestandsmachine zijn als volgt:
- De eerste stap
IsTraining
bepaalt of we een vooraf getraind model gebruiken of een model helemaal opnieuw trainen. Als u een vooraf getraind model gebruikt, gaat de statusmachine naar stap 7. - Wanneer een nieuw ML-model nodig is,
TrainSteps
activeert een tweede toestandsmachine die alle noodzakelijke acties uitvoert en het resultaat terugstuurt naar de huidige toestandsmachine. In de volgende sectie gaan we dieper in op de trainingsstatusmachine. - Als de opleiding is afgelopen,
PassModelName
slaat de naam van de trainingstaak op een opgegeven locatie van de statusmachinecontext op om opnieuw te worden gebruikt in de volgende statussen. - Als een evaluatiefase wordt gekozen,
IsEvaluation
stuurt de statusmachine om naar de evaluatietak. Anders gaat het naar stap 7. - De evaluatiefase wordt vervolgens uitgevoerd met behulp van een AWS Lambda functie aangeroepen door de
ModelValidation
stap. De Lambda-functie haalt modelprestaties op een testset op en vergelijkt deze met een door de gebruiker configureerbare drempel die is opgegeven in de invoerparameters. De volgende code is een voorbeeld van evaluatieresultaten: - Als de modelevaluatie op
EvaluationResults
succesvol is, gaat de statusmachine verder met eventuele implementatiestappen. Als het model presteert onder een door de gebruiker gedefinieerd criterium, stopt de statusmachine en wordt de implementatie overgeslagen. - Als implementatie is geselecteerd,
IsDeploy
start een derde-toestandsmachine doorDeploySteps
, die we verderop in dit bericht beschrijven. Als implementatie niet nodig is, stopt de statusmachine hier.
Een set invoerparametervoorbeelden is beschikbaar op de GitHub repo.
Staatsmachine trainen
De statusmachine voor het trainen van een nieuw ML-model met AutoGluon bestaat uit twee stappen, zoals geรฏllustreerd in het volgende diagram. De eerste stap is een SageMaker-trainingstaak die het model maakt. De tweede slaat de vermeldingen op in het SageMaker-modelregister.
U kunt deze stappen automatisch uitvoeren als onderdeel van de hoofdstatusmachine of als een zelfstandig proces.
Implementatiestatusmachine
Laten we nu kijken naar de statusmachine die is toegewezen aan de implementatiefase (zie het volgende diagram). Zoals eerder vermeld, ondersteunt de architectuur zowel online als offline implementatie. De eerste bestaat uit het implementeren van een SageMaker-eindpunt, terwijl de laatste een SageMaker-batchtransformatietaak uitvoert.
De implementatiestappen zijn als volgt:
ChoiceDeploymentMode
kijkt naar de invoerparameters om te bepalen welke implementatiemodus nodig is en stuurt de statusmachine naar de overeenkomstige tak.- Als een eindpunt is gekozen, wordt de
EndpointConfig
stap definieert de configuratie, terwijlCreateEndpoint
start het proces van het toewijzen van de benodigde computerbronnen. Deze toewijzing kan enkele minuten duren, dus de statusmachine pauzeert bijWaitForEndpoint
en gebruikt een Lambda-functie om de eindpuntstatus te pollen. - Terwijl het eindpunt wordt geconfigureerd,
ChoiceEndpointStatus
keert terug naar deWaitForEndpoint
staat, anders blijft het ofwelDeploymentFailed
orDeploymentSucceeded
. - Als offline-implementatie is geselecteerd, voert de statusmachine een SageMaker-batchtransformatietaak uit, waarna de statusmachine stopt.
Conclusie
Dit bericht presenteert een gebruiksvriendelijke pijplijn om AutoML-workflows te orkestreren en snelle experimenten in de cloud mogelijk te maken, waardoor nauwkeurige ML-oplossingen mogelijk zijn zonder dat geavanceerde ML-kennis vereist is.
We bieden een algemene pijplijn en twee modulaire pijplijnen waarmee u training en implementatie indien nodig afzonderlijk kunt uitvoeren. Bovendien is de oplossing volledig geรฏntegreerd met SageMaker en profiteert het van zijn functies en rekenkracht.
Ga nu hiermee aan de slag code-tutorial om de bronnen die in dit bericht worden gepresenteerd in uw AWS-account te implementeren en uw eerste AutoML-experimenten uit te voeren.
Over de auteurs
Federico Piccinini is een Deep Learning Architect voor het Amazon Machine Learning Solutions Lab. Hij is gepassioneerd door machine learning, verklaarbare AI en MLOps. Hij richt zich op het ontwerpen van ML-pipelines voor AWS-klanten. Buiten zijn werk houdt hij van sporten en pizza.
Paolo Irrera is een datawetenschapper bij het Amazon Machine Learning Solutions Lab, waar hij klanten helpt bij het oplossen van zakelijke problemen met ML- en cloudmogelijkheden. Hij heeft een PhD in Computer Vision van Telecom ParisTech, Parijs.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- vermogen
- Over
- Account
- accuraat
- over
- acties
- adres
- Adoptie
- vergevorderd
- vooruitgang
- AI
- algoritme
- Alles
- toewijzing
- Het toestaan
- toestaat
- al
- Hoewel
- Amazone
- analyseren
- Aanvraag
- toepassingen
- Solliciteer
- architectuur
- GEBIED
- automatiseren
- geautomatiseerde
- webmaster.
- Automatisering
- Beschikbaar
- AWS
- wezen
- onder
- bouw
- bedrijfsdeskundigen
- Kan krijgen
- mogelijkheden
- uitgekozen
- classificatie
- Cloud
- code
- verenigbaarheid
- Wedstrijden
- compleet
- componenten
- computer
- computergebruik
- Configuratie
- blijft
- Overeenkomend
- Kosten
- en je merk te creรซren
- creรซert
- criteria
- Actueel
- Huidige toestand
- Klanten
- gegevens
- data scientist
- toegewijd aan
- deep
- implementeren
- het inzetten
- inzet
- beschrijven
- Design
- ontwerpen
- detail
- gegevens
- Opsporing
- ontwikkelaars
- Ontwikkeling
- anders
- direct
- verdeeld
- gemakkelijk
- gemakkelijk te gebruiken
- in staat stellen
- maakt
- Endpoint
- essentieel
- schatten
- evaluatie
- voorbeeld
- voorbeelden
- expertise
- SNELLE
- Kenmerk
- Voordelen
- Voornaam*
- richt
- volgend
- volgt
- Achtergrond
- oppompen van
- functie
- functies
- Algemeen
- met
- helpt
- hier
- houdt
- Hoe
- HTTPS
- Hybride
- beeld
- afbeeldingen
- uitvoeren
- uitvoering
- geรฏmplementeerd
- omvatten
- individueel
- invoer
- installeren
- geรฏntegreerde
- IT
- Jobomschrijving:
- kennis
- laboratorium
- laatste
- leren
- Bibliotheek
- lijnen
- plaats
- Kijk
- machine
- machine learning
- onderhouden
- beheer
- beheerd
- vermeld
- ML
- model
- modellen
- modulaire
- Grensverkeer
- meer
- meervoudig
- namelijk
- noodzakelijk
- nodig
- volgende
- aangeboden
- Aanbod
- offline
- online.
- Overige
- anders-
- totaal
- het te bezitten.
- Parijs
- deel
- hartstochtelijk
- optredens
- uitvoerend
- fase
- Pizza
- inch
- presenteren
- cadeautjes
- problemen
- processen
- verwerking
- zorgen voor
- reeks
- Rauw
- uitgebracht
- nodig
- Resources
- Resultaten
- hervat
- Retourneren
- lopen
- dezelfde
- Wetenschapper
- gekozen
- service
- Diensten
- reeks
- verscheidene
- tonen
- vaardigheden
- So
- oplossing
- Oplossingen
- sommige
- Sport
- Spot
- standalone
- gestart
- starts
- Land
- state-of-the-art
- Staten
- Status
- shop
- winkels
- sterkte
- geslaagd
- ondersteunde
- steunen
- team
- telecom
- proef
- De
- drie
- drempel
- Door
- niet de tijd of
- tools
- top
- in de richting van
- spoor
- Trainen
- Trainingen
- Transformeren
- .
- visie
- of
- en
- binnen
- zonder
- Mijn werk
- workflows
- het schrijven van
- Your