AIToday Live

S04E04 - Trends in MLOps - Deel 1 - ML

Info Support AIToday Season 4 Episode 4

Welkom bij de AIToday Live podcast, waarin de MLOps trends centraal staan die we hebben waargenomen tijdens QCon San Francisco 2022. In de eerste aflevering van deze driedelige reeks ligt de focus op machine learning. Joop Snijder, gaat in gesprek met Willem Meints en samen delen zij hun expertise en ervaringen over recente ontwikkelingen in MLOps.

Een opvallend gegeven is de groeiende populariteit van deep learning, terwijl traditionele machine learning modellen minder gebruikt worden. Daarnaast blijken explainable AI en interpretable ML nog relatief weinig aandacht te krijgen, wellicht omdat bedrijven zich vooral concentreren op productie en opschaling, en minder op uitlegbaarheid. 

Wat betreft tooling wordt TensorFlow minder populair, terwijl PyTorch juist terrein wint. Dit is mede te danken aan het feit dat PyTorch onder de vleugels van de Linux Foundation valt, wat meer samenwerking en bijdragen aan het project stimuleert. Bovendien wordt MLOps steeds meer declaratief, wat resulteert in eenvoudigere en toegankelijkere code, zelfs voor niet-experts. Ludwig wordt als voorbeeld genoemd, een framework dat het bouwen, verfijnen en opschalen van modellen eenvoudiger maakt. 

Tot slot benadrukken Joop en Willem het belang van een balans tussen technologische en niet-technologische oplossingen. Ze wijzen op 'techno solutionism', de neiging om te snel naar technologie te grijpen zonder na te denken over langetermijneffecten of alternatieven. Kritisch nadenken over de impact van technologische oplossingen is cruciaal, zowel op korte als lange termijn.

De aflevering is de eerste van een driedelige serie, verdeelt in ML, Dev, Ops. De afleveringen zijn wat technischer dan wat je van ons gewend bent en zijn wat meer geschikt voor Data Scientists, Machine Learning experts en verder voor iedereen die enthousiast is over de implementatie van ML-systemen.

De volgende onderwerpen komen aan bod:

  • Opvallend is de toename van deep learning ten koste van traditionele machine learning modellen, terwijl explainable AI en interpretable ML nog relatief weinig aandacht krijgen.
  • Qua tooling neemt de populariteit van TensorFlow af, terwijl PyTorch in opkomst is, mede dankzij de samenwerking met de Linux Foundation.
  • MLOps wordt steeds meer declaratief, wat zorgt voor eenvoudigere en toegankelijkere code; Ludwig wordt hierbij genoemd als een voorbeeld van een vereenvoudigend framework.
  • Het belang van een balans tussen technologische en niet-technologische oplossingen wordt benadrukt, met kritisch denken over de impact van technologie als essentieel aspect.
  • Waar komen we Explainable AI tegen in de trends in MLOps?

Links

Stuur ons een bericht

Schrijf je in voor onze nieuwsbrief en ontvang exclusieve toegang tot nieuws, blik achter de schermen en meer!

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


People on this episode