16 december 2016

The Model Factory

Binnen het veld van data science, de verzamelnaam voor big data en analytics, is het ontwikkelen van modellen steeds vaker gemeengoed. Denk bijvoorbeeld aan modellen waarmee voorspellingen kunnen worden gedaan, of modellen waarmee bepaalde inzichten kunnen worden weergegeven. Er zijn steeds meer tools waarmee dit soort modellen uit data kunnen worden herleid. Niet alleen kant-en-klare omgevingen, zoals KNIME, RapidMiner en Alteryx, maar ook aantal laagdrempelige machine learning-libraries in bekende programmeertalen (bijv. R of Python) neemt toe.

Hierdoor kunnen ook steeds meer ontwikkelaars aan de slag. Dit is prima voor proof-of-concepts, maar een risico voor toepassingen in productie omgevingen. Slechts een klein percentage van deze mensen doorgrondt het kennisgebied en kan de stabiliteit en betrouwbaarheid van de gemaakte modellen garanderen. Dit kan tot gevaren leiden als de modellen gebruikt worden voor het doen van voorspellingen, voeden van campagnes of ondersteunen van beslissingen. Dan moeten de modellen gedegen, stabiel en betrouwbaar zijn.

Model Factory

Voor dit probleem heeft KPN een methodiek & oplossing ontwikkeld: de Model Factory. Naar analogie van het concept van Software Factories, kunnen organisaties hun modellen die zij uit hun data afleiden op een gedegen manier ontwikkelen en beheren. In de wereld van professionele software engineering wordt reeds veelvuldig gebruik gemaakt van versiebeheer, code repositories, automatic builds, ontwikkelstraten en afgestemde processen. Dit was niet altijd zo, maar is ontstaan om de effecten van ongecontroleerde development te voorkomen. De methodiek van KPN past ditzelfde concept toe in de wereld van data analytics en modelling.

Modellen worden opgeslagen in een model-repository dat zorg draagt voor versiebeheer en samenwerking. Met behulp van deze repository kan het effect van de modellen op diverse datasets worden getest. Dit gebeurt automatisch voordat een model in productie genomen wordt.

De uitkomsten van ieder model (bijvoorbeeld een classificatie resultaat zoals een klantsegment, of een voorspelling van een waarde, zoals een churn score, of klanttevredenheid) worden opgeslagen in een database. Zo kan de kwaliteit van verschillende actuele of historische modellen bekeken en vergeleken worden. Met behulp van de database hebben andere systemen of mensen die de modellen gebruiken (in bv. een campagne of call center) makkelijk toegang tot de resultaten, ook via een dashboard. De Model Factory zorgt dus dat organisaties voorbereid zijn om te allen tijde het juiste model paraat te hebben.

Dit geldt niet alleen voor de actuele modellen, maar ook voor oudere versies. De scores, resultaten en de modellen zelf blijven bewaard. Dit is prettig voor situaties waar bijvoorbeeld bewijslast een rol speelt. Als in 2018 de EU wet General Data Protection Regulation (GDPR) van kracht wordt is een repository van modellen, cruciaal om aan te kunnen tonen hoe een data-gedreven beslissing is genomen.

Kortom, De aanpak van de Model Factory is randvoorwaardelijk voor succesvolle uitrol van modellen in productie omgevingen.

In de praktijk blijkt echter dat modellen onvoldoende goed worden getest, dat er nauwelijks wordt samengewerkt aan de totstandkoming ervan, en dat er onvoldoende aandacht is voor versiebeheer op de gebruikte modellen.

Gids in Data

KPN heeft de methodiek van de Model Factory opgenomen in haar datamanagement dienstverlening ‘Gids in Data’. In de overgang van een pilot situatie naar een productie-rijpe omgeving bieden we ondersteuning om de methode in te voeren in de klantorganisatie. Ook stellen we een set aan R & Python modules beschikbaar in de vorm van een open-source library. Zo kunnen analisten en programmeurs de tooling naar eigen inzicht uitbreiden en verbeteren.

De library maakt gebruik van andere open source componenten; GIT wordt gebruikt om het versiebeheer te regelen. Jenkins wordt gebruikt om op intervalbasis modellen te destilleren uit datasets en om report te genereren, en de resultaten worden automatische opgeslagen in een willekeurige database.

Gids-in-data

De Model Factory is flexibel genoeg om ingericht te worden in nagenoeg alle infrastructuren. Een out-of-the-box installatie om te proberen op je laptop kan door middel van een Docker Image waarbinnen alle benodigde software en services standaard op geïnstalleerd staan.

Expertise bij elkaar

Met de Model Factory leveren we een methodiek en tooling die de expertise domeinen van data engineering en software engineering bij elkaar brengt. Waar in de wereld van software engineering al lang gebruik gemaakt wordt van version control, repositories, release management, en automatic (nightly) builds, wordt dit in de wereld van analytic modelling ook steeds meer een ‘common way of working’. Dit is randvoorwaardelijk om als organisatie te kunnen vertrouwen op goede modellen.

De methodiek van de Model Factory is nodig om als organisatie te kunnen vertrouwen op gedegen predictiemodellen. In een data-gedreven organisatie vormen zij de kern van de bedrijfsvoering.

Overigens is het beheren van modellen binnen een organisatie nog maar het begin. Met behulp van repositories ontstaat tevens de mogelijkheid om te kunnen handelen in modellen. Wanneer in de nabij toekomst data overvloedig is, zal de business verschuiven van data naar modellen.

Open source

Voor meer info over de Model Factory, verwijzen we naar de open source packages:
- Model Factory Py
- Model Factory R

Of neem contact met ons op.


Over Wico Mulder

Wico is Data management Consultant bij KPN Consulting met een brede achtergrond in techniek en wetenschap. "Data is aanjager voor veranderingen in onze maatschappij. Eenmaal geinterpreteerd tot waardevolle informatie, biedt data inzicht en nieuwe kansen voor organisaties. Dit gaat gepaard met nieuwe technologie en slimme computer systemen." Vanuit zijn brede interesse en jarenlange ervaring in de ICT helpt Wico organisaties met het toepassen van nieuwe concepten en praktische realisaties.

- Auteur: Wico Mulder


Gerelateerde artikelen