Wat leer je in deze aflevering?
Dit is deel 1 van een driedelige podcastserie over MLOps-trends, opgenomen tijdens QCon San Francisco 2022. Joop Snijder en Willem Meints bespreken hun observaties over de staat van machine learning in de praktijk, met focus op wat grote techbedrijven zoals DoorDash, Uber en LinkedIn doen.
Kernbegrippen
- Explainable AI
- Machine learning-modellen waarvan de beslissingen begrijpelijk en traceerbaar zijn voor gebruikers en regelgevers.
- MLOps
- Praktijken en tools voor het beheren, monitoren en schalen van machine learning-modellen in productieomgevingen.
- Deep learning
- Neurale netwerken met meerdere lagen die complexe patronen in grote datasets kunnen leren zonder handmatige feature engineering.
- PyTorch
- Open-source machine learning-framework dat dominant is geworden voor onderzoeks- en productiewerk in deep learning.
Interview: Willem Meints
Willem, kun je jezelf even voorstellen aan onze luisteraars?
Ik ben Willem Meints en werk als Chief AI Architect voor Aigency, wat een label is van Info Support. Daarnaast werk ik ook als chapter lead op data en AI vlak voor de business unit finance binnen Info Support. Eigenlijk ben ik de hele dag van alles met AI aan het doen.
Jullie zijn net terug van QCon San Francisco waar er een hele track over MLOps was. Kun je voor de luisteraars even uitleggen wat MLOps precies inhoudt?
MLOps is eigenlijk een set van tools en best practices om machine learning van ontwerp naar productie te krijgen, inclusief alles wat je daarbij nodig hebt zoals monitoring. Het is een aanpak om dat voor elkaar te krijgen. Wat je vaak ziet is dat het wordt opgesplitst in drie vlakken. Ten eerste het machine learning deel, de development die je nodig hebt om uiteindelijk echt je model te creëren. Ten tweede het verpakken en deployen van dat model. En ten derde de operations in productie, zodat je het ook kunt beheren. Het idee is om deze drie gebieden goed op elkaar af te stemmen.
Wat was de meest opvallende trend die jou opviel tijdens de MLOps-track?
Wat mij in eerste instantie heel erg opviel, is misschien zelfs wel wat er niet verteld werd. In alle sessies die we hebben gevolgd, ik denk wel zes stuks of zo, kwam in geen enkele sessie explainable AI of interpretable machine learning aan bod. Dat viel me echt heel erg op. Ze zijn nu vooral bezig met de spullen in productie te zetten en te schalen. Ik denk eigenlijk dat explainable AI pas later gaat komen, misschien volgend jaar. Wat natuurlijk nog best wel nieuw is ook.
Vind je dat niet opvallend? Want explainable AI kan toch het verschil maken tussen een nauwkeurig model en een bruikbaar model?
Dat vind ik inderdaad wel opvallend, omdat dat natuurlijk het verschil kan maken tussen een nauwkeurig model en een bruikbaar model. Want iets wat nauwkeurig is, hoeft nog niet bruikbaar te zijn als je soms niet weet wat er uit je model komt. Als je wel een voorspelling hebt maar je weet niet op basis waarvan, ja, welke actie moet je dan ondernemen om er een verandering in te brengen? Dat hebben we natuurlijk een aantal keren wel gezien dat dat een uitdaging is. Tegelijkertijd denk ik dat waar de meeste bedrijven nu staan, ze eigenlijk op dit moment alleen maar blij zijn om hun eerste model in productie te hebben op een manier dat het ook nog enigszins overeind blijft. Want dat is al heel erg lastig.
Welke grote bedrijven zagen jullie presenteren en waar waren zij vooral mee bezig?
We zagen redelijk grote bedrijven die aan het presenteren waren en die moesten meteen op flinke schaal hun modellen uitvoeren. We hadden bijvoorbeeld een presentatie van DoorDash, dat is de Amerikaanse variant van thuisbezorgd.nl, en die moeten natuurlijk alles op schaal doen. Verder hadden we Uber, waar ik een paar mensen van gesproken heb. Die zijn er ook heel druk mee op grote schaal. LinkedIn kwam nog heel kort voorbij met architecturen die zij gebruiken. Dat is allemaal echt enorme schaal. Ik denk wel dat zij explainable AI gebruiken, alleen daar wordt nog heel weinig over gesproken. Het viel me ook op dat er nog weinig support is in de tooling. Wij zijn er wel wat meer gewend qua tooling, vooral dan Python libraries, maar dat is best wel low level. De tools die ik heb gezien tijdens de presentaties zijn allemaal wat meer high level en die zijn duidelijk nog niet klaar voor dat hele explainable AI stuk.
Zou het kunnen dat het verschil tussen Europa en Amerika hierin een rol speelt?
Wat ik ook wel gemerkt heb, en dat speelt volgens mij ook wel mee, is dat we hier natuurlijk in Amerika zitten en niet in Europa. In Europa speelt naast dat je zelf wil weten hoe het model redeneert, natuurlijk steeds meer wetgeving. Er was één spreekster die het had over de AI Act, de Europese AI Act die eraan gaat komen. Daar hoorde je de Amerikanen al een klein beetje zuchten in de zaal, want de GDPR vinden ze al niks. Wij zien natuurlijk de noodzaak omdat er wetgeving aankomt die het ook nog eens extra noodzakelijk maakt. Ik vind dat het sowieso gewoon bij professioneel machine learning ontwikkelen hoort, maar ik denk dat wij uit Europa meer druk krijgen, meer noodzaak voelen. Dat voelen ze hier nog niet, dus zie je ook dat er minder naar gevraagd wordt en dat er minder beleving is.
Hoe kijk je aan tegen privacy en gegevensbescherming in Amerika versus Europa?
Privacy en gegevensbescherming is in Amerika altijd al een ander verhaal geweest. Ik weet dat hier in Californië ze al wel wat verder zijn. Ze hebben een soort AVG met een Californische variant ingevoerd. En wat we ons ook moeten realiseren is dat Amerika, wij zeggen dat als één land, maar als je kijkt naar hoe zij de wetgeving hebben ingeregeld en de politiek, die staten zijn het allerbelangrijkste voor hen. En per staat gaat dat straks verschillen. Hopelijk komt er nog wat overheen, maar ze kijken daar gewoon heel anders naar.
Denk je dat Europa druk gaat uitoefenen op Amerika wat betreft deze regelgeving?
Ik denk dat je net als met de GDPR, dat er straks druk gaat ontstaan vanuit Europa richting Amerika. Alle websites, het is niet het meest gelukkige voorbeeld dat ik nu ga noemen, maar alle websites vanuit Amerika ondersteunen ook al die cookie-berichten enzovoort, omdat dat eigenlijk vanuit Europa komt. Ze willen niet het verschil hebben tussen Amerikaanse en Europese klanten, dus pakken ze eigenlijk maar de Europese richtlijn en wetgeving om zich daaraan te voldoen, want dan kunnen ze iedereen servicen. Nou, het is een beetje een rot voorbeeld want niemand zat te wachten op die cookies, maar ook qua cloud-zaken enzovoort pakken ze allemaal de meest strenge wetgeving om dan globaal dat te kunnen uitrollen. Dus als wij directe druk hebben voor die explanations vanuit Europa, gaat dat denk ik ook voor de Amerikaanse tooling ondersteuning krijgen op dat gebied.
Wat viel jou verder op aan de ontwikkeling van MLOps-tooling?
Wat mij ook wel opvalt is dat ik al een tijd bezig ben met MLOps en de eerste gedachte die ik erbij had was vooral het DevOps stuk. Zo van ja, je wilt automatisch uitrollen en je wilt automatisch kunnen trainen, dat het ook gewoon herhaalbaar is. Maar tot nog toe was dat allemaal best wel gebruiksonvriendelijk eigenlijk. Als ik heel eerlijk ben over de tools die ik tot nog toe heb gebruikt, nou die waren nog niet echt heel erg handig. En wat we nu hebben gezien in de presentaties, is dat toch wel die tooling heel hard aan het veranderen is. Je hebt nu tooling die je kunt gebruiken op je laptop, maar diezelfde code die je op je laptop schrijft, die kun je nu ook in de cloud draaien op een cluster. En dat vind ik wel heel opvallend. Dat is eigenlijk de nieuwe generatie MLOps-tooling die nu in opkomst is. De machine learning-wereld is nog heel erg in beweging op dat vlak.
Wat viel je op aan de types modellen die bedrijven gebruiken?
Een ander ding wat mij enorm opvalt is dat we een hele mooie presentatie hebben gezien waarbij bedrijven vertellen over hun machine learning modellen die ze gebruiken. Het is allemaal deep learning. Ook de tooling ging heel veel over deep learning. Dus alles is gericht op deep learning en we hebben nergens ook maar iets gehoord over traditionele machine learning modellen. Ik bedoel, de voorbeelden die ze noemden, daar zat vrij veel tabular data tussen. Maar de traditionele machine learning modellen, dus we hoorden nergens XGBoost of dat soort modellen die je vaak hebt en die net zo goed zijn als deep learning op je tabular data. Maar alle modellen die je kon aanwijzen waren eigenlijk allemaal deep learning modellen. Daar willen ze mee trainen.
Vind je dat een goede ontwikkeling?
Nou ja, we hadden het net over explainable AI en ik denk dat deep learning modellen tot op heden moeilijk interpreteerbaar zijn of helemaal niet. En uitlegbaarheid is ook een ding met die apparaten. Het wordt wel ietsje beter, maar ik vind het wel spannend wat ze nu aan het doen zijn.
Wat is de huidige status van TensorFlow versus PyTorch?
Wat me trouwens wel heel erg opviel is dat ik zelf altijd best wel een fanboy ben geweest van TensorFlow. Het was de eerste en daar hebben we ook wel leuke dingen mee gedaan, maar TensorFlow is echt op zijn retour op dit moment. Het marktaandeel is enorm afgenomen. Ik denk dat het nu nog maar iets van vijftien procent is, terwijl PyTorch van Meta nu de grootste is.
Is het niet zorgelijk dat PyTorch van Meta komt?
Nou, mensen zullen denken: Meta, Facebook, help, wat gaat hier gebeuren? Maar wat ik wel mooi vond om te horen is dat PyTorch nu niet langer een Meta-project is, maar dat het een project is onder een foundation. Ze vallen onder de Linux Foundation en dat betekent dat er ook andere partijen betrokken zijn, omdat er nu een open proces is om bijvoorbeeld te kunnen bijdragen.
Welke partijen zitten er in het bestuur van PyTorch?
In het board zitten nu Microsoft, Google, Meta, LinkedIn, en het zijn er best wel veel. Open AI zit er ook in. Ik vind het ook een goede ontwikkeling dat die soort tools gewoon open beschikbaar komen. En natuurlijk is het fijn voor ons dat grote partijen erachter zitten, dus je hoeft je ook geen zorgen te maken over de support. Dat het in een keer gaat verdwijnen, dat zal nu niet meer gebeuren denk ik. En nu gaan de belangen ook afgewogen worden, dus je krijgt denk ik veel meer dat het voor iedereen bruikbaar is, in plaats van dat één bedrijf het helemaal naar zichzelf vormt of boetseert. Nu is het veel meer globaal gebruikbaar.
Je had een interessante sessie over techno-solutionisme bijgewoond. Wat hield dat in?
Ik had een hele leuke sessie over wat die vrouw techno-solutionisme noemde, een moeilijk woord. Maar dat ging daarover dat we steeds meer bezig zijn om voor ieder probleem wat we zien daar technologie tegenover te zetten als oplossing. En je ziet het ook gebeuren op het gebied van, en dit is nog niet eens AI of machine learning specifiek, maar je ziet het wel heel veel in AI en machine learning. Juist omdat we nieuwe mogelijkheden zien en het middel natuurlijk krachtig is, gaat iedereen denken van oh ja, maar dan kunnen we het daarvoor gebruiken, daarvoor gebruiken.
Heb je daar voorbeelden van gezien?
Weet je van die berichten die dan voorbijkomen die zeggen: AI kan honger uit de wereld halen, of AI gaat de klimaatverandering oplossen, de klimaatcrisis oplossen. Dat zijn hele grote vraagstukken. Nou, ik geloof daar helemaal niet in, maar wat je wel ziet is dat diezelfde mechanismen, van hey we hebben een zekere probleem, laten we dat meteen met technologie oplossen, zie je op een kleinere schaal binnen organisaties ook.
Wat was het advies van de spreekster over hoe je hiermee om moet gaan?
Wat zij predikten, en dat vond ik wel heel erg mooi en ja dat sloeg bij mij wel aan, is dat je eerst eens kijkt van ja maar zijn er manieren om het op te lossen zonder technologie. En dat je jezelf drie vragen stelt. Ten eerste: wat nou als je het niet oplost? Dat is nog steeds een mogelijkheid. Ten tweede: is er een manier om de verandering voor elkaar te krijgen zonder technologie? En als je het met technologie doet, dat je dan gaat nadenken over wie heeft het effect? Want er zijn wel terecht, meestal zeg maar, ze hadden een foto van de Amazon medewerkers als een soort voorbeeld. Die mensen die in die distributiecentra werken, die worden altijd vergeten. Dat soort type mensen worden altijd vergeten in wat voor impact het heeft op dat type werknemers. En dat vond ik wel een goede.
Hoe kijk je aan tegen het voorspellen van lange termijn effecten?
Je denkt na over korte termijn effecten, middellange termijn, lange termijn. Ik kreeg in eerste instantie ook wel lichte weerstand, want ik dacht ja, lange termijn, weet je, bij de invoering van internet heeft er niemand ooit kunnen bedenken dat we nu social media hebben die democratieën ondermijnen of dictaturen onverwicht hebben. Dat heeft niemand kunnen voorzien. Of de ellende die we hebben van alle troep die we elkaar toewensen op social media. Aan de andere kant, de hele goede dingen hebben we ook niet kunnen voorzien. Dus het is soms best wel heel moeilijk om langer termijn te voorspellen, maar ik vind het toch wel goed dat ze zegt: nou weet je, denk daar gewoon eens over na en moet het altijd wel opgelost worden met technologie?
Waarom is het juist voor mensen in technologie belangrijk om hierbij stil te staan?
Ik denk wij zijn allebei helemaal opgegroeid met technologie. Technologie is onze passie. Je gaat ervoor, je ziet allemaal mooie dingen, maar dat, ik denk dat het dan extra belangrijk is dat je hier toch af en toe bij stilstaat. Mijn werk is sowieso natuurlijk wel dat er aan mij gevraagd wordt: wil jij dit of dit oplossen met machine learning? Dat is normaal en dat doe je iedere dag. Maar ik vind het zelf ook wel belangrijk om na te denken van: zou het ook misschien zonder kunnen? Maar dan is het nog steeds een technologie-oplossing. Maar zelfs: moet je het eigenlijk wel doen met een computer? Kun je het niet gewoon beter analoog oplossen? Analoog is toch verschrikkelijk stabiel. Computers in ieder geval niet, dat weet ik wel.
Hoe vind je de balans tussen technologie en analoge oplossingen?
Ik vind het zelf wel belangrijk om dat ook in de gaten te houden. Je kunt, weet je, als je voorbij die vijf jaar gaat kijken, dat is onmogelijk. Dat kun je gewoon niet weten. Maar als je nu al zegt bij jezelf: misschien is dat ene briefje of even met de hand iets doen nog helemaal niet zo'n gek idee. Het is a, veel goedkoper en b, je voorkomt ook wel dat je de toekomst in de knoop komt te zitten. Maar ja, er gebeuren toch onverhoopbaar dingen die je gewoon niet hebt voorzien. Dus het is ook wel, het is een balans denk ik. Technologie gebruiken of het juist analoog houden en zeggen van nee, dat los ik anders op.
Jullie hebben ook gezien dat er steeds meer declaratief wordt gewerkt binnen machine learning. Kun je daar meer over vertellen?
De laatste trend is dat we natuurlijk best wel heel veel hebben gezien dat er steeds meer declaratief wordt gewerkt binnen de machine learning. Een van de voorbeelden was Ludwig. Ludwig is een open source framework en het is wel goed om het even te noemen: wat is het dan nou? Ludwig is een framework wat je in staat stelt om met een configuratiefile een machine learning pipeline op te bouwen. Dus je kunt aangeven: ik wil graag deze attributen gebruiken als input voor mijn model. Laat ik het concreet maken met een voorbeeld voor fraudedetectie. Ik wil de transactiegeschiedenis gebruiken als input, en ik wil graag een classificatie of het fraude is of niet als output. Dat geef je op. Je zegt daarbij: nou, ik wil graag dit deep learning model gebruiken. En daarnaast zeg je tegen Ludwig: nou, ga je gang, dit is de setup van mijn pipeline.
Hoe werkt Ludwig precies?
Ze deden het eigenlijk in drieën. Ze zeggen: dit is mijn data, hier moet je het uiteindelijk in opslaan, de uitkomsten, en zo wil ik, dit wil ik eruit hebben. Dat waren eigenlijk de drie lagen. Het zijn echt inputs, het model en de outputs. En dan kun je aangeven: ja, ik wil het graag ergens opgeslagen hebben, de outputs. Maar je kunt het ook live doen, dus dat werkt ook. Maar het zijn wel echt die drie stappen. Ik heb een setje inputs, ik heb de model architectuur eigenlijk, en dan de outputs.
In welk formaat beschrijf je dit?
Dat beschrijf je in YAML. Ik heb zelf zoiets van: is YAML de goede vorm? Dat maakt eigenlijk niet uit, maar het gaat erom dat je eigenlijk niet langer low-level Python aan het schrijven bent, maar je configureert wat je wilt hebben. En YAML is zo eenvoudig, of voor degenen die het misschien niet kennen, dat je zegt classification, dubbele punt. Het is eigenlijk: je hebt de naam van de instelling, in dit geval input features, dubbele punt. En dan kun je een lege regel doen en dan kun je zeggen minnetje input één dubbele punt kolomnaam, input twee dubbele punt kolomnaam. En zo kun je met lijstjes en key values eigenlijk helemaal opbouwen wat je bedoelt. En die dingen kun je in elkaar stapelen als het ware, als sub-lijstjes en subsets aan eigenschappen. Het is best een mooi formaat. Het is wel heel eenvoudig.
Wat gebeurt er als je die configuratie aan Ludwig geeft?
Wat dan wel mooi is aan Ludwig is: je geeft die config file aan Ludwig samen met je dataset en dan gaat hij aan de slag. Hij maakt het voor je in orde. En dat kan best een tijdje duren als je deep learning doet, maar daar hoef je niet meer naar te kijken. En je hebt eigenlijk je pipeline gewoon gedocumenteerd, want het staat in een leesbaar formaat. Iedereen kan dat gewoon lezen. Het is geen code. Unit testen hoef je eigenlijk niet te doen voor de pipeline, want hij geeft tijdens het draaien ook wel aan van tevoren: oh ja, je hebt hier tekst erin gestopt, maar ja dat kan niet met dit type model, of dat kan niet voor dit type probleem. Hij checkt alles heel goed voor je, dus het is ook wel een stuk eenvoudiger voor data scientists om hiermee te werken.
Voor wie is Ludwig vooral geschikt?
Ik denk dat uiteindelijk Ludwig een mooie tool is voor als je dagelijks een model moet maken voor productiegebruik. Want ik denk wel dat je in dat soort momenten niet al die low-level Python wilt gaan zitten schrijven. Want het is behoorlijk veel wat we moeten opschrijven voordat het gaat werken.
Kun je het vergelijken met ontwikkelingen in het programmeren?
Je kunt het het beste vergelijken eigenlijk met hoe wij vroeger programmeerden. In de jaren tachtig, of misschien nog wel eerder, had je assembly, dat waren processorinstructies. Dat is mooi, het is super krachtig. Je kunt er alles mee doen, je kunt allemaal willekeurige spullen bouwen, maar eigenlijk is het best wel langzaam en best wel moeilijk om erin te werken. Toen zijn we naar high level programmeertalen gegaan en werd het een stuk eenvoudiger. Dus Python en C++ voor machine learning is super krachtig. Voor research is dat denk ik dé oplossing om het te doen, want daar wil je dat. Maar als je dagelijks je machine learning modellen gaat bouwen voor klanten, dan is declaratief denk ik beter.
Wat vond je nog meer mooi aan Ludwig?
Wat ik mooi vond is dat ze lieten zien dat je steeds meer kennis aan de configuratie kunt toevoegen. Dus iemand vanuit meer een business gedachte, die kan inderdaad zeggen: ik wil een fraudedetectie en ik wil deze classificatie en ik denk dat je deze data nodig hebt. Dan kan een data scientist die dat gaan verfijnen, dus die kan er meer aan toevoegen en die kan ook op een gegeven moment gaan zeggen van: ja maar bij dat deep learning model, dan wil ik zoveel hidden layers hebben. En die kan hyperparameters gaan toevoegen. En zo kun je steeds, hoe meer kennis je hebt, kun je het gaan uitdiepen. Dus je begint heel globaal, maar in datzelfde bestand maak je uiteindelijk steeds specifieker. Maar er kunnen andere rollen zijn die dat specifieker maken en dat vond ik er zo mooi aan.
Hoe krachtig vind je deze aanpak?
Ik vind dat heel krachtig. Je kunt dus eigenlijk aan een machine learning engineer, die normaal gesproken alleen maar modellen in productie zet, vragen: hey, wil jij dit model in elkaar zetten? Vaak weten die mensen namelijk echt wel hoe dat moet en als dat dan klaar is en je merkt: oh ja, het is nog niet helemaal wat we willen, dan kun je de data scientist, de expert, erbij vragen. Wil jij eens kijken? En die kan het dan verfijnen. En een van de andere trucjes die er nog wel extra mooi is: Ludwig stelt je ook in staat om op je laptop te draaien, maar dus ook weer remote schaalbaar. Dat als het model groter wordt, dat je dan nog steeds voldoende kunt draaien zonder dat je die config hoeft aan te passen. AIToday Live is een podcast die zich richt op de nieuwste ontwikkelingen in AI en de impact ervan op verschillende sectoren. In elke aflevering spreken hosts Niels Naglé en Joop Snijder met experts uit het veld om inzicht te krijgen in de mogelijkheden en uitdagingen van AI-technologie. Luister via je favoriete podcast app: Spotify, Apple podcasts, YouTube Music, en meer.
Over de gast
Willem Meints is Chief AI Architect bij Aigency en chapter lead op het gebied van data en AI binnen de business unit finance. Hij heeft uitgebreide ervaring in machine learning en is betrokken bij de ontwikkeling van AI-oplossingen. In deze aflevering deelt hij inzichten over trends in MLOps, opgedaan tijdens QCon San Francisco 2022.
Bekijk gastprofielTranscript
Hoi, leuk dat je luistert naar een nieuwe aflevering van de EOTD Live podcast. Dit wordt een speciale driedelige serie van trends in MLOps die we gezien hebben op QCon San Francisco 2022. Mijn naam is Joop Snijder, CTO van Aigency. Niels Naglé is er eventjes niet bij. Normaal gesproken doet hij mee, maar die zit bij een andere conferentie. Dus je zal het eventjes met mij moeten doen. Hey Willem, we zitten lekker in San Francisco. Q-Con San Francisco, hoop geleerd, hoop gezien. Voordat we beginnen, wil je je misschien even voorstellen aan de luisteraars? Ja, ik ben Willem Meints. Ik werk als Chief AI Architect voor Aigency, wat een label is van Info Support. Ik werk ook als chapter lead op data en AI vlak voor de business unit finance binnen Info Support. Ja, eigenlijk van alles met de AI aan het doen de hele dag. Ja, en we hebben denk ik een hele hoop gezien geleerd aan trends op het gebied van ML Ops. Er was een hele track bij Q-con over ML Ops. En voor de luisteraar even, ML Ops is een set van tools en best practices om machine learning van ontwerp naar productie en alles wat je daarbij nodig hebt, monitoring, Is het een aanpak om dat voor elkaar te krijgen? Meestal is het zo dat, of meestal, vaak wat je ziet is dat het op wordt gesplitst in een soort van drie vlakken. Het machine learning deel, de development die je nodig hebt om uiteindelijk echt je model te creëren, te verpakken, deployen. En dan uiteindelijk in productie de operations te hebben dat je het kan beheren. En het idee is om het ook in drieën te splitsen. Dus dat we drie afleveringen krijgen. Dus dit is deel 1 van de speciale event podcast aflevering. Waar we het eerst even focussen op het machine learning deel. Dus laten we daar eens mee starten. Zal ik misschien even starten van wat mij in ieder geval opgevallen is als echt als trend. Tijdens alle tracks op dat gebied. Ja, dat lijkt me een goed startpunt. Wat ik in ieder geval zag is dat misschien zelfs wel wat er niet verteld werd is dat in alle sessies, ik denk dat we hebben een sessie of zes of zo gevolgd, zoiets. Zes sessies waar dat er in geen enkele sessie explainers, explainable AI, interpretable ML aan te pas kwam. Ja dat viel mij ook heel erg op. Ze zijn nu vooral bezig met de spullen in productie te zetten en te schalen En ik denk eigenlijk dat explainable AI pas later gaat komen misschien volgend jaar. Wat is nog best wel nieuw ook. Ja maar ik vond het wel opvallend omdat dat natuurlijk wel het het verschil kan maken tussen een nauwkeurig model en een bruikbaar model. Want iets wat nauwkeurig is hoeft nog niet bruikbaar te zijn als je soms niet weet wat uit je model komt. Als je wel een voorspelling hebt maar je weet niet op basis waarvan, ja welke actie moet je dan ondernemen om er een verandering in te brengen. Ja dat hebben we natuurlijk een aantal keren wel gezien dat dat een uitdaging is. Tegelijkertijd denk ik dat waar de meeste bedrijven nu staan, dat ze eigenlijk op dit moment alleen maar blij zijn om hun eerste model in productie te hebben op een manier dat het ook nog ja dat het enigszins overeind blijft want dat is al heel erg lastig. Ja want we zagen natuurlijk wel redelijk grote bedrijven die aan het presenteren waren die dan inderdaad meteen op flinke schaal de modellen uit moeten moeten voeren. We hebben een presentatie gehad van DoorDash dat is alternatieve, alternatieve? Amerikaanse variant van thuisbezorgd.nl en die moeten natuurlijk alles op op schaal doen. En ja van wie we hadden nog wat van dat soort grote spelers die alles op zulke schaal moeten doen dat zij eerst maar eens met schaal bezig zijn en minder met uitlegbaarheid. Ja, je hebt Uber natuurlijk, daar heb ik al een paar mensen van gesproken, die zijn er ook heel druk mee op grote schaal. LinkedIn kwam nog heel kort voorbij met architectures die zij gebruiken. Ja, dat is wel echt in de omen schaal. Ik denk wel dat zij explainable AI gebruiken, alleen daar wordt nog heel weinig over gesproken. Het viel me ook op dat er nog weinig support is in de tooling. Wij zijn er wel wat meer gewend qua tooling, vooral dan Python libraries. Het is best wel low level ook. Alleen de tools die ik heb gezien tijdens de presentatie zijn allemaal wat meer high level en die zijn duidelijk nog niet klaar voor dat hele explainable AI stuk. Ja en wat ik ook wel gemerkt heb, misschien speelt dat ook wel mee, is dat we hier natuurlijk in Amerika zitten en niet in Europa. Dus in Europa speelt natuurlijk naast dat je zelf wil weten wat daar hoe de model redeniert, komt er steeds meer wetgeving. Er was één spreekster die had het over de AI act, de Europese AI act die eraan gaat komen. Daar hoorden de Amerikanen al een klein beetje zuchten in de zaal. Want de GDPR vinden ze al niks. Wij zien natuurlijk de noodzaak omdat zodra ik ook wetgeving aankomt die het ook nog eens extra noodzakelijk maken. Ik vind dat het sowieso, het hoort gewoon bij professioneel machine learning ontwikkelen, maar ik denk dat wij, ja wij krijgen uit Europa meer druk, meer noodzaak. Dat voelen ze hier nog niet, dus zie je ook dat nog minder gevraagd wordt, er een beleving is. Ja en privacy en gegevensbescherming is in Amerika altijd al een ander verhaal geweest. Ik weet dat hier in Californië zijn ze al wel heel verder. Ze hebben een soort AVG met een Californische variant ingevoerd. En wat we ons ook moeten realiseren is dat Amerika is, wij zeggen dat als één land, als je kijkt naar hoe zij de wetgeving hebben ingeregeld en de politiek, ja die staten dat is het allerbelangrijkste voor hun. En per staat gaat dat zometeen verschillen. Hopelijk komt er nog wat over ons, maar ze zijn, ja, zij kijken daar gewoon heel anders naar. Nou ja, en ik denk dat je net als met de GDPR, dat er straks druk gaat ontstaan vanuit Europa richting Amerika. Dus alle websites, het is niet niet het meest gelukkige voorbeeld die ik nu ga noemen, maar alle websites vanuit Amerika ondersteunen ook al die cookie berichten enzo omdat dat eigenlijk vanuit Europa, ze willen niet niet niet het verschil hebben voor Amerikaanse klanten, Europese klanten, dus pakken ze eigenlijk maar de Europese richtlijn en de wetgeving om zich aan daar aan te voldoen, want dan kunnen ze iedereen servicen. Nou, is dit een beetje een rot voorbeeld, want niemand zat te wachten op die cookies. Maar ook qua cloud zaken enzo, pakken ze allemaal de meest strenge wetgeving om dan globaal dat te kunnen uitrollen. Dus als wij direct die druk hebben van die explanations vanuit Europa, gaat dat denk ik ook voor de Amerikaanse tooling ondersteuning krijgen op dat gebied. Maar dat dat viel mij in ieder geval op. Had jij nog wat er iets iets wat je opviel? Ja wat mij ook wel weer opvalt is, ik ben al een tijd bezig met MMOps en de eerste gedachte die ik erbij had was vooral het DevOps stuk. Zo van ja je wilt automatisch uitrollen en Je wilt automatisch kunnen trainen. Dat is ook gewoon herhaalbaar. Maar tot nog toe was dat allemaal best wel gebruiksonvriendelijk eigenlijk. Als ik heel eerlijk ben aan de tools die ik heb gebruikt tot nog toe, nou die waren nog niet echt heel erg handig. En wat we nou hebben gezien in de presentaties, is dat toch wel die tooling heel hard aan het veranderen is. Je hebt nu tooling die je kan gebruiken op je laptop, Maar diezelfde code die je op je laptop schrijft, die kun je nu ook in de cloud draaien op een cluster. En dat vind ik wel heel opvallend. Dat is eigenlijk de nieuwe generatie ember-opstoeling die nu in opkomst is. Laten we die even verder uitwerken in het Dev-deel, in deel 2. Ja, ik denk dat het goed is om het daarover te hebben, maar dat valt er wel op. Dus je ziet nu dat de machine learning-wereld is nog heel erg in beweging op dat vlak. Nou en een ander ding wat mij enorm opvalt is, we hebben een hele mooie prestatie zien waarbij bedrijven dan ook vertellen over hun machine learning modellen die ze gebruiken. Het is allemaal deep learning. Ja maar ook de tooling ging heel veel over deep learning. Dus alles is gericht op deep learning en we hebben nergens ook maar iets gehoord over tabular data. Ja nou ik denk dat ze wel veel tabular data gebruiken, want voorbeelden die ze dan noemden, dan vond ik dan vrij veel tabular data tussen zitten. Ja dat klopt, nee ik zeg het eigenlijk verkeerd, maar de traditionele machine learning modellen, dus we hoorden nergens de XGBoost of en die heb je natuurlijk vaak, is net zo goed als deep learning op je tabular data, maar alle modellen die je kon aanwijzen waren eigenlijk allemaal deep learning modellen. Daar wil ik mee trainen. Ja ik vond dat ja is dat een goed ding nou ja we hadden het net over explainable AI en ik denk dan deep learning modellen zijn tot op heden moeilijk interpreteerbaar of helemaal niet en uitlegbaar is ook een ding met die met die apparaten. Het wordt wel ietsje beter maar ik vindt wel spannend wat ze nu aan het doen zijn. Wat me trouwens wel heel erg opviel is ik ben zelf altijd best wel fanboy geweest van TensorFlow. Het was de eerste en daar hebben we ook wel leuke dingen mee gedaan maar TensorFlow is echt op zijn retour op dit moment. Het marktaanddeel is enorm afgenomen ik denk dat het nu nog maar iets van 15% is, terwijl PyTorch van Meta dat is nu ja de grootste. Nou zullen mensen denken meta, Facebook, help, wat gaat hier gebeuren? Nou dat vond ik ook wel mooi om te horen is dat nu PyTorch is niet langer een meta project maar dat is een project onder een foundation. De Linux foundation vallen ze onder en dat betekent dat er ook andere partijen betrokken zijn omdat er nu een open proces is om bijvoorbeeld te kunnen bijdragen. Ja dus in het boord daar zitten nu Microsoft, Google, Meta, LinkedIn. Het zijn er best wel veel. Open AI geloof ik ook toch? Ja, open AI zit er ook in. Ja dat vind ik wel opvallend. Ik vind het ook een goede ontwikkeling. Ja dat denk ik ook. Dat die soort tools gewoon open beschikbaar komen en natuurlijk fijn voor ons is grote partijen zitten erachter dus je hoeft je ook geen zorgen te maken over de support. Dat het in een keer gaat verdwijnen dat zal nu niet meer gebeuren denk ik. Nee en nu gaan de belangen ook afgewogen worden dus je krijgt denk ik veel meer een nou ja weet je dat het voor iedereen bruikbaar is in plaats van dat één bedrijf het helemaal zeg maar naar zichzelf vormt, boetseert. Dat het nu zo direct veel meer globaal gebruikbaar is. Ja ik had nog een hele erg leuke sessie over wat die vrouw noemde techno solutionism, moeilijk woord, maar dat ging daar over van dat we steeds meer bezig zijn om voor ieder probleem wat we wat we zien dat we daar technologie tegenover zetten als oplossing. En je ziet het ook gebeuren op het gebied en En dit is nog niet eens AI machine learning specifiek, maar je ziet het wel heel veel in de AI machine learning. Zie je het natuurlijk gebeuren, juist omdat we nieuwe mogelijkheden zien. Het middel is natuurlijk krachtig. Dus ga je allemaal gaat iedereen natuurlijk denken van oh ja, maar dan kunnen we daarvoor gebruiken, daarvoor gebruiken. Dus ik weet niet of jij dat ook wel eens gezien hebt. Weet je van die berichten die dan voorbij komen? Zegde ja, AI kan honger uit de wereld halen. of AI gaat de klimaatverandering gaat die oplossen, de klimaatcrisis oplossen. Dat zijn hele grote vraagstukken. Nou geloof ik daar helemaal niet in, maar wat je wel ziet is dat zonzelde mechanismen over van hey we hebben een ziende probleem, laten we dat meteen met technologie oplossen, zie je op een kleinere schaal binnen organisaties ook. En wat zij predikten en dat vond ik wel heel erg mooi en ja dat sloeg bij mij wel aan. Is dat je eerst eens kijkt van ja maar zijn er manieren om het op te lossen zonder technologie. En dat je je drie vragen stelt van wat nou als je het niet oplost. Dat is nog steeds een mogelijkheid. Is er een manier om de verandering voor elkaar te krijgen zonder technologie. En als je dat met technologie doet, dat je dan gaat nadenken op wie heeft het effect. Want er zijn wel terecht, meestal zeg maar, ze hadden een foto van de Amazon medewerkers als een soort van voorbeeld, zeg ze, die mensen die in die distributiecentra werken, die worden altijd vergeten, dat soort type mensen, worden altijd vergeten in wat voor impact heeft het op dat type werknemers. En dat vond ik wel een goede. Dus dat is, je denkt na over korte termijn, effecten midden lange termijn, lange termijn. Ik kreeg in eerste instantie ook wel lichte weerstand, want ik dacht ja, lange termijn, weet je, bij de invoering van van internet heeft er niemand ooit kunnen bedenken dat we nu social media hebben die democratieën ondermijnen of dictaturen onverwicht hebben. Dat heeft niemand kunnen voorzien. Of de ellende die we hebben van alle troep die we elkaar toewensen op social media. Aan de andere kant wat we allemaal kunnen met internet, zelfs de hele goede dingen hebben ook niet kunnen voorzien. Dus het is soms best wel heel moeilijk om langer termijn, maar ik vind het toch wel goed dat ze zegt, nou weet je, denk daar gewoon eens over na en moet het altijd wel opgelost worden met technologie. Jij noemt het net fanboy, ik denk wij zijn allebei helemaal opgegroeid met technologie. Technologie is ons passie. Je gaat ervoor, je ziet allemaal mooie dingen, maar dat dat ik denk dat het dan extra belangrijk is dat je hier toch af en toe bij stil staat. Nou dat denk ik ook. Ik denk, mijn werk is sowieso natuurlijk wel, er wordt aan mij gevraagd van wil jij dit of dit oplossen met machine learning. Dat ja, dat is normaal en dat doe je iedere dag. Maar ik vind het zelf ook wel belangrijk om na te denken van zou het ook misschien zonder kunnen. maar dan is het nog steeds een technologie oplossing. Maar zelfs moet je het eigenlijk wel doen met een computer. Kun je niet gewoon beter dat analoog oplossen. Analoog is toch verschrikkelijk stabiel. Computers in ieder geval niet, dat weet ik wel. Ja ik vind het zelf wel belangrijk om dat ook in de gaten te houden. Je kan, weet je, als je voorbij die vijf jaar gaat kijken, dat is onmogelijk. Dat kun je gewoon niet weten. Maar als je nu al zegt bij jezelf, Misschien is dat ene briefje of even met de hand iets doen nog helemaal niet zo gek idee. Het is a veel goedkoper en b je voorkomt ook wel dat je de toekomst in de knop komt te zitten. Maar ja er gebeuren toch onverhoopbaar dingen die je gewoon niet voorzien hebt. Dus het is ook wel het is een balans denk ik. Dus technologie gebruik of het juist analoog houden en zeggen van nee dat los ik anders op. Absoluut, absoluut. En de laatste is, we hebben natuurlijk best wel heel veel gezien, dat er steeds meer declaratief wordt gewerkt binnen de machine learning, waarbij een van de voorbeelden was Ludwig. Ludwig was jij wel over te spreken toch? Ja, ja. Ludwig is een open source, daar moet je misschien even uitleggen. Wat is Ludwig? Het is wel goed om het even te noemen van wat is het dan nou? Nou, LUTWG is een framework wat je in staat stelt om met een configuratiefile een machine learning pipeline op te bouwen. Dus je kan aangeven, ik wil graag deze attributen gebruiken als input voor mijn model, en ik wil, nou, ik wil LACD concreet maken met een voorbeeld voor fraude detectie. Ik wil de transactieschiedenis gebruiken als input, en ik wil graag een klassificatie of het fraude is of niet als output. Dat geef je op. Je zegt daarbij, nou, ik wil graag dit Deep Learning model gebruiken. En daarnaast zeg je tegen Loet weer, nou, ga je gang, dit is de setup van mijn pipeline. Dus ze deden het eigenlijk in drieën. Ze zeggen van, dit is mijn data. Hier moet je het uiteindelijk in opslaan, de uitkomsten. En zo wil ik, dit wil ik eruit hebben. Dat waren eigenlijk de drie lagen. Ja, het is echt inputs, het model en de outputs. En dan kun je aangeven, ja, ik wil het graag ergens opgeslagen hebben, de outputs. Maar je kan het op live doen, dus dat werkt ook. Maar het zijn wel echt die drie stappen. Zo, ik heb een setje inputs, ik heb het model architectuur eigenlijk. Ja, architectuur, ja, heel goed. Dus ik leg het uit naar de buitenkant en dan de outputs. Ja, en dat beschreef je in YAML. Ja, dat is... Ik heb zelf zoiets van, is YAML de goede vorm? Dat maakt definitie uit, maar het gaat erom dat je eigenlijk niet langer low-level Python aan het schrijven bent, maar je configureert wat je wilt hebben. En in YAML is zo eenvoudig, of voor degenen die het misschien niet kennen, is dat je zegt classification, dubbele punt. Ja, het is eigenlijk, je hebt de naam van de instelling, in dit geval input features, dubbele punt. En dan kun je een lege regel doen en dan kun je zeggen minnetje input 1 dubbele punt kolomnaam, input 2 dubbele punt kolomnaam. En zo kun je met lijstjes en key values eigenlijk kun je helemaal opbouwen wat je bedoelt. Ja. En die dingen kun je in elkaar stapelen als het ware als sub lijstjes en subsets aan eigenschappen. Het is best een mooi formaat. Het is wel heel eenvoudig. En wat dan wel mooi is aan Ludwig is je geeft die convival aan Ludwig samen met je dataset en dan gaat ie aan de slag. Hij maakt het voor je in orde. En dat kan best een tijdje duren als je die learning doet, maar daar hoef je niet meer naar te kijken. En je hebt eigenlijk je pipeline gewoon gedocumenteerd, want het staat in een leesbaar formaat. Iedereen kan dat gewoon lezen. Het is geen code. Unit testen hoef je eigenlijk niet te doen voor de pipeline, want hij geeft tijdens het draaien ook wel aan van tevoren. Oh ja, je hebt hier tekst erin gestopt, maar ja dat kan niet met dit type model, of dat kan niet voor dit type probleem. Hij checkt alles heel goed voor je, dus het is ook wel een stuk eenvoudiger voor data scientist om hiermee te werken. Ik denk dat uiteindelijk Ludwig een een mooie tool is voor als je ja dagelijks een model moet maken voor productiegebruik. Want ik denk wel dat je in dat soort momenten wil je niet al die low-level Python gaan zitten schrijven. Want het is behoorlijk veel wat we moeten opschrijven voordat het gaat werken. Je kan het het beste vergelijken eigenlijk met hoe wij vroeger programmeren. In de jaren 80 of misschien nog wel eerder had je assembly, dat waren processoor instructies. Dat is mooi, het is super krachtig. Je kan er alles mee doen, je kan allemaal willekeurig spullen bouwen, maar eigenlijk is best wel langzaam en best wel moeilijk om erin te werken. Toen zijn we naar high level programmeertalen gegaan en werd het een stuk eenvoudiger. Dus Python en C++ voor machine learning is super krachtig. Voor research is dat denk ik dé oplossing om het te doen, want daar wil je dat. Maar als je dagelijks je machine en modellen gaat bouwen voor klanten, dan is dat denk ik declaratief beter. Ja, wat ik mooi vond is dat ze lieten zien is dat je steeds meer kennis aan aan de configuratie kan toevoegen. Dus iemand zeg maar vanuit meer een business gedachte, die kan inderdaad zeggen ik wil een fraude detectie en ik wil deze klassificatie en ik denk dat je deze data nodig hebt, dan kan een data scientist die kan dat gaan verfijnen, dus die kan er meer aan toevoegen en die kan ook op een gegeven moment gaan zeggen van ja maar bij dat deep learning model, dan wil ik zoveel hidden layers hebben en die kan hyperparameters gaan toevoegen en zo kan je steeds hoe meer kennis je hebt, kan je het gaan uitdiepen. Dus je begint hij begint heel globaal maar in datzelfde bestand maak je uiteindelijk zeg maar steeds specifieker. Maar er kunnen andere rollen zijn die dat specifieker maken en dat vond ik er zo mooi aan. Ja ik vind dat heel krachtig. Je kan dus eigenlijk aan een machine learning engineer die normaal gesproken alleen maar modellen in productie zet, kun je gaan vragen hey wil jij dit model in elkaar zetten? Vaak weten die mensen namelijk echt wel hoe dat moet en als dat dan klaar is en je merkt van oh ja het is nog niet helemaal wat we willen, dan kun je de data scientist, de expert erbij vragen. Wil jij eens kijken en die kan het dan verfijnen. En een van de andere trucken die er nog wel extra mooi is, Ludwig stelt je ook in staat om op je laptop te draaien maar dus ook weer remote schaalbaar, dat als het model groter wordt dat je dan nog steeds voldoende kan draaien zonder dat je die konferen aanpast. Nou ik denk dat we zo een hoop hebben behandeld. Dus dit is het ML gedeeld over ML, Dev en Ops. Wil je meer weten wat we allemaal aan trends gezien, gehoord hebben en wat wij ervan vinden? Blijf dan luisteren. De volgende aflevering gaat volledig over het Dev stuk. Dank je wel voor het luisteren weer. Dank je wel Willem. En tot de volgende aflevering. Dank je wel. TV Gelderland 2021 TV Gelderland 2021