1
00:00:00,000 --> 00:00:07,520
Hoi, leuk dat je luistert naar een nieuwe aflevering van de EOTD Live podcast.
2
00:00:07,520 --> 00:00:16,440
Dit wordt een speciale driedelige serie van trends in MLOps die we gezien hebben op QCon
3
00:00:16,440 --> 00:00:18,440
San Francisco 2022.
4
00:00:18,440 --> 00:00:22,480
Mijn naam is Joop Snijder, CTO van Aigency.
5
00:00:22,480 --> 00:00:24,920
Niels Naglé is er eventjes niet bij.
6
00:00:24,920 --> 00:00:28,520
Normaal gesproken doet hij mee, maar die zit bij een andere conferentie.
7
00:00:28,520 --> 00:00:31,520
Dus je zal het eventjes met mij moeten doen.
8
00:00:31,520 --> 00:00:38,520
Hey Willem, we zitten lekker in San Francisco.
9
00:00:38,520 --> 00:00:41,520
Q-Con San Francisco, hoop geleerd, hoop gezien.
10
00:00:41,520 --> 00:00:44,520
Voordat we beginnen, wil je je misschien even voorstellen aan de luisteraars?
11
00:00:44,520 --> 00:00:49,520
Ja, ik ben Willem Meints. Ik werk als Chief AI Architect voor Aigency,
12
00:00:49,520 --> 00:00:51,520
wat een label is van Info Support.
13
00:00:51,520 --> 00:00:54,520
Ik werk ook als chapter lead op data en AI vlak
14
00:00:54,520 --> 00:00:57,520
voor de business unit finance binnen Info Support.
15
00:00:57,520 --> 00:01:01,320
Ja, eigenlijk van alles met de AI aan het doen de hele dag.
16
00:01:01,320 --> 00:01:09,560
Ja, en we hebben denk ik een hele hoop gezien geleerd aan trends op het gebied van ML Ops.
17
00:01:09,560 --> 00:01:13,160
Er was een hele track bij Q-con over ML Ops.
18
00:01:13,160 --> 00:01:18,360
En voor de luisteraar even, ML Ops is een set van tools en best practices
19
00:01:18,360 --> 00:01:25,360
om machine learning van ontwerp naar productie en alles wat je daarbij nodig hebt, monitoring,
20
00:01:25,360 --> 00:01:29,000
Is het een aanpak om dat voor elkaar te krijgen?
21
00:01:29,000 --> 00:01:37,400
Meestal is het zo dat, of meestal, vaak wat je ziet is dat het op wordt gesplitst in een soort van drie vlakken.
22
00:01:37,400 --> 00:01:46,160
Het machine learning deel, de development die je nodig hebt om uiteindelijk echt je model te creëren, te verpakken, deployen.
23
00:01:46,160 --> 00:01:51,560
En dan uiteindelijk in productie de operations te hebben dat je het kan beheren.
24
00:01:51,560 --> 00:01:55,000
En het idee is om het ook in drieën te splitsen.
25
00:01:55,000 --> 00:01:57,040
Dus dat we drie afleveringen krijgen.
26
00:01:57,040 --> 00:02:02,960
Dus dit is deel 1 van de speciale event podcast aflevering.
27
00:02:02,960 --> 00:02:06,400
Waar we het eerst even focussen op het machine learning deel.
28
00:02:06,400 --> 00:02:09,120
Dus laten we daar eens mee starten.
29
00:02:09,120 --> 00:02:14,560
Zal ik misschien even starten van wat mij in ieder geval opgevallen is als echt als trend.
30
00:02:14,560 --> 00:02:18,880
Tijdens alle tracks op dat gebied.
31
00:02:18,880 --> 00:02:21,000
Ja, dat lijkt me een goed startpunt.
32
00:02:21,000 --> 00:02:27,760
Wat ik in ieder geval zag is dat misschien zelfs wel wat er niet verteld werd is dat in alle
33
00:02:27,760 --> 00:02:35,080
sessies, ik denk dat we hebben een sessie of zes of zo gevolgd, zoiets. Zes sessies waar dat er in
34
00:02:35,080 --> 00:02:42,880
geen enkele sessie explainers, explainable AI, interpretable ML aan te pas kwam. Ja dat viel mij
35
00:02:42,880 --> 00:02:47,080
ook heel erg op. Ze zijn nu vooral bezig met de spullen in productie te zetten en te schalen
36
00:02:47,080 --> 00:02:52,080
En ik denk eigenlijk dat explainable AI pas later gaat komen misschien volgend jaar.
37
00:02:52,080 --> 00:02:58,120
Wat is nog best wel nieuw ook. Ja maar ik vond het wel opvallend omdat dat natuurlijk wel het
38
00:02:58,120 --> 00:03:05,400
het verschil kan maken tussen een nauwkeurig model en een bruikbaar model. Want iets wat nauwkeurig
39
00:03:05,400 --> 00:03:10,960
is hoeft nog niet bruikbaar te zijn als je soms niet weet wat uit je model komt. Als je wel een
40
00:03:10,960 --> 00:03:15,000
voorspelling hebt maar je weet niet op basis waarvan, ja welke actie moet je dan ondernemen
41
00:03:15,000 --> 00:03:21,520
om er een verandering in te brengen. Ja dat hebben we natuurlijk een aantal keren wel gezien dat dat
42
00:03:21,520 --> 00:03:29,440
een uitdaging is. Tegelijkertijd denk ik dat waar de meeste bedrijven nu staan, dat ze eigenlijk
43
00:03:29,440 --> 00:03:34,320
op dit moment alleen maar blij zijn om hun eerste model in productie te hebben op een manier dat
44
00:03:34,320 --> 00:03:43,000
het ook nog ja dat het enigszins overeind blijft want dat is al heel erg lastig. Ja want we zagen
45
00:03:43,000 --> 00:03:47,880
natuurlijk wel redelijk grote bedrijven die aan het presenteren waren die dan inderdaad meteen
46
00:03:47,880 --> 00:03:54,880
op flinke schaal de modellen uit moeten moeten voeren. We hebben een presentatie gehad van
47
00:03:54,880 --> 00:04:02,280
DoorDash dat is alternatieve, alternatieve? Amerikaanse variant van thuisbezorgd.nl en die
48
00:04:02,280 --> 00:04:09,720
moeten natuurlijk alles op op schaal doen. En ja van wie we hadden nog wat van dat soort grote spelers
49
00:04:09,720 --> 00:04:16,640
die alles op zulke schaal moeten doen dat zij eerst maar eens met schaal bezig zijn en minder
50
00:04:16,640 --> 00:04:23,640
met uitlegbaarheid. Ja, je hebt Uber natuurlijk, daar heb ik al een paar mensen van gesproken,
51
00:04:23,640 --> 00:04:31,160
die zijn er ook heel druk mee op grote schaal. LinkedIn kwam nog heel kort voorbij met architectures
52
00:04:31,160 --> 00:04:38,680
die zij gebruiken. Ja, dat is wel echt in de omen schaal. Ik denk wel dat zij explainable AI gebruiken,
53
00:04:38,680 --> 00:04:43,720
alleen daar wordt nog heel weinig over gesproken. Het viel me ook op dat er nog weinig support is
54
00:04:43,720 --> 00:04:49,640
in de tooling. Wij zijn er wel wat meer gewend qua tooling, vooral dan Python libraries. Het is
55
00:04:49,640 --> 00:04:55,440
best wel low level ook. Alleen de tools die ik heb gezien tijdens de presentatie zijn allemaal wat
56
00:04:55,440 --> 00:04:59,800
meer high level en die zijn duidelijk nog niet klaar voor dat hele explainable AI stuk. Ja en
57
00:04:59,800 --> 00:05:03,800
wat ik ook wel gemerkt heb, misschien speelt dat ook wel mee, is dat we hier natuurlijk in Amerika
58
00:05:03,800 --> 00:05:09,640
zitten en niet in Europa. Dus in Europa speelt natuurlijk naast dat je zelf wil weten wat
59
00:05:09,640 --> 00:05:16,520
daar hoe de model redeniert, komt er steeds meer wetgeving. Er was één spreekster die had het
60
00:05:16,520 --> 00:05:22,880
over de AI act, de Europese AI act die eraan gaat komen. Daar hoorden de Amerikanen al een klein
61
00:05:22,880 --> 00:05:32,240
beetje zuchten in de zaal. Want de GDPR vinden ze al niks. Wij zien natuurlijk de noodzaak omdat
62
00:05:32,240 --> 00:05:36,920
zodra ik ook wetgeving aankomt die het ook nog eens extra noodzakelijk maken. Ik vind dat het
63
00:05:36,920 --> 00:05:42,000
sowieso, het hoort gewoon bij professioneel machine learning ontwikkelen, maar ik denk dat wij,
64
00:05:42,000 --> 00:05:47,760
ja wij krijgen uit Europa meer druk, meer noodzaak. Dat voelen ze hier nog niet, dus
65
00:05:47,760 --> 00:05:56,360
zie je ook dat nog minder gevraagd wordt, er een beleving is. Ja en privacy en gegevensbescherming
66
00:05:56,360 --> 00:06:02,000
is in Amerika altijd al een ander verhaal geweest. Ik weet dat hier in Californië zijn ze al wel heel
67
00:06:02,000 --> 00:06:08,000
verder. Ze hebben een soort AVG met een Californische variant ingevoerd. En wat we ons ook moeten
68
00:06:08,000 --> 00:06:13,640
realiseren is dat Amerika is, wij zeggen dat als één land, als je kijkt naar hoe zij de wetgeving
69
00:06:13,640 --> 00:06:18,400
hebben ingeregeld en de politiek, ja die staten dat is het allerbelangrijkste voor hun. En per
70
00:06:18,400 --> 00:06:23,640
staat gaat dat zometeen verschillen. Hopelijk komt er nog wat over ons, maar ze zijn, ja,
71
00:06:23,640 --> 00:06:28,000
zij kijken daar gewoon heel anders naar. Nou ja, en ik denk dat je net als met de GDPR,
72
00:06:28,000 --> 00:06:34,600
dat er straks druk gaat ontstaan vanuit Europa richting Amerika. Dus alle websites,
73
00:06:34,600 --> 00:06:40,560
het is niet niet het meest gelukkige voorbeeld die ik nu ga noemen, maar alle websites vanuit
74
00:06:40,560 --> 00:06:45,480
Amerika ondersteunen ook al die cookie berichten enzo omdat dat eigenlijk vanuit Europa,
75
00:06:45,480 --> 00:06:51,200
ze willen niet niet niet het verschil hebben voor Amerikaanse klanten, Europese klanten,
76
00:06:51,200 --> 00:06:56,280
dus pakken ze eigenlijk maar de Europese richtlijn en de wetgeving om zich aan
77
00:06:56,280 --> 00:06:59,760
daar aan te voldoen, want dan kunnen ze iedereen servicen. Nou, is dit een beetje een rot voorbeeld,
78
00:06:59,760 --> 00:07:09,560
want niemand zat te wachten op die cookies. Maar ook qua cloud zaken enzo, pakken ze allemaal de
79
00:07:09,560 --> 00:07:16,280
meest strenge wetgeving om dan globaal dat te kunnen uitrollen. Dus als wij direct die druk
80
00:07:16,280 --> 00:07:21,880
hebben van die explanations vanuit Europa, gaat dat denk ik ook voor de Amerikaanse tooling
81
00:07:21,880 --> 00:07:28,480
ondersteuning krijgen op dat gebied. Maar dat dat viel mij in ieder geval op. Had jij nog wat er iets
82
00:07:28,480 --> 00:07:38,840
iets wat je opviel? Ja wat mij ook wel weer opvalt is, ik ben al een tijd bezig met MMOps en de eerste
83
00:07:38,840 --> 00:07:45,320
gedachte die ik erbij had was vooral het DevOps stuk. Zo van ja je wilt automatisch uitrollen en
84
00:07:45,320 --> 00:07:47,080
Je wilt automatisch kunnen trainen.
85
00:07:47,080 --> 00:07:49,080
Dat is ook gewoon herhaalbaar.
86
00:07:49,080 --> 00:07:57,160
Maar tot nog toe was dat allemaal best wel gebruiksonvriendelijk eigenlijk.
87
00:07:57,160 --> 00:07:59,720
Als ik heel eerlijk ben aan de tools die ik heb gebruikt tot nog toe,
88
00:07:59,720 --> 00:08:02,280
nou die waren nog niet echt heel erg handig.
89
00:08:02,280 --> 00:08:04,840
En wat we nou hebben gezien in de presentaties,
90
00:08:04,840 --> 00:08:08,160
is dat toch wel die tooling heel hard aan het veranderen is.
91
00:08:08,160 --> 00:08:12,960
Je hebt nu tooling die je kan gebruiken op je laptop,
92
00:08:12,960 --> 00:08:19,040
Maar diezelfde code die je op je laptop schrijft, die kun je nu ook in de cloud draaien op een cluster.
93
00:08:19,040 --> 00:08:21,960
En dat vind ik wel heel opvallend.
94
00:08:21,960 --> 00:08:27,040
Dat is eigenlijk de nieuwe generatie ember-opstoeling die nu in opkomst is.
95
00:08:27,040 --> 00:08:31,320
Laten we die even verder uitwerken in het Dev-deel, in deel 2.
96
00:08:31,320 --> 00:08:34,240
Ja, ik denk dat het goed is om het daarover te hebben, maar dat valt er wel op.
97
00:08:34,240 --> 00:08:40,040
Dus je ziet nu dat de machine learning-wereld is nog heel erg in beweging op dat vlak.
98
00:08:40,040 --> 00:08:48,320
Nou en een ander ding wat mij enorm opvalt is, we hebben een hele mooie prestatie zien waarbij
99
00:08:48,320 --> 00:08:53,100
bedrijven dan ook vertellen over hun machine learning modellen die ze gebruiken. Het is
100
00:08:53,100 --> 00:08:58,880
allemaal deep learning. Ja maar ook de tooling ging heel veel over deep learning. Dus alles
101
00:08:58,880 --> 00:09:04,920
is gericht op deep learning en we hebben nergens ook maar iets gehoord over tabular data. Ja nou
102
00:09:04,920 --> 00:09:09,360
ik denk dat ze wel veel tabular data gebruiken, want voorbeelden die ze dan noemden,
103
00:09:09,360 --> 00:09:14,360
dan vond ik dan vrij veel tabular data tussen zitten. Ja dat klopt, nee ik zeg het eigenlijk
104
00:09:14,360 --> 00:09:23,160
verkeerd, maar de traditionele machine learning modellen, dus we hoorden nergens de XGBoost of
105
00:09:23,160 --> 00:09:32,520
en die heb je natuurlijk vaak, is net zo goed als deep learning op je tabular data, maar alle
106
00:09:32,520 --> 00:09:36,840
modellen die je kon aanwijzen waren eigenlijk allemaal deep learning modellen. Daar wil ik mee
107
00:09:36,840 --> 00:09:43,520
trainen. Ja ik vond dat ja is dat een goed ding nou ja we hadden het net over explainable AI en
108
00:09:43,520 --> 00:09:50,120
ik denk dan deep learning modellen zijn tot op heden moeilijk interpreteerbaar of helemaal niet
109
00:09:50,120 --> 00:09:57,240
en uitlegbaar is ook een ding met die met die apparaten. Het wordt wel ietsje beter maar ik
110
00:09:57,240 --> 00:10:03,240
vindt wel spannend wat ze nu aan het doen zijn. Wat me trouwens wel heel erg opviel is ik ben zelf
111
00:10:03,240 --> 00:10:10,840
altijd best wel fanboy geweest van TensorFlow. Het was de eerste en daar hebben we ook wel leuke
112
00:10:10,840 --> 00:10:15,880
dingen mee gedaan maar TensorFlow is echt op zijn retour op dit moment. Het marktaanddeel is enorm
113
00:10:15,880 --> 00:10:22,920
afgenomen ik denk dat het nu nog maar iets van 15% is, terwijl PyTorch van Meta dat is nu ja de
114
00:10:22,920 --> 00:10:31,640
grootste. Nou zullen mensen denken meta, Facebook, help, wat gaat hier gebeuren? Nou dat vond ik ook
115
00:10:31,640 --> 00:10:38,600
wel mooi om te horen is dat nu PyTorch is niet langer een meta project maar dat is een project
116
00:10:38,600 --> 00:10:44,480
onder een foundation. De Linux foundation vallen ze onder en dat betekent dat er ook andere partijen
117
00:10:44,480 --> 00:10:49,280
betrokken zijn omdat er nu een open proces is om bijvoorbeeld te kunnen bijdragen. Ja dus in het
118
00:10:49,280 --> 00:10:57,280
boord daar zitten nu Microsoft, Google, Meta, LinkedIn. Het zijn er best wel veel. Open AI geloof ik ook toch?
119
00:10:57,280 --> 00:11:02,320
Ja, open AI zit er ook in. Ja dat vind ik wel opvallend. Ik vind het ook een goede ontwikkeling.
120
00:11:02,320 --> 00:11:07,240
Ja dat denk ik ook. Dat die soort tools gewoon open beschikbaar komen en natuurlijk fijn voor ons is
121
00:11:07,240 --> 00:11:11,480
grote partijen zitten erachter dus je hoeft je ook geen zorgen te maken over de support. Dat het in
122
00:11:11,480 --> 00:11:17,800
een keer gaat verdwijnen dat zal nu niet meer gebeuren denk ik. Nee en nu gaan de belangen ook
123
00:11:17,800 --> 00:11:23,280
afgewogen worden dus je krijgt denk ik veel meer een nou ja weet je dat het voor iedereen
124
00:11:23,280 --> 00:11:29,800
bruikbaar is in plaats van dat één bedrijf het helemaal zeg maar naar zichzelf vormt,
125
00:11:29,800 --> 00:11:41,040
boetseert. Dat het nu zo direct veel meer globaal gebruikbaar is. Ja ik had nog een hele
126
00:11:41,040 --> 00:11:49,440
erg leuke sessie over wat die vrouw noemde techno solutionism, moeilijk woord, maar dat ging daar
127
00:11:49,440 --> 00:11:57,640
over van dat we steeds meer bezig zijn om voor ieder probleem wat we wat we zien dat we daar
128
00:11:57,640 --> 00:12:05,320
technologie tegenover zetten als oplossing. En je ziet het ook gebeuren op het gebied en
129
00:12:05,320 --> 00:12:13,080
En dit is nog niet eens AI machine learning specifiek, maar je ziet het wel heel veel in de AI machine learning.
130
00:12:13,080 --> 00:12:17,200
Zie je het natuurlijk gebeuren, juist omdat we nieuwe mogelijkheden zien.
131
00:12:17,200 --> 00:12:19,560
Het middel is natuurlijk krachtig.
132
00:12:19,560 --> 00:12:24,160
Dus ga je allemaal gaat iedereen natuurlijk denken van oh ja, maar dan kunnen we daarvoor gebruiken, daarvoor gebruiken.
133
00:12:24,160 --> 00:12:27,000
Dus ik weet niet of jij dat ook wel eens gezien hebt.
134
00:12:27,000 --> 00:12:29,120
Weet je van die berichten die dan voorbij komen?
135
00:12:29,120 --> 00:12:33,480
Zegde ja, AI kan honger uit de wereld halen.
136
00:12:34,080 --> 00:12:44,040
of AI gaat de klimaatverandering gaat die oplossen, de klimaatcrisis oplossen. Dat zijn hele grote
137
00:12:44,040 --> 00:12:51,360
vraagstukken. Nou geloof ik daar helemaal niet in, maar wat je wel ziet is dat zonzelde mechanismen
138
00:12:51,360 --> 00:12:55,880
over van hey we hebben een ziende probleem, laten we dat meteen met technologie oplossen,
139
00:12:55,880 --> 00:13:03,120
zie je op een kleinere schaal binnen organisaties ook. En wat zij predikten en dat vond ik wel heel
140
00:13:03,120 --> 00:13:12,000
erg mooi en ja dat sloeg bij mij wel aan. Is dat je eerst eens kijkt van ja maar zijn er manieren
141
00:13:12,000 --> 00:13:21,160
om het op te lossen zonder technologie. En dat je je drie vragen stelt van wat nou als je het niet
142
00:13:21,160 --> 00:13:28,760
oplost. Dat is nog steeds een mogelijkheid. Is er een manier om de verandering voor elkaar te
143
00:13:28,760 --> 00:13:36,640
krijgen zonder technologie. En als je dat met technologie doet, dat je dan gaat nadenken op
144
00:13:36,640 --> 00:13:44,280
wie heeft het effect. Want er zijn wel terecht, meestal zeg maar, ze hadden een foto van de
145
00:13:44,280 --> 00:13:51,760
Amazon medewerkers als een soort van voorbeeld, zeg ze, die mensen die in die distributiecentra
146
00:13:51,760 --> 00:13:57,880
werken, die worden altijd vergeten, dat soort type mensen, worden altijd vergeten in wat voor
147
00:13:57,880 --> 00:14:05,340
impact heeft het op dat type werknemers. En dat vond ik wel een goede. Dus dat is,
148
00:14:05,340 --> 00:14:15,940
je denkt na over korte termijn, effecten midden lange termijn, lange termijn. Ik kreeg in eerste
149
00:14:15,940 --> 00:14:21,280
instantie ook wel lichte weerstand, want ik dacht ja, lange termijn, weet je, bij de invoering van
150
00:14:21,280 --> 00:14:27,320
van internet heeft er niemand ooit kunnen bedenken dat we nu social media hebben die
151
00:14:27,320 --> 00:14:33,320
democratieën ondermijnen of dictaturen onverwicht hebben. Dat heeft niemand kunnen voorzien.
152
00:14:33,320 --> 00:14:41,920
Of de ellende die we hebben van alle troep die we elkaar toewensen op social media. Aan
153
00:14:41,920 --> 00:14:47,280
de andere kant wat we allemaal kunnen met internet, zelfs de hele goede dingen hebben
154
00:14:47,280 --> 00:14:51,540
ook niet kunnen voorzien. Dus het is soms best wel heel moeilijk om langer termijn, maar ik vind het
155
00:14:51,540 --> 00:14:58,080
toch wel goed dat ze zegt, nou weet je, denk daar gewoon eens over na en moet het altijd wel opgelost
156
00:14:58,080 --> 00:15:04,400
worden met technologie. Jij noemt het net fanboy, ik denk wij zijn allebei helemaal opgegroeid met
157
00:15:04,400 --> 00:15:10,800
technologie. Technologie is ons passie. Je gaat ervoor, je ziet allemaal mooie dingen, maar dat
158
00:15:10,800 --> 00:15:16,200
dat ik denk dat het dan extra belangrijk is dat je hier toch af en toe bij stil staat.
159
00:15:16,200 --> 00:15:20,440
Nou dat denk ik ook. Ik denk, mijn werk is sowieso natuurlijk wel,
160
00:15:20,440 --> 00:15:26,800
er wordt aan mij gevraagd van wil jij dit of dit oplossen met machine learning.
161
00:15:26,800 --> 00:15:30,400
Dat ja, dat is normaal en dat doe je iedere dag.
162
00:15:30,400 --> 00:15:36,240
Maar ik vind het zelf ook wel belangrijk om na te denken van zou het ook misschien zonder kunnen.
163
00:15:36,240 --> 00:15:41,520
maar dan is het nog steeds een technologie oplossing. Maar zelfs moet je het eigenlijk
164
00:15:41,520 --> 00:15:46,680
wel doen met een computer. Kun je niet gewoon beter dat analoog oplossen. Analoog is toch
165
00:15:46,680 --> 00:15:53,160
verschrikkelijk stabiel. Computers in ieder geval niet, dat weet ik wel. Ja ik vind het zelf wel
166
00:15:53,160 --> 00:15:58,000
belangrijk om dat ook in de gaten te houden. Je kan, weet je, als je voorbij die vijf jaar gaat
167
00:15:58,000 --> 00:16:03,720
kijken, dat is onmogelijk. Dat kun je gewoon niet weten. Maar als je nu al zegt bij jezelf,
168
00:16:03,720 --> 00:16:10,640
Misschien is dat ene briefje of even met de hand iets doen nog helemaal niet zo gek idee.
169
00:16:10,640 --> 00:16:16,440
Het is a veel goedkoper en b je voorkomt ook wel dat je de toekomst in de knop komt te zitten.
170
00:16:16,440 --> 00:16:20,880
Maar ja er gebeuren toch onverhoopbaar dingen die je gewoon niet voorzien hebt.
171
00:16:20,880 --> 00:16:23,880
Dus het is ook wel het is een balans denk ik.
172
00:16:23,880 --> 00:16:29,000
Dus technologie gebruik of het juist analoog houden en zeggen van nee dat los ik anders op.
173
00:16:29,000 --> 00:16:36,480
Absoluut, absoluut. En de laatste is, we hebben natuurlijk best wel heel veel gezien, dat er steeds
174
00:16:36,480 --> 00:16:42,360
meer declaratief wordt gewerkt binnen de machine learning, waarbij een van de voorbeelden was
175
00:16:42,360 --> 00:16:50,280
Ludwig. Ludwig was jij wel over te spreken toch? Ja, ja. Ludwig is een open source, daar moet je
176
00:16:50,280 --> 00:16:55,240
misschien even uitleggen. Wat is Ludwig? Het is wel goed om het even te noemen van wat is het dan nou?
177
00:16:55,240 --> 00:17:02,840
Nou, LUTWG is een framework wat je in staat stelt om met een configuratiefile een machine learning pipeline op te bouwen.
178
00:17:02,840 --> 00:17:10,040
Dus je kan aangeven, ik wil graag deze attributen gebruiken als input voor mijn model,
179
00:17:10,040 --> 00:17:16,640
en ik wil, nou, ik wil LACD concreet maken met een voorbeeld voor fraude detectie.
180
00:17:16,640 --> 00:17:19,640
Ik wil de transactieschiedenis gebruiken als input,
181
00:17:19,640 --> 00:17:24,240
en ik wil graag een klassificatie of het fraude is of niet als output.
182
00:17:24,240 --> 00:17:31,560
Dat geef je op. Je zegt daarbij, nou, ik wil graag dit Deep Learning model gebruiken.
183
00:17:31,560 --> 00:17:37,480
En daarnaast zeg je tegen Loet weer, nou, ga je gang, dit is de setup van mijn pipeline.
184
00:17:37,480 --> 00:17:41,760
Dus ze deden het eigenlijk in drieën. Ze zeggen van, dit is mijn data.
185
00:17:41,760 --> 00:17:46,000
Hier moet je het uiteindelijk in opslaan, de uitkomsten.
186
00:17:46,000 --> 00:17:50,720
En zo wil ik, dit wil ik eruit hebben.
187
00:17:50,720 --> 00:17:52,480
Dat waren eigenlijk de drie lagen.
188
00:17:52,480 --> 00:17:56,080
Ja, het is echt inputs, het model en de outputs.
189
00:17:56,080 --> 00:18:01,240
En dan kun je aangeven, ja, ik wil het graag ergens opgeslagen hebben, de outputs.
190
00:18:01,240 --> 00:18:03,560
Maar je kan het op live doen, dus dat werkt ook.
191
00:18:03,560 --> 00:18:04,800
Maar het zijn wel echt die drie stappen.
192
00:18:04,800 --> 00:18:09,120
Zo, ik heb een setje inputs, ik heb het model architectuur eigenlijk.
193
00:18:09,120 --> 00:18:10,840
Ja, architectuur, ja, heel goed.
194
00:18:10,840 --> 00:18:13,120
Dus ik leg het uit naar de buitenkant en dan de outputs.
195
00:18:13,120 --> 00:18:15,560
Ja, en dat beschreef je in YAML.
196
00:18:15,560 --> 00:18:17,360
Ja, dat is...
197
00:18:17,360 --> 00:18:20,840
Ik heb zelf zoiets van, is YAML de goede vorm?
198
00:18:20,840 --> 00:18:26,560
Dat maakt definitie uit, maar het gaat erom dat je eigenlijk niet langer low-level Python aan het schrijven bent,
199
00:18:26,560 --> 00:18:29,280
maar je configureert wat je wilt hebben.
200
00:18:29,280 --> 00:18:33,000
En in YAML is zo eenvoudig, of voor degenen die het misschien niet kennen,
201
00:18:33,000 --> 00:18:36,520
is dat je zegt classification, dubbele punt.
202
00:18:36,520 --> 00:18:47,200
Ja, het is eigenlijk, je hebt de naam van de instelling, in dit geval input features, dubbele punt.
203
00:18:47,800 --> 00:18:57,400
En dan kun je een lege regel doen en dan kun je zeggen minnetje input 1 dubbele punt kolomnaam, input 2 dubbele punt kolomnaam.
204
00:18:57,400 --> 00:19:02,760
En zo kun je met lijstjes en key values eigenlijk kun je helemaal opbouwen wat je bedoelt.
205
00:19:02,760 --> 00:19:03,260
Ja.
206
00:19:03,260 --> 00:19:10,920
En die dingen kun je in elkaar stapelen als het ware als sub lijstjes en subsets aan eigenschappen.
207
00:19:10,920 --> 00:19:13,520
Het is best een mooi formaat. Het is wel heel eenvoudig.
208
00:19:13,520 --> 00:19:20,320
En wat dan wel mooi is aan Ludwig is je geeft die convival aan Ludwig samen met je dataset
209
00:19:20,320 --> 00:19:21,760
en dan gaat ie aan de slag.
210
00:19:21,760 --> 00:19:23,240
Hij maakt het voor je in orde.
211
00:19:23,240 --> 00:19:28,800
En dat kan best een tijdje duren als je die learning doet, maar daar hoef je niet meer
212
00:19:28,800 --> 00:19:29,800
naar te kijken.
213
00:19:29,800 --> 00:19:34,680
En je hebt eigenlijk je pipeline gewoon gedocumenteerd, want het staat in een leesbaar formaat.
214
00:19:34,680 --> 00:19:36,360
Iedereen kan dat gewoon lezen.
215
00:19:36,360 --> 00:19:38,280
Het is geen code.
216
00:19:38,280 --> 00:19:47,560
Unit testen hoef je eigenlijk niet te doen voor de pipeline, want hij geeft tijdens het draaien ook
217
00:19:47,560 --> 00:19:52,760
wel aan van tevoren. Oh ja, je hebt hier tekst erin gestopt, maar ja dat kan niet met dit type model,
218
00:19:52,760 --> 00:19:59,000
of dat kan niet voor dit type probleem. Hij checkt alles heel goed voor je, dus het is ook wel een
219
00:19:59,000 --> 00:20:04,400
stuk eenvoudiger voor data scientist om hiermee te werken. Ik denk dat uiteindelijk Ludwig een
220
00:20:04,400 --> 00:20:12,280
een mooie tool is voor als je ja dagelijks een model moet maken voor productiegebruik.
221
00:20:12,280 --> 00:20:19,200
Want ik denk wel dat je in dat soort momenten wil je niet al die low-level Python gaan zitten
222
00:20:19,200 --> 00:20:22,680
schrijven. Want het is behoorlijk veel wat we moeten opschrijven voordat het gaat werken.
223
00:20:22,680 --> 00:20:28,960
Je kan het het beste vergelijken eigenlijk met hoe wij vroeger programmeren. In de jaren 80 of
224
00:20:28,960 --> 00:20:35,020
misschien nog wel eerder had je assembly, dat waren processoor instructies. Dat is mooi,
225
00:20:35,020 --> 00:20:39,180
het is super krachtig. Je kan er alles mee doen, je kan allemaal willekeurig spullen bouwen,
226
00:20:39,180 --> 00:20:43,980
maar eigenlijk is best wel langzaam en best wel moeilijk om erin te werken. Toen zijn we naar
227
00:20:43,980 --> 00:20:51,180
high level programmeertalen gegaan en werd het een stuk eenvoudiger. Dus Python en C++ voor
228
00:20:51,180 --> 00:20:55,820
machine learning is super krachtig. Voor research is dat denk ik dé oplossing om het te doen,
229
00:20:55,820 --> 00:20:59,900
want daar wil je dat. Maar als je dagelijks je machine en modellen gaat bouwen voor klanten,
230
00:20:59,900 --> 00:21:07,060
dan is dat denk ik declaratief beter. Ja, wat ik mooi vond is dat ze lieten zien is dat je steeds
231
00:21:07,060 --> 00:21:15,780
meer kennis aan aan de configuratie kan toevoegen. Dus iemand zeg maar vanuit meer een business
232
00:21:15,780 --> 00:21:21,900
gedachte, die kan inderdaad zeggen ik wil een fraude detectie en ik wil deze klassificatie
233
00:21:21,900 --> 00:21:29,100
en ik denk dat je deze data nodig hebt, dan kan een data scientist die kan dat gaan verfijnen,
234
00:21:29,100 --> 00:21:34,300
dus die kan er meer aan toevoegen en die kan ook op een gegeven moment gaan zeggen van ja maar bij
235
00:21:34,300 --> 00:21:40,940
dat deep learning model, dan wil ik zoveel hidden layers hebben en die kan hyperparameters gaan
236
00:21:40,940 --> 00:21:48,940
toevoegen en zo kan je steeds hoe meer kennis je hebt, kan je het gaan uitdiepen. Dus je begint
237
00:21:48,940 --> 00:21:57,340
hij begint heel globaal maar in datzelfde bestand maak je uiteindelijk zeg maar steeds specifieker.
238
00:21:57,340 --> 00:22:03,220
Maar er kunnen andere rollen zijn die dat specifieker maken en dat vond ik er zo mooi aan.
239
00:22:03,220 --> 00:22:08,580
Ja ik vind dat heel krachtig. Je kan dus eigenlijk aan een machine learning engineer die normaal
240
00:22:08,580 --> 00:22:13,100
gesproken alleen maar modellen in productie zet, kun je gaan vragen hey wil jij dit model in elkaar
241
00:22:13,100 --> 00:22:18,260
zetten? Vaak weten die mensen namelijk echt wel hoe dat moet en als dat dan klaar is en je merkt
242
00:22:18,260 --> 00:22:23,580
van oh ja het is nog niet helemaal wat we willen, dan kun je de data scientist, de expert erbij
243
00:22:23,580 --> 00:22:28,860
vragen. Wil jij eens kijken en die kan het dan verfijnen. En een van de andere trucken die er
244
00:22:28,860 --> 00:22:36,180
nog wel extra mooi is, Ludwig stelt je ook in staat om op je laptop te draaien maar dus ook weer
245
00:22:36,180 --> 00:22:41,380
remote schaalbaar, dat als het model groter wordt dat je dan nog steeds voldoende kan draaien zonder
246
00:22:41,380 --> 00:22:48,180
dat je die konferen aanpast. Nou ik denk dat we zo een hoop hebben behandeld.
247
00:22:48,180 --> 00:22:55,820
Dus dit is het ML gedeeld over ML, Dev en Ops. Wil je meer weten wat we allemaal aan
248
00:22:55,820 --> 00:23:02,540
trends gezien, gehoord hebben en wat wij ervan vinden? Blijf dan luisteren. De volgende aflevering
249
00:23:02,540 --> 00:23:07,340
gaat volledig over het Dev stuk. Dank je wel voor het luisteren weer. Dank je wel Willem.
250
00:23:07,340 --> 00:23:11,060
En tot de volgende aflevering.
251
00:23:11,060 --> 00:23:11,560
Dank je wel.
252
00:23:11,560 --> 00:23:13,560
TV Gelderland 2021
253
00:23:13,560 --> 00:23:15,560
TV Gelderland 2021