Als enthousiaste ‘Gopher’, voortrekker in de Europese Go-community, én met haar ervaring in het toepassen van machinelearning-modellen is Natalie Pistunovich een veelgevraagde spreker. Op donderdag 13 februari verzorgt zij tijdens de Developers Summit een talk over infrastructuur en machinelearning.
Developers die de komende jaren niet om werk verlegen willen zitten, doen er goed aan naar machinelearning (ML) te kijken. Zeker met de komst van TensorFlow 2.0, de nieuwste versie van Googles end-to-end opensource-platform voor ML, wordt het interessant. Het platform met bijbehorende tools en libraries maakt geavanceerde ML-toepassingen mogelijk. En voor developers wordt het iets gemakkelijker gemaakt om applicaties te bouwen en te deployen. Dat was nodig, want TensorFlow stond tot dusver niet bekend om een gemakkelijke leercurve.
Het is een van de redenen waarom er momenteel vanuit de developer-community veel aandacht is voor ML. Maar er komt natuurlijk meer kijken bij ML dan Google-tooling. Tijdens de Developers Summit, op 13 februari in Utrecht, geeft Natalie Pistunovich, Google Developer Expert voor Go en developer advocate bij Aerospike, een talk over de infrastructuurkant van ML en het voorbereiden daarvan voor training, zowel realtime als offline.
Fan van Berlijn
Sinds zeven jaar woont Pistunovich vooral in Berlijn, na computer engineering te hebben gestudeerd in het Israëlische Haifa (Technion - Israel Institute of Technology). "Ik wilde een andere cultuur beleven. De startupcultuur in Israël is vergelijkbaar met die in de Verenigde Staten. Europa is juist meer gericht op het vinden van balans tussen werken en leven. Ik moet zeggen: ik ben fan van Berlijn geworden. Ik hou van het koudere weer en de stad heeft een goede mix tussen technologie en een hart en een ziel. Of je nu op zoek bent naar een metalconcert, klassieke muziek of kunst, je vindt het hier allemaal. En ik zou nog een miljoen andere dingen kunnen noemen."
Sowieso is de focus van deze Developers Summit-spreekster erg internationaal. Zo verbleef ze in 2015 ook al een periode in Kenia. Als co-founder en ontwikkelaar van een app voor M-commerce in opkomende economieën besloot ze te gaan werken en wonen in een land waar de doelgroep van de app zich ook bevond. “Het beste is toch om dichtbij de gebruikers te zijn en hen je app te zien gebruiken. Nairobi heeft een bloeiende community met veel co-workspaces, start-ups en developers die met name zijn gericht op mobiele apps. ‘Silicon Savannah’, zo staat de regio daar bekend.”
Go: eenvoud en snelheid als uitgangspunt
Met haar verhuizing naar Berlijn maakte Pistunovich ook de switch naar Go. Binnen ML, bijvoorbeeld bij TensorFlow, is Python de meest populaire taal, maar er zijn ook goede argumenten om Go te gebruiken. “Het is ontwikkeld met parallelprogrammeren in gedachte, wat het heel snel maakt. Het is ook intuïtief, een van de basisprincipes is simpliciteit. Het gaat niet om het schrijven van code die er cool uitziet, maar om eenvoud, zodat iedereen hem kan lezen en begrijpen. Daarnaast is er de community, die echt fantastisch is. ‘Awareness’ is hier belangrijk, en de houding naar nieuwkomers is open.”
Naast haar werk als Developer Advocate voor Aerospike, een bedrijf dat hyperscale-data-oplossingen bouwt, organiseert Pistunovich conferenties. Zoals Cloud Nein, dat gericht is op onder meer infrastructuur en DevOps, en GopherCon Europe, een event voor de Europese Go-community. Ook geeft ze al zes jaar leiding aan de lokale Go User Group in haar woonplaats en leidt ze een initiatief om diversiteit in de techsector te stimuleren, Google's Women Techmakers Berlin. Eerder bouwde ze aan ML- en AI-oplossingen voor onder meer Fraugster (fraudedetectie bij online betalingen) en GrayMeta, dat metadata-tooling maakt voor mediabedrijven.
Groeiende vraag naar machinelearning in productie
Bij de laatste opdrachtgever werd de basis gelegd voor enkele van de inzichten die Pistunovich tijdens de Summit in Utrecht zal delen. “We werkten onder anderen voor grote mediabedrijven. De uitdaging was om miljoenen mediabestanden gemakkelijk doorzoekbaar te maken. Ze wilden bijvoorbeeld personen kunnen herkennen, maar er was nog geen software die in staat was een persoon in alle beelden te taggen. Ik zat in het team dat zich op deze oplossing concentreerde, we huurden een team van developers en datascientists in, en dat is hoe ik in ML-training ben gedoken.”
Wie de tv-serie ‘Silicon Valley’ heeft gekeken, weet hoe lastig het trainen van een AI kan zijn. Neem bijvoorbeeld de ‘Hotdog’-episode, waarin een van de hoofdpersonen een app heeft ontwikkeld voor het herkennen van voedsel die vervolgens alleen maar in staat blijkt om hotdogs te herkennen. TensorFlow 2.0 moet zaken zoals het classificeren van beelden eenvoudiger maken.
Offline training is populairst
Volgens Pistunovich is het belangrijk om duidelijk onderscheid te maken tussen realtime en offline training. “Met offline training heb je de tijd om je model te verbeteren en hoef je je niet te concentreren op de snelheid van de modeltraining en omscholing. Bij de overgrote meerderheid van de use cases die ik tegenkom kiest men voor offline training. Wanneer je realtime training wil volgen, is er TensorFlow. Sinds de komst van het platform, vijf jaar geleden, is het de go-to-optie voor developers. Er is alleen nog niet veel aandacht besteed aan infrastructuur. Wel was er al een API voor Go, en wat me aanspreekt in de nieuwe versie is de integratietool Keras.”
Developers die zich willen verdiepen in ML raadt Pistunovich aan te beginnen met de tutorials die online op verschillende plekken zijn te vinden. “De meest basale gaan over het herkennen van nummers en bloemen.” Een misschien nog wel belangrijker advies is om vrede te krijgen met het feit dat je misschien niet alles zelf vanaf de grond af kunt opbouwen. “Als developer richt je je op het onderhouden en omscholen van het bestaande model. Als je op zoek bent naar een baan in dit werkveld: die zijn er genoeg.”
Opkomende tech is leuker
In Utrecht zal Pistunovich voor het eerst de infrastructuurkant van ML in een presentatie belichten. Daarvoor was ze al een regelmatige spreker op tech-events, waarbij ze onder meer over TensorFlow sprak. Deze presentaties zijn te vinden op haar Github-pagina. “Het probleem dat je wil oplossen moet leidend zijn voor de infrastructuurkeuze. Afhankelijk van de use case maak je die. Of dit een onderschat probleem is? Misschien wel. Er zijn nog maar weinig realtime ML-projecten die echt in productie zijn. Zeker als je het vergelijkt met bijvoorbeeld de advertising industrie waar al een grootschalige infrastructuur is en iedereen de best practices kent. Infrastructuur voor machinelearning krijgt steeds meer focus. Dat maakt het spannend om ermee te werken.”
Meer weten over infrastructuuroverwegingen bij machinelearning en de talk van Natalie Pistunovich bijwonen tijdens de Developers Summit?