MLOps: DevOps in de wereld van machine learning

In 2018 verscheen het concept van MLOps in professionele kringen en op thematische conferenties gewijd aan AI, dat snel ingang vond in de industrie en zich nu ontwikkelt als een onafhankelijke richting. In de toekomst kunnen MLOps een van de meest populaire gebieden in de IT worden. Wat is het en waarmee wordt het gegeten, laten we het hieronder bekijken.

MLOps: DevOps in de wereld van machine learning

Wat is MLOps

MLOps (het combineren van machine learning-technologieën en -processen en benaderingen voor het implementeren van ontwikkelde modellen in bedrijfsprocessen) is een nieuwe manier van samenwerking tussen bedrijfsvertegenwoordigers, wetenschappers, wiskundigen, machine learning-specialisten en IT-ingenieurs bij het creëren van kunstmatige intelligentiesystemen.

Met andere woorden: het is een manier om methoden en technologieën voor machinaal leren om te zetten in een nuttig hulpmiddel voor het oplossen van zakelijke problemen. 

Het is noodzakelijk om te begrijpen dat de productiviteitsketen lang vóór de ontwikkeling van het model begint. De eerste stap is het definiëren van een zakelijk probleem, een hypothese over de waarde die uit de gegevens kan worden gehaald, en een zakelijk idee om deze toe te passen. 

Het concept van MLOps ontstond als een analogie met het concept van DevOps in relatie tot machine learning-modellen en -technologieën. DevOps is een benadering van softwareontwikkeling waarmee u de snelheid van de implementatie van individuele wijzigingen kunt verhogen terwijl u de flexibiliteit en betrouwbaarheid behoudt met behulp van een aantal benaderingen, waaronder continue ontwikkeling, verdeling van functies in een aantal onafhankelijke microservices, geautomatiseerd testen en de implementatie van individuele veranderingen, wereldwijde gezondheidsmonitoring, een systeem voor snelle respons op gedetecteerde fouten, enz. 

DevOps heeft de levenscyclus van software gedefinieerd en de community is op het idee gekomen om dezelfde methodologie toe te passen op big data. DataOps is een poging om de methodologie aan te passen en uit te breiden, rekening houdend met de kenmerken van het opslaan, verzenden en verwerken van grote hoeveelheden gegevens op diverse en interoperabele platforms.
  
Met de komst van een bepaalde kritische massa aan machine learning-modellen die in de bedrijfsprocessen van ondernemingen zijn geïmplementeerd, werd een sterke gelijkenis opgemerkt tussen de levenscyclus van wiskundige machine learning-modellen en de softwarelevenscyclus. Het enige verschil is dat de modelalgoritmen worden gemaakt met behulp van machine learning-tools en -methoden. Daarom ontstond vanzelfsprekend het idee om reeds bekende benaderingen van softwareontwikkeling voor machine learning-modellen toe te passen en aan te passen. Er kunnen dus de volgende belangrijke fasen worden onderscheiden in de levenscyclus van machine learning-modellen:

  • het definiëren van een bedrijfsidee;
  • modeltraining;
  • testen en implementatie van het model in het bedrijfsproces;
  • werking van het model.

Wanneer tijdens de werking het model moet worden gewijzigd of opnieuw moet worden getraind op basis van nieuwe gegevens, begint de cyclus opnieuw: het model wordt verfijnd, getest en er wordt een nieuwe versie geïmplementeerd.

Toevluchtsoord. Waarom omscholen en niet omscholen? De term ‘modelherscholing’ heeft een dubbele betekenis: onder experts betekent het een modeldefect, wanneer het model goed voorspelt, feitelijk de voorspelde parameter herhaalt op de trainingsset, maar veel slechter presteert op de externe gegevenssteekproef. Uiteraard is een dergelijk model een defect, omdat dit defect het gebruik ervan niet toestaat.

In deze levenscyclus lijkt het logisch om DevOps-tools in te zetten: geautomatiseerd testen, inzetten en monitoren, modelberekeningen ontwerpen in de vorm van losse microservices. Maar er zijn ook een aantal functies die het directe gebruik van deze tools verhinderen zonder extra ML-binding.

MLOps: DevOps in de wereld van machine learning

Hoe u modellen kunt laten werken en winstgevend kunt maken

Als voorbeeld waarin we het gebruik van de MLOps-aanpak zullen demonstreren, zullen we de klassieke taak nemen van het robotiseren van chatondersteuning voor een bankproduct (of een ander) product. Normaal gesproken ziet een bedrijfsproces voor chatondersteuning er als volgt uit: een klant typt een bericht met een vraag in een chat en ontvangt een reactie van een specialist binnen een vooraf gedefinieerde dialoogboom. De taak van het automatiseren van zo’n chat wordt meestal opgelost met behulp van vakkundig gedefinieerde sets regels, die zeer arbeidsintensief zijn om te ontwikkelen en te onderhouden. De efficiëntie van een dergelijke automatisering kan, afhankelijk van de complexiteit van de taak, 20-30% bedragen. Uiteraard ontstaat het idee dat het winstgevender is om een ​​kunstmatige-intelligentiemodule te implementeren - een model ontwikkeld met behulp van machinaal leren, dat:

  • kan een groter aantal verzoeken verwerken zonder tussenkomst van een operator (afhankelijk van het onderwerp kan de efficiëntie in sommige gevallen 70-80% bereiken);
  • past zich beter aan aan niet-standaard bewoordingen in dialoog - kan op basis van een niet duidelijk geformuleerd verzoek de intentie, de werkelijke wens van de gebruiker vaststellen;
  • weet te bepalen wanneer het antwoord van het model adequaat is, en wanneer er twijfel bestaat over het “bewustzijn” van dit antwoord en je een aanvullende verhelderende vraag moet stellen of moet overstappen naar de operator;
  • kan bovendien automatisch worden getraind (in plaats van dat een groep ontwikkelaars voortdurend responsscripts aanpast en corrigeert, wordt het model bovendien getraind door een Data Science-specialist met behulp van de juiste machine learning-bibliotheken). 

MLOps: DevOps in de wereld van machine learning

Hoe zorg je ervoor dat zo’n geavanceerd model werkt? 

Net als bij het oplossen van elk ander probleem, is het noodzakelijk om, voordat een dergelijke module wordt ontwikkeld, een bedrijfsproces te definiëren en de specifieke taak die we gaan oplossen formeel te beschrijven met behulp van de machine learning-methode. Op dit punt begint het proces van operationalisering, aangeduid met het acroniem Ops. 

De volgende stap is dat de Data Scientist, in samenwerking met de Data Engineer, de beschikbaarheid en toereikendheid van gegevens en de bedrijfshypothese over de levensvatbaarheid van het bedrijfsidee controleert, een prototypemodel ontwikkelt en de daadwerkelijke effectiviteit ervan test. Pas na bevestiging door de business kan de transitie beginnen van het ontwikkelen van een model naar het integreren ervan in systemen die een specifiek bedrijfsproces uitvoeren. End-to-end implementatieplanning, een diepgaand begrip in elke fase van hoe het model zal worden gebruikt en welk economisch effect het zal opleveren, is een fundamenteel punt in de processen van het introduceren van MLOps-benaderingen in het technologische landschap van het bedrijf.

Met de ontwikkeling van AI-technologieën neemt het aantal en de verscheidenheid aan problemen die kunnen worden opgelost met behulp van machine learning exponentieel toe. Elk dergelijk bedrijfsproces is een besparing voor het bedrijf vanwege de automatisering van het werk van werknemers op massaposities (callcenter, documenten controleren en sorteren, enz.), Het is een uitbreiding van het klantenbestand door nieuwe aantrekkelijke en handige functies toe te voegen , het bespaart geld dankzij het optimale gebruik en de herverdeling van hulpbronnen en nog veel meer. Uiteindelijk is elk proces gericht op het creëren van waarde en moet het als gevolg daarvan een bepaald economisch effect opleveren. Hier is het erg belangrijk om het bedrijfsidee duidelijk te formuleren en de verwachte winst te berekenen uit de implementatie van het model in de algehele waardecreatiestructuur van het bedrijf. Er zijn situaties waarin de implementatie van een model zichzelf niet rechtvaardigt, en de tijd die specialisten op het gebied van machine learning besteden, is veel duurder dan de werkplek van de operator die deze taak uitvoert. Daarom is het noodzakelijk om te proberen dergelijke gevallen te identificeren in de vroege stadia van het creëren van AI-systemen.

Bijgevolg beginnen modellen pas winst te genereren als het bedrijfsprobleem correct is geformuleerd in het MLOps-proces, de prioriteiten zijn gesteld en het proces van het introduceren van het model in het systeem in de vroege ontwikkelingsfasen is geformuleerd.

Nieuw proces - nieuwe uitdagingen

Als alomvattend antwoord op de fundamentele zakelijke vraag over hoe toepasbaar ML-modellen zijn voor het oplossen van problemen, is de algemene kwestie van vertrouwen in AI een van de belangrijkste uitdagingen in het proces van het ontwikkelen en implementeren van MLOps-benaderingen. Aanvankelijk staan ​​bedrijven sceptisch tegenover de introductie van machinaal leren in processen - het is moeilijk om te vertrouwen op modellen op plaatsen waar voorheen in de regel mensen werkten. Voor het bedrijfsleven lijken programma’s een ‘black box’, waarvan de relevantie nog moet worden bewezen. Bovendien gelden er in het bankwezen, in de activiteiten van telecomoperatoren en anderen strenge eisen van overheidstoezichthouders. Alle systemen en algoritmen die in bankprocessen worden geïmplementeerd, zijn onderworpen aan audits. Om dit probleem op te lossen, om aan het bedrijfsleven en de toezichthouders de geldigheid en juistheid van de reacties op kunstmatige intelligentie te bewijzen, worden samen met het model monitoringinstrumenten geïntroduceerd. Daarnaast is er een onafhankelijke validatieprocedure, verplicht voor reguleringsmodellen, die voldoet aan de eisen van de Centrale Bank. Een onafhankelijke deskundigengroep controleert de door het model verkregen resultaten, rekening houdend met de invoergegevens.

De tweede uitdaging is het beoordelen en in aanmerking nemen van modelrisico's bij de implementatie van een machine learning-model. Zelfs als iemand de vraag niet met honderd procent zekerheid kan beantwoorden of diezelfde jurk wit of blauw was, heeft kunstmatige intelligentie ook het recht om een ​​fout te maken. Het is ook de moeite waard om te bedenken dat gegevens in de loop van de tijd kunnen veranderen en dat modellen opnieuw moeten worden getraind om een ​​voldoende nauwkeurig resultaat te verkrijgen. Om ervoor te zorgen dat het bedrijfsproces er niet onder lijdt, is het noodzakelijk om modelrisico's te beheersen en de prestaties van het model te monitoren, door het regelmatig te herscholen op basis van nieuwe gegevens.

MLOps: DevOps in de wereld van machine learning

Maar na de eerste fase van wantrouwen begint het tegenovergestelde effect zichtbaar te worden. Hoe meer modellen met succes in processen worden geïmplementeerd, hoe meer de belangstelling van bedrijven voor het gebruik van kunstmatige intelligentie groeit - er worden steeds nieuwe problemen gevonden die kunnen worden opgelost met behulp van machine learning-methoden. Elke taak brengt een heel proces in gang dat bepaalde competenties vereist:

  • data-ingenieurs bereiden en verwerken gegevens;
  • datawetenschappers gebruiken machine learning-tools en ontwikkelen een model;
  • IT implementeert het model in het systeem;
  • De ML-ingenieur bepaalt hoe dit model correct in het proces kan worden geïntegreerd, welke IT-tools moeten worden gebruikt, afhankelijk van de vereisten voor de toepassingsmodus van het model, rekening houdend met de stroom van verzoeken, responstijd, enz. 
  • Een ML-architect ontwerpt hoe een softwareproduct fysiek kan worden geïmplementeerd in een industrieel systeem.

Voor de hele cyclus is een groot aantal hooggekwalificeerde specialisten nodig. Op een bepaald punt in de ontwikkeling en mate van penetratie van ML-modellen in bedrijfsprocessen blijkt dat het lineair opschalen van het aantal specialisten in verhouding tot de toename van het aantal taken duur en ineffectief wordt. Daarom rijst de vraag hoe het MLOps-proces moet worden geautomatiseerd: het definiëren van verschillende standaardklassen van machine learning-problemen, het ontwikkelen van standaard dataverwerkingspijplijnen en aanvullende training van modellen. In een ideaalbeeld vereist het oplossen van dergelijke problemen professionals die even bedreven zijn in competenties op het snijvlak van Big Data, Data Science, DevOps en IT. Daarom is het grootste probleem in de Data Science-industrie en de grootste uitdaging bij het organiseren van MLOps-processen het gebrek aan dergelijke competentie in de bestaande trainingsmarkt. Specialisten die aan deze eisen voldoen zijn momenteel schaars op de arbeidsmarkt en zijn goud waard.

Over de kwestie van competenties

In theorie kunnen alle MLOps-taken worden opgelost met behulp van klassieke DevOps-tools en zonder toevlucht te nemen tot een gespecialiseerde uitbreiding van het rolmodel. Vervolgens moet een datawetenschapper, zoals we hierboven opmerkten, niet alleen een wiskundige en data-analist zijn, maar ook een goeroe van de hele pijplijn - hij is verantwoordelijk voor het ontwikkelen van de architectuur, het programmeren van modellen in verschillende talen, afhankelijk van de architectuur, het voorbereiden een datamart en implementeer de applicatie zelf. Het creëren van het technologische raamwerk dat in het end-to-end MLOps-proces wordt geïmplementeerd, neemt echter tot 80% van de arbeidskosten in beslag, wat betekent dat een gekwalificeerde wiskundige, die een hoogwaardige datawetenschapper is, slechts 20% van zijn tijd aan zijn specialiteit zal besteden. . Daarom wordt het van cruciaal belang om de rollen af ​​te bakenen van specialisten die betrokken zijn bij het implementeren van machine learning-modellen. 

Hoe gedetailleerd de rollen moeten worden afgebakend, hangt af van de omvang van de onderneming. Het is één ding als een startup één specialist heeft, een harde werker in de energiereserve, die zijn eigen engineer, architect en DevOps is. Het is een heel andere zaak wanneer in een grote onderneming alle modelontwikkelingsprocessen geconcentreerd zijn bij een paar Data Science-specialisten van hoog niveau, terwijl een programmeur of databasespecialist – een meer gebruikelijke en goedkopere competentie op de arbeidsmarkt – op het grootste deel van het werk routinematige taken.

De snelheid en kwaliteit van de ontwikkelde modellen, de productiviteit van het team en het microklimaat daarin hangen dus direct af van waar de grens ligt in de selectie van specialisten om het MLOps-proces te ondersteunen en hoe het proces van operationalisering van de ontwikkelde modellen is georganiseerd. .

Wat ons team al heeft gedaan

We zijn onlangs begonnen met het bouwen van een competentiestructuur en MLOps-processen. Maar onze projecten op het gebied van modellevenscyclusbeheer en het gebruik van modellen als een service bevinden zich al in de MVP-testfase.

Ook bepaalden we de optimale competentiestructuur voor een grote onderneming en de organisatiestructuur van de interactie tussen alle deelnemers aan het proces. Er werden agile teams georganiseerd om problemen voor het hele scala aan zakelijke klanten op te lossen, en er werd een proces van interactie met projectteams opgezet om platforms en infrastructuur te creëren, wat de basis vormt van het MLOps-gebouw in aanbouw.

Vragen voor de toekomst

MLOps is een groeiend gebied dat een tekort aan competenties ervaart en in de toekomst aan kracht zal winnen. In de tussentijd kun je het beste voortbouwen op de ontwikkelingen en praktijken van DevOps. Het belangrijkste doel van MLOps is om ML-modellen effectiever te gebruiken om bedrijfsproblemen op te lossen. Maar dit roept veel vragen op:

  • Hoe kan de tijd voor het lanceren van modellen in productie worden verkort?
  • Hoe kunnen we de bureaucratische wrijving tussen teams met verschillende competenties verminderen en de focus op samenwerking vergroten?
  • Hoe modellen volgen, versies beheren en effectieve monitoring organiseren?
  • Hoe creëer je een echt circulaire levenscyclus voor een modern ML-model?
  • Hoe kan het machine learning-proces worden gestandaardiseerd?

De antwoorden op deze vragen zullen grotendeels bepalen hoe snel MLOps zijn volledige potentieel zullen bereiken.

Bron: www.habr.com

Voeg een reactie