Deze blogpost is mede-auteur van Guillermo Ribeiro, Sr. Data Scientist bij Cepsa.
Machine learning (ML) is snel geรซvolueerd van een modieuze trend die voortkomt uit academische omgevingen en innovatieafdelingen tot een belangrijk middel om waarde te leveren aan bedrijven in elke branche. Deze overgang van experimenten in laboratoria naar het oplossen van echte problemen in productieomgevingen gaat hand in hand met: MLops, of de aanpassing van DevOps aan de ML-wereld.
MLOps helpt bij het stroomlijnen en automatiseren van de volledige levenscyclus van een ML-model, waarbij de nadruk wordt gelegd op de brongegevenssets, de reproduceerbaarheid van experimenten, de code van het ML-algoritme en de modelkwaliteit.
At Cepsa, een wereldwijd energiebedrijf, gebruiken we ML om complexe problemen in onze bedrijfstakken aan te pakken, van voorspellend onderhoud voor industriรซle apparatuur tot het bewaken en verbeteren van petrochemische processen in onze raffinaderijen.
In dit bericht bespreken we hoe we onze referentiearchitectuur voor MLOps hebben gebouwd met behulp van de volgende belangrijke AWS-services:
- Amazon Sage Maker, een service voor het bouwen, trainen en implementeren van ML-modellen
- AWS Stap Functies, een serverloze visuele workflowservice met weinig code die wordt gebruikt om processen te orkestreren en te automatiseren
- Amazon EventBridge, een serverloze evenementenbus
- AWS Lambda, een serverloze rekenservice waarmee u code kunt uitvoeren zonder servers in te richten of te beheren
We leggen ook uit hoe we deze referentiearchitectuur hebben toegepast om nieuwe ML-projecten in ons bedrijf op te starten.
De uitdaging
Gedurende de afgelopen 4 jaar hebben meerdere bedrijfstakken in Cepsa ML-projecten gelanceerd, maar al snel begonnen zich bepaalde problemen en beperkingen voor te doen.
We hadden geen referentiearchitectuur voor ML, dus elk project volgde een ander implementatiepad, waarbij ad-hocmodeltraining en -implementatie werd uitgevoerd. Zonder een gemeenschappelijke methode om projectcode en parameters te verwerken en zonder een ML-modelregister of versiebeheersysteem, verloren we de traceerbaarheid tussen datasets, code en modellen.
We ontdekten ook ruimte voor verbetering in de manier waarop we modellen in productie bedienden, omdat we de ingezette modellen niet in de gaten hielden en daarom niet over de middelen beschikten om de modelprestaties te volgen. Als gevolg hiervan hebben we modellen meestal omgeschoold op basis van tijdschema's, omdat we niet over de juiste statistieken beschikten om weloverwogen beslissingen over herscholing te nemen.
De oplossing
Uitgaande van de uitdagingen die we moesten overwinnen, ontwierpen we een algemene oplossing die gericht was op het ontkoppelen van datavoorbereiding, modeltraining, inferentie en modelmonitoring, en met een gecentraliseerd modelregister. Op deze manier hebben we het beheer van omgevingen over meerdere AWS-accounts vereenvoudigd, terwijl we gecentraliseerde modeltraceerbaarheid hebben geรฏntroduceerd.
Onze datawetenschappers en ontwikkelaars gebruiken AWS-Cloud9 (een cloud-IDE voor het schrijven, uitvoeren en debuggen van code) voor gegevensruzie en ML-experimenten en GitHub als de Git-coderepository.
Een automatische trainingsworkflow gebruikt de code die is gebouwd door het data science-team om treinmodellen op SageMaker en om outputmodellen te registreren in het modelregister.
Een andere workflow beheert de implementatie van het model: deze haalt de referentie op uit het modelregister en maakt een eindpunt voor gevolgtrekkingen met behulp van Hostingfuncties van het SageMaker-model.
We hebben zowel modeltraining als implementatieworkflows geรฏmplementeerd met behulp van Step Functions, omdat het een flexibel raamwerk bood waarmee specifieke workflows voor elk project kunnen worden gemaakt en verschillende AWS-services en -componenten op een eenvoudige manier kunnen worden georkestreerd.
Model voor gegevensverbruik
In Cepsa gebruiken we een reeks datameren om aan uiteenlopende zakelijke behoeften te voldoen, en al deze datameren delen een gemeenschappelijk dataconsumptiemodel dat het voor data-ingenieurs en datawetenschappers gemakkelijker maakt om de data te vinden en te gebruiken die ze nodig hebben.
Om gemakkelijk om te gaan met kosten en verantwoordelijkheden, zijn data lake-omgevingen volledig gescheiden van dataproducent- en consumentenapplicaties en geรฏmplementeerd in verschillende AWS-accounts die behoren tot een gemeenschappelijke AWS-organisatie.
De gegevens die worden gebruikt om ML-modellen te trainen en de gegevens die worden gebruikt als gevolgtrekkingsinvoer voor getrainde modellen, worden beschikbaar gesteld vanuit de verschillende datameren via een reeks goed gedefinieerde API's met behulp van Amazon API-gateway, een service om API's op grote schaal te creรซren, publiceren, onderhouden, bewaken en beveiligen. De API-backend gebruikt Amazone Athene (een interactieve query-service om gegevens te analyseren met behulp van standaard SQL) om toegang te krijgen tot gegevens die al zijn opgeslagen in Amazon eenvoudige opslagservice (Amazon S3) en gecatalogiseerd in de AWS lijm Gegevenscatalogus.
Het volgende diagram geeft een algemeen overzicht van de MLOps-architectuur van Cepsa.
Modeltraining
Het trainingsproces is onafhankelijk voor elk model en wordt afgehandeld door een Stap Functies standaard workflow, wat ons de flexibiliteit geeft om processen te modelleren op basis van verschillende projectvereisten. We hebben een gedefinieerde basissjabloon die we voor de meeste projecten hergebruiken en waar nodig kleine aanpassingen uitvoeren. Sommige projecteigenaren hebben bijvoorbeeld besloten handmatige poorten toe te voegen om implementaties van nieuwe productiemodellen goed te keuren, terwijl andere projecteigenaren hun eigen mechanismen voor foutdetectie en opnieuw proberen hebben geรฏmplementeerd.
We voeren ook transformaties uit op de invoergegevenssets die worden gebruikt voor modeltraining. Hiervoor gebruiken we Lambda-functies die zijn geรฏntegreerd in de trainingsworkflows. In sommige scenario's waar complexere gegevenstransformaties vereist zijn, voeren we onze code in Amazon Elastic Container-service (Amazon ECS) ingeschakeld AWS Fargate, een serverloze rekenmachine om containers uit te voeren.
Ons data science-team gebruikt vaak aangepaste algoritmen, dus we profiteren van de mogelijkheid om: aangepaste containers gebruiken in SageMaker-modeltraining, vertrouwen op Amazon Elastic Container-register (Amazon ECR), een volledig beheerd containerregister waarmee containerimages eenvoudig kunnen worden opgeslagen, beheerd, gedeeld en geรฏmplementeerd.
De meeste van onze ML-projecten zijn gebaseerd op de Scikit-leerbibliotheek, dus we hebben de standaard uitgebreid SageMaker Scikit-leercontainer om de omgevingsvariabelen op te nemen die nodig zijn voor het project, zoals de Git-repository-informatie en implementatie-opties.
Met deze aanpak hoeven onze datawetenschappers zich alleen maar te concentreren op het ontwikkelen van het trainingsalgoritme en het specificeren van de bibliotheken die nodig zijn voor het project. Wanneer ze codewijzigingen naar de Git-repository pushen, zal ons CI/CD-systeem (Jenkins gehost op AWS) bouwt de container met de trainingscode en bibliotheken. Deze container wordt naar Amazon ECR gepusht en uiteindelijk als parameter doorgegeven aan de SageMaker-trainingsaanroep.
Wanneer het trainingsproces is voltooid, wordt het resulterende model opgeslagen in Amazon S3, wordt een referentie toegevoegd in het modelregister en worden alle verzamelde informatie en statistieken opgeslagen in de experimentencatalogus. Dit verzekert volledige reproduceerbaarheid omdat de algoritmecode en bibliotheken zijn gekoppeld aan het getrainde model, samen met de gegevens die aan het experiment zijn gekoppeld.
Het volgende diagram illustreert het modeltrainings- en omscholingsproces.
Modelimplementatie
De architectuur is flexibel en maakt zowel automatische als handmatige implementaties van de getrainde modellen mogelijk. De workflow voor modelimplementatie wordt automatisch aangeroepen door middel van een gebeurtenis die SageMaker-training publiceert in EventBridge nadat de training is voltooid, maar kan indien nodig ook handmatig worden aangeroepen, waarbij de juiste modelversie uit het modelregister wordt doorgegeven. Voor meer informatie over automatisch aanroepen, zie Amazon SageMaker automatiseren met Amazon EventBridge.
De werkstroom voor modelimplementatie haalt de modelinformatie op uit het modelregister en gebruikt AWS CloudFormatie, een beheerde infrastructuur als codeservice, om het model te implementeren op een realtime inferentie-eindpunt of batchinferentie uit te voeren met een opgeslagen invoergegevensset, afhankelijk van de projectvereisten.
Telkens wanneer een model met succes in een omgeving wordt geรฏmplementeerd, wordt het modelregister bijgewerkt met een nieuwe tag die aangeeft in welke omgevingen het model momenteel wordt uitgevoerd. Telkens wanneer een eindpunt wordt verwijderd, wordt de tag ook uit het modelregister verwijderd.
Het volgende diagram toont de werkstroom voor modelimplementatie en gevolgtrekking.
Experimenten en modelregistratie
Door elk experiment en elke modelversie op รฉรฉn locatie op te slaan en een gecentraliseerde coderepository te hebben, kunnen we modeltraining en -implementatie ontkoppelen en verschillende AWS-accounts gebruiken voor elk project en elke omgeving.
Alle experiment-items slaan de commit-ID van de training en inferentiecode op, zodat we volledige traceerbaarheid van het hele experimenteerproces hebben en gemakkelijk verschillende experimenten kunnen vergelijken. Dit voorkomt dat we dubbel werk doen in de wetenschappelijke verkenningsfase voor algoritmen en modellen, en stelt ons in staat onze modellen overal in te zetten, onafhankelijk van het account en de omgeving waarin het model is getraind. Dit geldt ook voor modellen die zijn getraind in onze AWS Cloud9-experimentomgeving.
Al met al hebben we volledig geautomatiseerde modeltraining en implementatiepijplijnen en hebben we de flexibiliteit om snelle handmatige modelimplementaties uit te voeren wanneer iets niet goed werkt of wanneer een team een โโmodel nodig heeft dat in een andere omgeving wordt geรฏmplementeerd voor experimentele doeleinden.
Een gedetailleerde use-case: YET Dragon-project
Het YET Dragon-project heeft tot doel de productieprestaties van de petrochemische fabriek van Cepsa in Shanghai te verbeteren. Om dit doel te bereiken, hebben we het productieproces grondig bestudeerd, op zoek naar de minder efficiรซnte stappen. Ons doel was om de opbrengstefficiรซntie van de processen te verhogen door de componentconcentratie precies onder een drempel te houden.
Om dit proces te simuleren, hebben we vier gegeneraliseerde additieve modellen of GAM gebouwd, lineaire modellen waarvan de respons afhangt van vloeiende functies van voorspellervariabelen, om de resultaten van twee oxidatieprocessen, รฉรฉn concentratieproces en de bovengenoemde opbrengst te voorspellen. We hebben ook een optimizer gebouwd om de resultaten van de vier GAM-modellen te verwerken en de beste optimalisaties te vinden die in de fabriek kunnen worden toegepast.
Hoewel onze modellen worden getraind met historische gegevens, kan de fabriek soms werken onder omstandigheden die niet zijn geregistreerd in de trainingsgegevensset; we verwachten dat onze simulatiemodellen niet goed zullen werken onder die scenario's, dus hebben we ook twee anomaliedetectiemodellen gebouwd met behulp van Isolation Forests-algoritmen, die bepalen hoe ver de datapunten zijn ten opzichte van de rest van de gegevens om de anomalieรซn te detecteren. Deze modellen helpen ons om dergelijke situaties te detecteren om de geautomatiseerde optimalisatieprocessen uit te schakelen wanneer dit gebeurt.
Industriรซle chemische processen zijn zeer variabel en de ML-modellen moeten goed worden afgestemd op de werking van de fabriek, dus frequente herscholing is vereist, evenals traceerbaarheid van de modellen die in elke situatie worden gebruikt. MAAR Dragon was ons eerste ML-optimalisatieproject met een modelregister, volledige reproduceerbaarheid van de experimenten en een volledig beheerd geautomatiseerd trainingsproces.
Nu is de volledige pijplijn die een model in productie brengt (gegevenstransformatie, modeltraining, experiment volgen, modelregistratie en modelimplementatie) onafhankelijk voor elk ML-model. Dit stelt ons in staat om modellen iteratief te verbeteren (bijvoorbeeld door nieuwe variabelen toe te voegen of nieuwe algoritmen te testen) en om de trainings- en implementatiefasen te koppelen aan verschillende triggers.
De resultaten en toekomstige verbeteringen
We kunnen momenteel de zes ML-modellen die worden gebruikt in het YET Dragon-project automatisch trainen, implementeren en volgen, en we hebben al meer dan 30 versies voor elk van de productiemodellen geรฏmplementeerd. Deze MLOps-architectuur is uitgebreid tot honderden ML-modellen in andere projecten in het hele bedrijf.
We zijn van plan nieuwe YET-projecten te blijven lanceren op basis van deze architectuur, die de gemiddelde projectduur met 25% heeft verminderd, dankzij de kortere opstarttijd en de automatisering van ML-pijplijnen. We hebben ook geraamde besparingen van ongeveer โฌ 300,000 per jaar dankzij de toename in opbrengst en concentratie die een direct resultaat is van het YET Dragon-project.
De kortetermijnevolutie van deze MLOps-architectuur is gericht op modelmonitoring en geautomatiseerd testen. We zijn van plan om de modelefficiรซntie automatisch te testen met eerder geรฏmplementeerde modellen voordat een nieuw model wordt geรฏmplementeerd. We werken ook aan de implementatie van modelmonitoring en inferentiegegevensdriftmonitoring met Amazon SageMaker-modelmonitor, om de herscholing van modellen te automatiseren.
Conclusie
Bedrijven staan โโvoor de uitdaging om hun ML-projecten op een geautomatiseerde en efficiรซnte manier in productie te brengen. Het automatiseren van de volledige levenscyclus van het ML-model helpt de projecttijden te verkorten en zorgt voor een betere modelkwaliteit en snellere en frequentere implementaties naar productie.
Door een gestandaardiseerde MLOps-architectuur te ontwikkelen die door verschillende bedrijven in het hele bedrijf is overgenomen, konden we bij Cepsa het bootstrappen van ML-projecten versnellen en de kwaliteit van ML-modellen verbeteren, waardoor een betrouwbaar en geautomatiseerd raamwerk werd geboden waarop onze datawetenschapsteams sneller kunnen innoveren. .
Ga voor meer informatie over MLOps op SageMaker naar: Amazon SageMaker voor MLOps en bekijk andere gebruiksvoorbeelden van klanten in de AWS Blog over machine learning.
Over de auteurs
Guillermo Ribeiro Jimenez is een Sr Data Scientist bij Cepsa met een PhD. in de kernfysica. Hij heeft 6 jaar ervaring met data science projecten, voornamelijk in de telecom- en energiesector. Momenteel leidt hij datawetenschappersteams op de afdeling Digitale Transformatie van Cepsa, met een focus op het schalen en produceren van machine learning-projecten.
Guillermo Menendez Corral is Solutions Architect bij AWS Energy and Utilities. Hij heeft meer dan 15 jaar ervaring met het ontwerpen en bouwen van SW-applicaties en geeft momenteel bouwkundige begeleiding aan AWS-klanten in de energie-industrie, met een focus op analyse en machine learning.
- 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/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- hun-modellen-op-schaal/
- "
- 000
- 100
- 15 jaar
- a
- vermogen
- Over
- toegang
- Account
- Bereiken
- over
- Ad
- toegevoegd
- Voordeel
- tegen
- algoritme
- algoritmen
- Alles
- toestaat
- al
- Amazone
- te midden van
- analytics
- analyseren
- overal
- api
- APIs
- toepassingen
- toegepast
- nadering
- goedkeuren
- bouwkundig
- architectuur
- rond
- geassocieerd
- automatiseren
- geautomatiseerde
- Automatisch
- webmaster.
- automatiseren
- Automatisering
- Beschikbaar
- AWS
- omdat
- worden
- vaardigheden
- wezen
- onder
- BEST
- Blog
- bouw
- Gebouw
- bouwt
- bedrijfsdeskundigen
- ondernemingen
- geval
- gevallen
- gecentraliseerde
- zeker
- uitdagen
- uitdagingen
- chemisch
- Cloud
- code
- plegen
- Gemeen
- afstand
- compleet
- compleet
- complex
- bestanddeel
- componenten
- Berekenen
- concentratie
- Verbinden
- consumeren
- consument
- consumptie
- Containers
- containers
- Kosten
- kon
- deksel
- en je merk te creรซren
- creรซert
- het aanmaken
- Op dit moment
- gewoonte
- klant
- Klanten
- gegevens
- data science
- data scientist
- beslist
- beslissingen
- Afhankelijk
- afhankelijk
- implementeren
- ingezet
- inzet
- implementaties
- ontworpen
- ontwerpen
- gedetailleerd
- gedetecteerd
- Opsporing
- Bepalen
- ontwikkelaars
- het ontwikkelen van
- anders
- digitaal
- Digitale Transformatie
- directe
- bespreken
- Draak
- elk
- gemakkelijk
- doeltreffendheid
- doeltreffend
- opkomende
- maakt
- Endpoint
- energie-niveau
- Motor
- Ingenieurs
- Milieu
- uitrusting
- geschat
- Event
- Evolutie
- precies
- voorbeeld
- verwachten
- ervaring
- experiment
- exploratie
- naar
- SNELLE
- sneller
- Kenmerk
- uitgelicht
- Tot slot
- Voornaam*
- Flexibiliteit
- flexibel
- Focus
- volgend
- Achtergrond
- oppompen van
- vol
- functies
- toekomst
- Gates
- Algemeen
- Git
- GitHub
- Globaal
- doel
- handvat
- met
- hulp
- helpt
- zeer
- historisch
- houdt
- gehost
- Hosting
- Hoe
- HTTPS
- Honderden
- afbeeldingen
- uitvoering
- geรฏmplementeerd
- verbeteren
- verbetering
- het verbeteren van
- Anders
- omvatten
- Laat uw omzet
- onafhankelijk
- onafhankelijk
- industrieel
- -industrie
- informatie
- op de hoogte
- Infrastructuur
- Innovatie
- invoer
- geรฏntegreerde
- interactieve
- de invoering
- isolatie
- problemen
- IT
- Houden
- houden
- sleutel
- lancering
- leidend
- leren
- Bibliotheek
- lijnen
- plaats
- op zoek
- machine
- machine learning
- gemaakt
- onderhouden
- onderhoud
- maken
- MERKEN
- beheer
- beheerd
- beheren
- manier
- handboek
- handmatig
- middel
- Metriek
- ML
- model
- modellen
- monitor
- Grensverkeer
- meer
- meest
- meervoudig
- behoeften
- besturen
- operatie
- optimalisatie
- Opties
- bestellen
- organisatie
- Overige
- het te bezitten.
- eigenaren
- Voorbijgaand
- prestatie
- uitvoerend
- fase
- Fysica
- punten
- voorspellen
- problemen
- processen
- producent
- productie
- project
- projecten
- mits
- biedt
- het verstrekken van
- publiceren
- doel
- doeleinden
- geduwd
- kwaliteit
- real-time
- verminderen
- registreren
- geregistreerd
- betrouwbaar
- bewaarplaats
- nodig
- Voorwaarden
- antwoord
- verantwoordelijkheden
- REST
- verkregen
- Resultaten
- lopen
- lopend
- Scale
- scaling
- Wetenschap
- Wetenschapper
- wetenschappers
- beveiligen
- -Series
- Serverless
- service
- Diensten
- reeks
- Sjanghai
- Delen
- korte termijn
- Eenvoudig
- simulatie
- single
- situatie
- ZES
- So
- oplossing
- Oplossingen
- sommige
- iets
- specifiek
- snelheid
- stadia
- standaard
- gestart
- mediaopslag
- shop
- gestroomlijnd
- Met goed gevolg
- system
- doelwit
- team
- teams
- Telecom
- proef
- Testen
- De
- De Bron
- daarom
- grondig
- drempel
- Door
- niet de tijd of
- keer
- in de richting van
- Traceerbaarheid
- spoor
- Tracking
- Trainingen
- Transformatie
- transformaties
- overgang
- voor
- us
- .
- doorgaans
- utilities
- waarde
- versie
- goed gedefinieerd
- en
- zonder
- Mijn werk
- workflows
- werkzaam
- wereld
- het schrijven van
- jaar
- jaar
- Opbrengst