Door Tweakers Events

Natalie Pistunovich: “Zonder infrastructuur geen machinelearning”

23-01-2020 • 08:00

10

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.

devDevelopers 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?

Koop je ticket

meer-informatie-transparant

Reacties (10)

10
10
9
3
0
1
Wijzig sortering

Sorteer op:

Weergave:

Toevallig gisteren gewerkt aan een installatie die op basis van camera beelden de gezichten van twee voorbijgangers vergelijkt en beoordeelt op ethniciteit, schoonheid, leeftijd, geslacht en gezichtsuitdrukking. Eén is de winnaar, één is de verliezer.

Het hele ding is bewust nogal dubieus en karikaturaal. Op basis van de 5 factoren wordt een "employability score" gemaakt. Het algoritme telt simpelweg wat dingen bij elkaar op:
+ Schoonheid. Een getal tussen 1 en 5 dat recht uit het algoritme komt rollen.
+ Etniciteit. Arabisch scoort een 0, blank scoort een 10, indiaas en chinees scoren een 7, zwart een 6.
+ Gender: Man scoort een 10, vrouw een 6.
+ Leeftijd: tussen de 20 en de 40 scoort je 10 punten. Tussen de 40 en 50 scoor je 6 punten. Tussen de 50 en 60 slechts 2 punten. Daarbuiten 0 punten.
+ Gezichtsuitdrukking. Blij: 10 punten. Boos en droevig: 0 punten. Neutraal 6 punten.

Nu kun je denken: getver. Maar de realiteit is dat soortgelijke systemen steeds vaker een rol spelen als je ergens solliciteert. AirBNB heeft een algoritme dat probeert te bepalen of je geen narcist of psychopaat bent, want dan weren ze je liever.. Unilever doet iets soortgelijks. En dan hebben we het nog niet eens over Cambridge Analytica en China.

Voor de nieuwsgierigen: deze dubieuze installatie is vanmiddag uit te proberen in Het Nieuwe Instituut in Rotterdam. Het ding is deel van de conferentie Unfreezing Freedom waar ethische vraagstukken rondom ML worden besproken (uitverkocht). Specifiek de manieren waarop ML algoritmes mensen op dubieuze, ontransparante wijze beoordelen.

Het punt van dit hele verhaal: ik hoop dat de vraagstukken rondom ML ook behandeld worden. De bovengenoemde creatie is samengesteld op basis van op Github beschikbare code en modellen. Maar veel partijen plakken op precies dezelfde manier wat API's en algoritmes aan elkaar, zonder kritisch te kijken naar hoe dingen van binnen opereren. ML is tof, maar kan ook voor veel ellende zorgen. Niet voor niets roept zelfs Google op tot regulering.

Hulde voor het selecteren van een vrouw als spreker trouwens.

[Reactie gewijzigd door unfold op 22 juli 2024 18:43]

Mooi dat wij zo'n kritiek hebben op China's Social System, terwijl de Westerse wereld doorspekt is met labels plakken, hokjes plaatsen en stereotyperen. Walgelijk als wij (gaan) worden behandeld als nummers of stukken software met wat specificaties. Ik mag hopen dat de managers die dat verzinnen om mensen aan te nemen, in het algoritme zo snel mogelijk als nutteloos gezien worden.
Managers doen precies hetzelfde als het algoritme maar dan zonder machine learning. C.V. met een Arabische naam? Je krijgt stukken minder uitnodigingen tot een tweede gesprek. Stop je er een foto bij en ben voldoe je niet aan de voorkeuren van de manager? Dan maakt de rest van je C.V. ook niet meer zo veel uit.

Bullshit? Nope: dit soort discrimatie is al tientallen jaren aan de orde. Even een snelle zoektocht op het onderwerp buitenlandse achternaam geeft je al één of meerdere artikelen en dat is alleen nog maar de afgelopen tien jaar: 2018, 2017, 2016, 2013

Het enige verschil is dat een manager nu een ML algoritme aan de slag zet zodat die zich geen eens meer hoeft te vermoeien met al die anders uitziende mensen. |:(
Speciaal hulde? Dat is niet erg egalitair.
Hulde omdat zij op basis van het eigen camerasysteem direct 4 punten achter loopt op een man :)
Dit soort systemen zijn gewoon 21 eeuwse David-sterren. Arabisch is trouwens geen etniciteit, maar een taal. Oorspronkelijke sprekers vallen etnisch in de categorie Semieten.

Kanttekening is wel dat we voor aliens (neutraal) er allemaal hetzelfde uitzien. Ik houdt niet zo van hokjes.
Maar je maakt wel aparte hokjes voor aliens en niet-aliens... :)
Voor wie een leuke en korte introductie wil tot het trainen en toepassen van een eigen ML-model kan kijken naar de Teachable Machine van Google samen met de ml5.js library.
Wij van wc-eend adviseren wc-eend: "Sinds de komst van het platform, vijf jaar geleden, is het de go-to-optie voor developers"
Hier zijn de meningen enorm sterk over verdeeld en ik zie juist veel meer developers switchen naar en starten met PyTorch.
Dat klopt deels.
In de academische wereld is pytorch tensorflow in 2 jaar tijd voorbij in populariteit: meer dan 50% van de recente papers op ML conferenties maakt gebruik van pytorch.

Het verhaal is anders als je kijkt naar het bedrijfsleven: daar is tensorflow koning. Dit verklaart zich deels door industrie die achterloopt op research, maar dit is ook te wijten aan het feit dat tensorflow sterker is ingericht op parallellisatie dan pytorch, zelfde voor deployment van modellen. Twee zaken die voor de academische wereld minder belangrijk zijn.

We zullen zien welk kamp uiteindelijk de overhand neemt. Leuke tijden :-)

Op dit item kan niet meer gereageerd worden.