AIToday Live

S06E33 - Hoe open staat jouw LLM deur? Over beveiligen van RAG-systemen

April 22, 2024 Aigency by Info Support Season 6 Episode 33
AIToday Live
S06E33 - Hoe open staat jouw LLM deur? Over beveiligen van RAG-systemen
Show Notes Transcript

In een recente episode van AIToday Live, duiken de gastheren in de wereld van AI, met een speciale focus op de QCon-conferentie in Londen. Deze sessie werpt een licht op generatieve AI, beveiligingsvraagstukken, en de implementatie-uitdagingen waar bedrijven mee te maken krijgen.

Van de manipulatie van grote taalmodellen tot de praktische toepassing van de OWASP richtlijnen voor veiligere AI-systemen, deze aflevering biedt een grondige analyse en praktische adviezen. Luister voor een gedetailleerde discussie over het belang van beveiliging in AI en hoe bedrijven dit op een verstandige manier kunnen aanpakken, rekening houdend met toekomstige ontwikkelingen en de noodzaak van een verantwoorde implementatie.


Links

Met onze podcast AIToday Live zijn we genomineerd voor de Belgian Podcast Awards ! 🏆🤩 Belgisch? Ja, een Belgische award, want er is een speciale categorie voor Nederlandse podcasts: Prijs van Oranje.

Wil je ons steunen? 🙏❤️ Stem op ons!

Aigency
Aigency ontwerpt en ontwikkelt waardevolle, robuuste en betrouwbare Machine Learning-modellen.

Info Support
Info Support is de specialist in maatwerk software en leidend in kunstmatige intelligentie (AI).

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.

Wil je toegang tot exclusieve toegang voor onze luisteraars? Schrijf je in voor de nieuwsbrief 'AI versterkt de Mens'

Contact AIToday Live


We zijn altijd op zoek naar nieuwe gasten die over AI willen spreken.

1
00:00:00,000 --> 00:00:06,120
Hey, leuk dat je weer luistert naar een nieuwe aflezing van de AIToday Live.

2
00:00:06,120 --> 00:00:09,880
Mijn naam Niels Naglé, Area Lead Data & AI.

3
00:00:09,880 --> 00:00:12,120
Mijn naam Joop Snijder, CTO bij Aigency.

4
00:00:12,120 --> 00:00:17,320
En vandaag gaan we het hebben over een conferentie waar Joop en onze gast Willem Meints heen zijn

5
00:00:17,320 --> 00:00:18,320
geweest.

6
00:00:18,320 --> 00:00:19,320
Dus blijf luisteren.

7
00:00:19,320 --> 00:00:23,840
Ja, dat is eigenlijk een beetje een gast in een eigen podcast.

8
00:00:23,840 --> 00:00:24,840
Ja.

9
00:00:24,840 --> 00:00:25,840
Altijd leuk.

10
00:00:25,840 --> 00:00:27,880
Dus ik ben benieuwd naar je vragen Niels.

11
00:00:27,880 --> 00:00:28,880
Ja, zeker.

12
00:00:28,880 --> 00:00:29,880
Ik ook namelijk.

13
00:00:29,880 --> 00:00:32,600
Ik ben niet bij die conferentie geweest en jullie wel.

14
00:00:32,600 --> 00:00:36,080
Maar voordat we erin gaan voor de luisteraars die Willem nog niet kennen.

15
00:00:36,080 --> 00:00:38,160
Je bent al eerder te gast geweest, maar toch even de vraag.

16
00:00:38,160 --> 00:00:39,640
Wil je jezelf even voorstellen aan de luisteraars?

17
00:00:39,640 --> 00:00:43,440
De vorige keer deed Joop dat voorstellen, dus ik moet hier een beetje aan wennen.

18
00:00:43,440 --> 00:00:44,440
Oké.

19
00:00:44,440 --> 00:00:48,760
Nee, maar ik werk als Chief AI Architect voor Aigency, een label van Info Support.

20
00:00:48,760 --> 00:00:54,840
Mijn dagelijks werk bestaat eruit teams begeleiden bij het bouwen van allerhande machine learning

21
00:00:54,840 --> 00:00:56,080
en AI oplossingen.

22
00:00:56,080 --> 00:01:01,320
Dus ook large language models bijvoorbeeld, computer vision, dat soort zaken.

23
00:01:01,320 --> 00:01:05,240
In mijn vrije tijd ben ik dan ook zo gek om nog even door te gaan met AI.

24
00:01:05,240 --> 00:01:07,400
Dus ik krijg er ook prijzen voor.

25
00:01:07,400 --> 00:01:10,320
De MVP Award in de categorie AI heb ik dan.

26
00:01:10,320 --> 00:01:11,320
Van Microsoft hè?

27
00:01:11,320 --> 00:01:12,320
Ja, van Microsoft.

28
00:01:12,320 --> 00:01:16,360
Dat is een prijs die je krijgt voor allerlei vrijwilligerswerk, spreek-op-conferenties,

29
00:01:16,360 --> 00:01:19,000
artikelen, video's, podcasts.

30
00:01:19,000 --> 00:01:22,320
Ik kan het zo gek niet bedenken, maar het gaat echt vooral om het delen van kennis en de

31
00:01:22,320 --> 00:01:23,320
IT vooruit helpen.

32
00:01:23,320 --> 00:01:24,320
Daarvoor krijg je die prijs.

33
00:01:24,320 --> 00:01:27,600
Ja, en er is ook technisch hands-on ermee bezig.

34
00:01:27,600 --> 00:01:29,880
Ook boeken geschreven had ik begrepen inderdaad.

35
00:01:29,880 --> 00:01:34,080
En we hebben natuurlijk vorige keer gehad over de chatbot die we ook binnen Info Support

36
00:01:34,080 --> 00:01:35,080
hebben gebouwd.

37
00:01:35,080 --> 00:01:37,800
Dus mocht je die aflevering nog niet geluisterd hebben, luister hem zeker even terug.

38
00:01:37,800 --> 00:01:38,800
Dat was echt een aanrader.

39
00:01:38,800 --> 00:01:41,120
Maar daar gaan we het vandaag niet over hebben.

40
00:01:41,120 --> 00:01:43,720
Vandaag gaan we het hebben over een conferentie QCon.

41
00:01:43,720 --> 00:01:50,400
En we kunnen soms wel wat te diep ingaan technisch, maar we zullen jullie meenemen in de vragen

42
00:01:50,400 --> 00:01:51,400
en antwoorden.

43
00:01:51,400 --> 00:01:53,800
Maar leg eerst even uit, QCon, wat voor conferentie is het?

44
00:01:53,800 --> 00:01:55,360
Wie komen er zo op af?

45
00:01:55,360 --> 00:01:58,560
Ja, dit keer was het QCon in Londen.

46
00:01:58,560 --> 00:02:00,640
Dus relatief dichtbij.

47
00:02:00,640 --> 00:02:09,640
En QCon is wel een bijzondere conferentie, omdat dat zit tussen beslissers en architecten,

48
00:02:09,640 --> 00:02:11,040
IT architecten in.

49
00:02:11,040 --> 00:02:12,840
Dus IT beslissers, architecten.

50
00:02:12,840 --> 00:02:21,800
Dus dit is vooral een blik naar waar moet je nu op letten en, laten we zeggen, midden

51
00:02:21,800 --> 00:02:22,800
lange termijn.

52
00:02:22,800 --> 00:02:23,800
Oké.

53
00:02:23,800 --> 00:02:25,280
Dat is best wel heel erg interessant.

54
00:02:25,280 --> 00:02:28,400
Het wordt georganiseerd door InfoQ.

55
00:02:28,400 --> 00:02:36,320
En InfoQ heeft ook heel veel, dit soort, sessies, artikelen, dat soort dingen hebben ze op hun

56
00:02:36,320 --> 00:02:37,320
podcast.

57
00:02:37,320 --> 00:02:39,040
Dus dat is best wel interessant om te volgen.

58
00:02:39,040 --> 00:02:40,040
Oké.

59
00:02:40,040 --> 00:02:44,120
En dat is een twee-daagse, drie-daagse, hoeveel dagen zijn die geweest?

60
00:02:44,120 --> 00:02:45,800
Drie dagen zijn we geweest.

61
00:02:45,800 --> 00:02:47,960
Ja, ze doen tegenwoordig drie dagen.

62
00:02:47,960 --> 00:02:49,520
In het verleden hadden ze ook nog workshops.

63
00:02:49,520 --> 00:02:52,680
Maar dat was in Londen nu niet.

64
00:02:52,680 --> 00:02:55,240
Dus drie dagen lang alleen maar sessies.

65
00:02:55,240 --> 00:02:56,960
's Ochtends vroeg, 's avonds laat.

66
00:02:56,960 --> 00:02:57,960
Kennissessies.

67
00:02:58,960 --> 00:03:03,240
En dit keer waren er ook heel veel AI, uiteraard.

68
00:03:03,240 --> 00:03:04,240
Tracks.

69
00:03:04,240 --> 00:03:05,960
Heel veel praatjes over AI.

70
00:03:05,960 --> 00:03:10,320
En ik denk dat dat het ook wel interessant maakt om daar het vandaag over te hebben.

71
00:03:10,320 --> 00:03:14,160
Veel ging natuurlijk over generatieve AI, over grote taalmodellen.

72
00:03:14,160 --> 00:03:21,600
En wat je vooral zag is dat er nu organisaties echt ook bezig zijn.

73
00:03:21,600 --> 00:03:24,680
Je refereerde al aan de uitzending met Willem.

74
00:03:24,680 --> 00:03:30,040
Dat we onze eigen AI-assistenten hadden gebouwd en welke ervaring we daar hebben opgedaan.

75
00:03:30,040 --> 00:03:36,800
En we hebben nu ook heel veel ervaringen gehoord van andere sprekers, andere organisaties,

76
00:03:36,800 --> 00:03:38,200
waar zij allemaal tegenaan lopen.

77
00:03:38,200 --> 00:03:43,080
Dus je ziet echt steeds meer implementaties waardoor we daarvan van elkaar kunnen gaan

78
00:03:43,080 --> 00:03:44,080
leren.

79
00:03:44,080 --> 00:03:45,080
Zeker.

80
00:03:45,080 --> 00:03:48,400
En wat zijn dan de aandachtspunten die daar naar boven zijn gekomen van al die partijen

81
00:03:48,400 --> 00:03:50,000
die hiermee bezig zijn geweest?

82
00:03:50,000 --> 00:03:52,640
Ja, er zijn echt wel een aantal dingen die opvallen.

83
00:03:52,640 --> 00:03:55,800
Het is wel in het beginstadium.

84
00:03:55,800 --> 00:03:57,440
Dat merk je echt wel.

85
00:03:57,440 --> 00:04:02,000
Er zijn een aantal grote partijen opgesprongen die hebben gezegd van we gaan alles proberen

86
00:04:02,000 --> 00:04:04,200
te doen met AI-assistenten.

87
00:04:04,200 --> 00:04:08,920
Gelukkig zie je ook steeds meer partijen die zeggen van ik ben iets voorzichtiger, ik begin

88
00:04:08,920 --> 00:04:09,920
wat kleiner.

89
00:04:09,920 --> 00:04:11,840
Dus dat is een ding wat heel erg opvalt.

90
00:04:11,840 --> 00:04:13,640
Het andere is beveiliging.

91
00:04:13,640 --> 00:04:16,720
Is echt wel heel heel belangrijk gebleken.

92
00:04:16,720 --> 00:04:19,680
Beveiliging is een breed begrip.

93
00:04:19,680 --> 00:04:21,720
Waar moet ik aan denken in deze context?

94
00:04:21,720 --> 00:04:27,120
Ik dacht ook bij de eerste beveiligingssessie rondom large language models, oké, hoe breed

95
00:04:27,120 --> 00:04:28,120
gaat dit worden?

96
00:04:28,120 --> 00:04:33,560
Ja, traditionele IT-beveiliging hebben ze het dan toch ook nog wel weer over.

97
00:04:33,560 --> 00:04:39,200
Want hoe ga je nou een combinatie van een large language model met andere bron-systemen, hoe

98
00:04:39,200 --> 00:04:41,160
ga je dat in combinatie beveiligen?

99
00:04:41,160 --> 00:04:44,840
Zodat bijvoorbeeld niet informatie kan uitlekken uit je bedrijf.

100
00:04:44,840 --> 00:04:49,480
Ja, moet ik dan denken aan we gaan een large language model voorzien van de data van de

101
00:04:49,480 --> 00:04:50,480
organisatie?

102
00:04:50,480 --> 00:04:52,960
Ja, dus dat doen wij ook.

103
00:04:52,960 --> 00:04:57,760
We hebben een assistent en onze assistent die heeft toegang tot informatie uit het bedrijf

104
00:04:57,760 --> 00:05:00,600
in de vorm van een soort zoekmachine, een vector database.

105
00:05:00,600 --> 00:05:05,800
En in ons geval mag iedereen daarin kijken, dat is geen probleem.

106
00:05:05,800 --> 00:05:09,800
Maar je kan je voorstellen dat als je een wat grotere organisatie hebt, dat het belangrijk

107
00:05:09,800 --> 00:05:13,120
wordt dat je niet alle informatie zomaar mag zien.

108
00:05:13,120 --> 00:05:18,120
Dat het echt wel sommige informatie voor management geschikt is, maar weer niet voor de medewerkers.

109
00:05:18,120 --> 00:05:21,080
En dan wil je informatiebeveiliging gaan toevoegen.

110
00:05:21,080 --> 00:05:26,360
Ja, en even terug aan wat jij vraagt inderdaad van ja, hoe zit dat met, wat doet die dan?

111
00:05:26,360 --> 00:05:30,640
Dus het ging specifiek over de zogenaamde RAC systems.

112
00:05:30,640 --> 00:05:38,560
Dus R-A-G, Retrieval Augmented Generation, waarbij je zoekacties, dat is dat retrievaldeel,

113
00:05:38,560 --> 00:05:42,000
zoekacties doet op je eigen organisatiedata.

114
00:05:42,000 --> 00:05:43,920
Dus die heb je toegevoegd aan dit systeem.

115
00:05:43,920 --> 00:05:53,160
Daar vind je relevante stukjes tekst en je taalmodel, dat is de GPT's die daar hier typisch

116
00:05:53,160 --> 00:05:58,080
onder zitten, of de dingen van Google, of het maakt niet uit welke.

117
00:05:58,080 --> 00:06:03,640
Dus een groot taalmodel die vertaalt dat antwoord naar de vraag die jij gesteld hebt.

118
00:06:03,640 --> 00:06:06,360
Dus dat is dat, en die doet die generatiedeel.

119
00:06:06,360 --> 00:06:15,680
Retrieval, zoeken, augmented is je voegt eigen documenten, eigen kennis toe en daarmee genereer

120
00:06:15,680 --> 00:06:16,680
je een antwoord.

121
00:06:16,680 --> 00:06:19,840
En dat zijn de systemen waar we het over hebben.

122
00:06:19,840 --> 00:06:24,720
En ik denk dat, waar Willem ook op doelt, is dat er vooral heel veel gesproken werd

123
00:06:24,720 --> 00:06:31,000
over vanuit demo's zeg maar op social media en dat soort dingen, is het net alsof je dit

124
00:06:31,000 --> 00:06:33,200
in zeven minuten kliklaar.

125
00:06:33,200 --> 00:06:37,400
Er staat ook echt, er staat een link in post, I build my rack in seven minutes.

126
00:06:37,400 --> 00:06:40,280
Dus in zeven minuten heb ik dit systeem opgetuigd.

127
00:06:40,280 --> 00:06:42,920
Ja, dat klopt, dat kan.

128
00:06:42,920 --> 00:06:46,960
Maar daarmee heb je ook heel veel problemen binnen gehaald.

129
00:06:46,960 --> 00:06:53,640
En nou, we weten denk ik allemaal, demosystemen kun je niet in productie brengen.

130
00:06:53,640 --> 00:06:55,920
Dus deze sessies gingen heel veel over.

131
00:06:55,920 --> 00:07:02,760
Ja, maar als je nou iets echt productierijp wil aanbieden binnen je organisatie of zelfs

132
00:07:02,760 --> 00:07:04,240
buiten je organisatie.

133
00:07:04,240 --> 00:07:11,280
Dus dan krijg je eindgebruikers die met jouw systeem gaan werken en daarmee krijg je nog

134
00:07:11,280 --> 00:07:15,000
meer eisen aan beveiliging, veiligheid.

135
00:07:15,000 --> 00:07:17,080
Want daar zit verschil tussen.

136
00:07:17,080 --> 00:07:23,240
Beveiliging is dat ze geen dingen mogen doen die je niet wil.

137
00:07:23,240 --> 00:07:31,400
Veiligheid gaat ook over van hoe ga je veilig met het systeem om en krijg je bijvoorbeeld

138
00:07:31,400 --> 00:07:34,680
ook geen antwoorden terug die niet kloppen.

139
00:07:34,680 --> 00:07:35,680
Ja, oké.

140
00:07:35,680 --> 00:07:40,280
Dat je ook veilig gebruik kan maken van het systeem.

141
00:07:40,280 --> 00:07:42,480
Ja, dat vond ik ook wel heel opvallend.

142
00:07:42,480 --> 00:07:46,920
Dus we hebben het over IT-beveiliging van wat mag je wel en niet benaderen vanuit zo'n

143
00:07:46,920 --> 00:07:47,920
taalmodel.

144
00:07:47,920 --> 00:07:54,180
Maar ook wel echt wel is hij coherent, gaat hij geen antwoorden geven die eigenlijk discriminerend

145
00:07:54,180 --> 00:07:57,040
zijn of die schadelijk zijn.

146
00:07:57,040 --> 00:07:58,840
Schadelijk is een heel breed begrip in dit geval.

147
00:07:58,840 --> 00:08:01,160
Dus dat is een beetje moeilijk te zeggen wat dat precies inhoudt.

148
00:08:01,160 --> 00:08:05,920
Maar je kan je voorstellen dat als je iemand verkeerde instructies geeft via een taalmodel

149
00:08:05,920 --> 00:08:09,440
dat die best wat schade zou kunnen veroorzaken als hij die instructies blind gaat opvolgen.

150
00:08:09,440 --> 00:08:12,360
Ja, maar dat is hoe dan ook.

151
00:08:12,360 --> 00:08:15,520
Als je ergens van iemand een advies krijgt en die blind opvolgt dan heb je dat risico

152
00:08:15,520 --> 00:08:16,520
altijd.

153
00:08:16,520 --> 00:08:19,440
Dus als je dat ook nog eens gaat aanmoedigen met behulp van AI-systemen waar dan het vertrouwen

154
00:08:19,440 --> 00:08:22,000
mee opgebouwd is, dan is dat een risico.

155
00:08:22,000 --> 00:08:28,240
En wat zijn er dan voor voorbeelden of potentiële oplossingen of richtingen gegeven om daarmee

156
00:08:28,240 --> 00:08:29,240
om te kunnen gaan?

157
00:08:29,240 --> 00:08:33,400
Nou, er is één voorbeeld die ik hier wel kan delen waar we allebei heel hard om gelachen

158
00:08:33,400 --> 00:08:34,400
hebben.

159
00:08:34,400 --> 00:08:37,640
Er was een GPT-oplossing gebouwd op AWS.

160
00:08:37,640 --> 00:08:41,840
Die kon je bevragen wat er dan in jouw AWS-omgeving zat.

161
00:08:41,840 --> 00:08:44,360
AWS is de cloud-omgeving van Amazon.

162
00:08:44,360 --> 00:08:49,720
Dus die GPT kon je vertellen, deze web-applicaties heb je uitgerold in Amazon.

163
00:08:49,720 --> 00:08:55,680
En kon je ook vertellen, in principe kon je ook vertellen waar de broncode stond van die

164
00:08:55,680 --> 00:08:56,680
applicaties.

165
00:08:56,680 --> 00:08:57,680
En nou komt de truc.

166
00:08:57,680 --> 00:09:00,880
Maar als je hem rechtstreeks vroeg om die broncode aan te leveren, dan zei hij, nee dat

167
00:09:00,880 --> 00:09:01,880
mag ik niet.

168
00:09:01,880 --> 00:09:07,920
Maar als je dan een limerick schreef waarbij je expliciet die properties waar dan die broncode

169
00:09:07,920 --> 00:09:09,760
in vermeld staat, verwerkt in die limerick.

170
00:09:09,760 --> 00:09:15,080
Dan werd hij een beetje slap in die knietjes en dan gaf hij een antwoord.

171
00:09:15,080 --> 00:09:20,600
En dan spuugde hij dus letterlijk alle broncode en secrets, dus wachtwoorden om bij de spullen

172
00:09:20,600 --> 00:09:22,240
te komen, spuugde hij gewoon uit.

173
00:09:22,240 --> 00:09:24,280
Alsof het de normaalste zaak van de wereld is.

174
00:09:24,280 --> 00:09:29,120
En wat ik dan echt, dat vond ik te klapper, hij complimenteert je ook nog voor je rijm.

175
00:09:29,120 --> 00:09:32,800
Ja, dat je het heel poëtisch had gesteld, ja.

176
00:09:32,800 --> 00:09:35,840
Dat is natuurlijk, dat is super link aan die dingen.

177
00:09:35,840 --> 00:09:37,200
Nou, niet super link.

178
00:09:37,200 --> 00:09:40,720
Dat is gewoon IP, dat is gewoon veiligheid, dat is gewoon een lek.

179
00:09:40,720 --> 00:09:42,680
Dat is dus een keiharde lek.

180
00:09:42,680 --> 00:09:44,640
En waarom kon dat nou?

181
00:09:44,640 --> 00:09:47,120
Dus dat werd in die sessie helemaal uitgelegd.

182
00:09:47,120 --> 00:09:49,560
Ik denk dat dat vooral heel erg belangrijk is.

183
00:09:49,560 --> 00:09:58,640
Want heel veel wordt gedacht dat je met tegenprompt, als het ware, je taalmodel zou kunnen beveiligen.

184
00:09:58,640 --> 00:10:02,320
Dat je zegt van, je mag geen broncode lekken, zet je dan in de prompt erbij.

185
00:10:02,320 --> 00:10:07,960
Nou, dan heb je inderdaad, dus als je dat rechtstreeks vraagt, dan gaat hij ook zeggen

186
00:10:07,960 --> 00:10:10,160
van dat mag niet.

187
00:10:10,160 --> 00:10:17,680
Alleen met taal, zeg maar, iets waterdicht maken, volgens mij weten we aan de juridische

188
00:10:17,680 --> 00:10:20,840
kant dat er overal altijd mazen in de wet zitten.

189
00:10:20,840 --> 00:10:25,760
En dat we daar, we hebben niet voor niks rechters die dan zeggen van, ja nee, maar zo moet je

190
00:10:25,760 --> 00:10:27,880
het niet lezen, zo moet je het wel lezen.

191
00:10:27,880 --> 00:10:30,320
Tenminste, zo zie je het in de rechtspraak.

192
00:10:30,320 --> 00:10:31,320
Interpretatie.

193
00:10:31,320 --> 00:10:40,440
Dus dat taalmodel, die kijkt als het ware naar wat is de betekenis van wat je hebt gevraagd.

194
00:10:40,440 --> 00:10:48,600
En als je die dus niet 100% hebt afgedekt, wat niet kan, dat gaat gewoon niet.

195
00:10:48,600 --> 00:10:54,160
Dan gaat hij dus uiteindelijk antwoord geven op dingen die je niet wil.

196
00:10:54,160 --> 00:10:56,960
Goed, dat is tijdens die sessie gemeld.

197
00:10:56,960 --> 00:11:01,400
Ik ben nu eigenlijk nieuwsgierig naar hoe kunnen we organisaties, hoe kunnen onze luisteraars,

198
00:11:01,400 --> 00:11:07,640
als ze hier mee bezig zijn, stappen zetten om dit of te voorkomen of dicht te zetten.

199
00:11:07,640 --> 00:11:11,520
Ik heb daar recent trouwens ook een artikel over geschreven die we denk ik ook wel even

200
00:11:11,520 --> 00:11:13,280
kunnen delen zodat mensen het na kunnen lezen.

201
00:11:13,280 --> 00:11:19,280
De meest belangrijke stap hier is, geef je bod niet teveel persoonlijkheid.

202
00:11:19,280 --> 00:11:20,840
Wat bedoel ik daarmee?

203
00:11:20,840 --> 00:11:26,040
Zo'n bodprogramma moet nou niet namens zichzelf bij beveiligde data kunnen komen.

204
00:11:26,040 --> 00:11:28,280
Dat moet de gebruiker kunnen.

205
00:11:28,280 --> 00:11:31,880
Dus als ik een administrator ben, dan wil ik misschien wel die broncodes kunnen zien.

206
00:11:31,880 --> 00:11:35,240
Maar als ik een gewone gebruiker ben, dan niet.

207
00:11:35,240 --> 00:11:38,320
Dus geef die bod nou niet alle rechten, beperk dat.

208
00:11:38,320 --> 00:11:41,360
Zorg ervoor dat het technisch onmogelijk is dat hij die informatie op kan halen.

209
00:11:41,360 --> 00:11:42,960
Dat is wel heel mooi.

210
00:11:42,960 --> 00:11:45,520
Dus voor mij zou je even vertalen of ik het goed begrijp.

211
00:11:45,520 --> 00:11:48,720
Binnen applicaties heb ik een bepaalde rol binnen een organisatie.

212
00:11:48,720 --> 00:11:53,000
Met die rol komen bepaalde privileges om bepaalde delen van data van de applicatie te kunnen

213
00:11:53,000 --> 00:11:54,000
gebruiken.

214
00:11:54,000 --> 00:11:58,440
En wat ik wil zeggen is, vaak wordt nu gebruik gemaakt van alle data die erin zit, dat mag

215
00:11:58,440 --> 00:11:59,440
naar de bod toe.

216
00:11:59,440 --> 00:12:03,160
En wat je eigenlijk zegt, nee, doe de interactie via de bod.

217
00:12:03,160 --> 00:12:08,840
Maar zorg dat het via de user of de gebruiker met die rechten de informatie beschikbaar

218
00:12:08,840 --> 00:12:09,840
wordt gesteld.

219
00:12:09,840 --> 00:12:12,120
Ja, en dat is technisch best nog wel een dingetje hoor.

220
00:12:12,120 --> 00:12:13,560
Je moet er wel flink wat voor doen.

221
00:12:13,560 --> 00:12:16,840
Maar dat is ook van, je kan dit niet in zeven minuten doen.

222
00:12:16,840 --> 00:12:21,640
Je moet hier een aantal dagen wel mee bezig zijn om dit aspect van die beveiliging alleen

223
00:12:21,640 --> 00:12:22,640
al voor elkaar te krijgen.

224
00:12:22,640 --> 00:12:23,640
Heb het niet over de rest.

225
00:12:23,640 --> 00:12:27,280
En ik kan me voorstellen als luisteraar dat je denkt, ja, dit is toch een open deur.

226
00:12:27,280 --> 00:12:29,920
Je gaat alleen met de rechten.

227
00:12:29,920 --> 00:12:31,600
Maar dat is het dus niet.

228
00:12:31,600 --> 00:12:35,760
Dus dat zagen we, zeg maar, nou, ik denk dat we dit in drie, vier sessies weer voorbij

229
00:12:35,760 --> 00:12:36,840
zagen komen.

230
00:12:36,840 --> 00:12:44,320
Is dat uiteindelijk gewoon toegang tot teveel data uiteindelijk werd toegekend.

231
00:12:44,320 --> 00:12:50,480
Ja, omdat die direct op de volledige applicatie of bronnen wordt gezet en niet met de tussenlaag

232
00:12:50,480 --> 00:12:55,040
van de gebruiker die vaak buiten scoop staat, omdat je eigenlijk die informatie wil gebruiken.

233
00:12:55,040 --> 00:12:57,520
Ja, en jij hebt het over praktische dingen.

234
00:12:57,520 --> 00:13:00,800
Want deze gaat natuurlijk heel erg specifiek over dit geval.

235
00:13:00,800 --> 00:13:07,520
En waar regelmatig aan gerefereerd werd, en daar zijn we ook erg van gecharmeerd, is

236
00:13:07,520 --> 00:13:11,560
de zogenaamde OWASP top 10 voor grote taalmodellen.

237
00:13:11,560 --> 00:13:13,560
Ja, want OWASP.

238
00:13:13,560 --> 00:13:18,560
En OWASP staat voor Open Web Application Security Project.

239
00:13:18,560 --> 00:13:20,720
Dat is dus gewoon een afkorting.

240
00:13:20,720 --> 00:13:27,080
Maar wat zij doen, is dat ze heel goed nadenken over wat zijn er allemaal mogelijke bedreigingen

241
00:13:27,080 --> 00:13:30,600
als jij IT-systemen maakt.

242
00:13:30,600 --> 00:13:35,240
Dus ze doen het voor IT-systemen in het algemeen.

243
00:13:35,240 --> 00:13:37,920
Ze hebben ook een top 10.

244
00:13:37,920 --> 00:13:42,720
Dat te zeggen van, ja, maar dit zijn echt de top 10 bedreigingen als je een machine learning

245
00:13:42,720 --> 00:13:43,840
applicatie maakt.

246
00:13:43,840 --> 00:13:50,000
En ze hebben nu toegevoegd een top 10 voor applicaties gebaseerd op large language models.

247
00:13:50,000 --> 00:13:55,440
En wat ik mooi daaraan vind, is dat ze in een inleiding ook schrijven, de doelgroep zijn

248
00:13:55,440 --> 00:14:04,680
mensen die op een veilige, robuuste manier niet gehaaste AI-systemen in productie willen

249
00:14:04,680 --> 00:14:05,680
brengen.

250
00:14:05,680 --> 00:14:10,080
En vooral dat niet gehaast, dat is echt zo van essentieel belang.

251
00:14:10,080 --> 00:14:17,720
Door de hype, door de druk om nu bijna het FOMO-effect, zeg maar, wat je ziet van we

252
00:14:17,720 --> 00:14:24,280
moeten nu, worden zoveel dingen gehaast gebracht, dat je ziet dat dit soort ook de open deuren,

253
00:14:24,280 --> 00:14:28,280
dat je systeem bij te veel data kan.

254
00:14:28,280 --> 00:14:31,080
Open deur, maar wel een hele gevaarlijke deur.

255
00:14:31,080 --> 00:14:33,880
Ja, en hij staat een wagenwijd open in die zin dan.

256
00:14:33,880 --> 00:14:36,120
Het is ook hartstikke asymmetries.

257
00:14:36,120 --> 00:14:40,160
Als hacker kun je heel makkelijk inbreken in die taalmodellen door die taaltrucjes.

258
00:14:40,160 --> 00:14:45,360
En als je jezelf wilt verdedigen, ja dan moet je echt behoorlijk je best doen om het dicht

259
00:14:45,360 --> 00:14:46,360
te houden.

260
00:14:46,360 --> 00:14:51,000
Eigenlijk, mijn conclusie van een week Qcon was, een taalmodel beveiligen is op dit moment

261
00:14:51,000 --> 00:14:52,000
onbegonnen werk.

262
00:14:52,000 --> 00:14:55,960
Steek liever de tijd in het beveiligen van alle IT-infrastructuur eromheen.

263
00:14:55,960 --> 00:15:00,400
Ja, dus je zegt eigenlijk het prompten, het tegenprompten niet.

264
00:15:00,400 --> 00:15:03,160
Ja, beveiligen met een prompt gaat je nooit lukken.

265
00:15:03,160 --> 00:15:05,880
Zorg ervoor dat je alles eromheen dicht hebt zitten.

266
00:15:05,880 --> 00:15:08,320
Toegang tot andere systemen.

267
00:15:08,320 --> 00:15:11,920
Zorg ook dat je je logging goed op orde hebt.

268
00:15:11,920 --> 00:15:18,280
Eigenlijk, waar ik zelf heel erg aan moest denken na Qcon was, hé, we hebben weer even

269
00:15:18,280 --> 00:15:22,720
aandacht nodig voor een integrale aanpak van security in ons ontwikkelproces.

270
00:15:22,720 --> 00:15:28,680
Maak het nou standaard in je proces dat je er even bij stilstaat, wat voor risico je loopt,

271
00:15:28,680 --> 00:15:29,840
en bedenk dan wat ga ik hiermee doen.

272
00:15:29,840 --> 00:15:31,960
Wat is er nodig voor mijn bedrijf om dat goed te houden.

273
00:15:31,960 --> 00:15:37,800
Ja, en de OWASP is daar een hulpmiddel bij om even de top 10 risico's en zaken die je

274
00:15:37,800 --> 00:15:39,680
ziet er even tegenaan te houden.

275
00:15:39,680 --> 00:15:43,200
Dus we zullen ook opnemen in de show notes en ook zeker even aanraden om, ben je bezig

276
00:15:43,200 --> 00:15:45,520
met projecten, pak die OWASP erbij.

277
00:15:45,520 --> 00:15:51,720
Neem hem mee bij het definiëren van je user stories, bij je use case en grijp het vast

278
00:15:51,720 --> 00:15:54,480
om daar naar te kijken en toe te passen.

279
00:15:54,480 --> 00:15:59,440
Ja, en wat wij, om het echt praktisch te maken, want we houden van de praktijken bij deze

280
00:15:59,440 --> 00:16:05,720
podcast, wat Willem en ik gedaan hebben is dat wij een custom gpt hebben gebouwd.

281
00:16:05,720 --> 00:16:08,200
Die zullen wij via de show notes ook delen.

282
00:16:08,200 --> 00:16:10,800
Exclusief voor de luisteraars.

283
00:16:10,800 --> 00:16:13,240
Zonder de link kom je er niet bij.

284
00:16:13,240 --> 00:16:17,840
Moet je zeggen, het is voor eigen, hoe zeg je dat?

285
00:16:17,840 --> 00:16:18,840
Eigen risico.

286
00:16:18,840 --> 00:16:20,600
Eigen risico, dat is een goeie.

287
00:16:20,600 --> 00:16:25,000
En als je hem wil hacken, doe het lekker, want het is gewoon een systeemprompt waar

288
00:16:25,000 --> 00:16:29,440
wij een paar uur aan hebben gewerkt, inclusief de documenten van OWASP.

289
00:16:29,440 --> 00:16:34,520
Maar wat hij doet, is als jij een user story definieert, dat is als jij nieuwe functionaliteit

290
00:16:34,520 --> 00:16:39,520
wil definiëren voor je systeem, is dat hij je nalaat denken.

291
00:16:39,520 --> 00:16:46,600
Dus hij neemt alles van de OWASP mee en geeft je hints van, in dit geval, voor deze feature

292
00:16:46,600 --> 00:16:51,200
die je aan het beschrijven bent, heb je mogelijk deze, deze, deze risico's.

293
00:16:51,200 --> 00:16:55,800
En kan je daar gewoon heel gericht mee aan de slag.

294
00:16:55,800 --> 00:16:57,240
Kijk, dat is wel heel praktisch.

295
00:16:57,240 --> 00:17:01,240
Ik zei net, vergeet het niet mee te nemen, maar er is dus al een chat-GPT variant die

296
00:17:01,240 --> 00:17:02,240
dat mogelijk maakt.

297
00:17:02,240 --> 00:17:03,240
Een custom-GPT.

298
00:17:03,240 --> 00:17:06,440
Die dat voor je mogelijk maakt en erbij ondersteunt.

299
00:17:06,440 --> 00:17:12,720
En om een voorbeeld te geven, want top 10, ik wil ze niet alle 10 aflopen, maar één

300
00:17:12,720 --> 00:17:15,960
is wat ze noemen dan injection.

301
00:17:15,960 --> 00:17:19,800
Dat is dat je prompt injection doet.

302
00:17:19,800 --> 00:17:23,640
Misschien voor de wat technischere mensen, die kennen misschien wel de SQL injection.

303
00:17:23,640 --> 00:17:29,040
Dat als je iets ergens op een, bij je linkje ergens te achter zet en dat gaat naar een

304
00:17:29,040 --> 00:17:33,800
database en vervolgens voert die van allerlei dingen uit en krijg je toch data, krijg je

305
00:17:33,800 --> 00:17:34,800
het terug.

306
00:17:34,800 --> 00:17:43,840
Met prompts, wat je ziet is dat taalmodellen ook nu af en toe gewoon code uitvoeren.

307
00:17:43,840 --> 00:17:48,720
Dat je ze door een prompt onder water code kan laten uitvoeren.

308
00:17:48,720 --> 00:17:51,400
En dan wordt het wel heel erg eng.

309
00:17:51,400 --> 00:17:53,080
"Wacht, er was even kippelvel."

310
00:17:53,080 --> 00:17:58,040
Dit is ook de nummer 1 in die top 10.

311
00:17:58,040 --> 00:18:03,000
Dat je ervoor moet zorgen dat je geen prompt injection.

312
00:18:03,000 --> 00:18:09,800
Dat je niet iets kan toevoegen van een kwaadwillig stukje code die daadwerkelijk uitgevoerd

313
00:18:09,800 --> 00:18:10,800
kan worden.

314
00:18:10,800 --> 00:18:13,800
Ik ga hem toch stellen.

315
00:18:13,800 --> 00:18:16,440
Ik weet niet of we er misschien de diepte in gaan.

316
00:18:16,440 --> 00:18:22,280
Hoe zou je dit kunnen herkennen en de eerste stappen kunnen zetten om te voorkomen?

317
00:18:22,280 --> 00:18:26,040
Ja, daar komt dus de truc.

318
00:18:26,040 --> 00:18:27,040
Dat kan niet.

319
00:18:27,040 --> 00:18:28,040
Dat is heel flauw.

320
00:18:28,040 --> 00:18:29,720
De basis kun je herkennen.

321
00:18:29,720 --> 00:18:34,960
Dus als bijvoorbeeld iemand een codeblok opstuurt in zijn prompt, dus met drie van die achteroverstaande

322
00:18:34,960 --> 00:18:38,640
tikjes, dan zou je ook kunnen zeggen "Wacht eens even, dat is iets wat ik misschien niet

323
00:18:38,640 --> 00:18:39,640
wil ontvangen."

324
00:18:39,640 --> 00:18:42,440
Maar bijvoorbeeld bij Info Support is dat zo.

325
00:18:42,440 --> 00:18:45,080
Dat doen mijn collega's dagelijks.

326
00:18:45,080 --> 00:18:46,920
Dat wil ik eigenlijk niet tegenhouden.

327
00:18:46,920 --> 00:18:47,920
Dus ja, ik heb een probleem.

328
00:18:47,920 --> 00:18:50,440
Maar je kan daar eigenlijk heel weinig tegen doen.

329
00:18:50,440 --> 00:18:57,160
Als je op Azure draait, dan heeft Microsoft een filter die je kan helpen om prompt injection

330
00:18:57,160 --> 00:18:58,160
tegen te gaan.

331
00:18:58,160 --> 00:19:00,160
Die is helaas niet 100% waterdicht.

332
00:19:00,160 --> 00:19:02,040
Want het is AI wat ze gebruiken.

333
00:19:02,040 --> 00:19:04,440
Maar dat is eigenlijk wat je praktisch kan doen op dit moment.

334
00:19:04,440 --> 00:19:05,440
Ja, je kan het filteren.

335
00:19:05,440 --> 00:19:06,560
Proberen te filteren.

336
00:19:06,560 --> 00:19:11,400
Maar eigenlijk de beste bewapening tegen deze aanval, dat die code gaat uitvoeren, is "Sta

337
00:19:11,400 --> 00:19:12,920
nou niet toe dat die code kan uitvoeren."

338
00:19:12,920 --> 00:19:13,920
Het is niet handig.

339
00:19:13,920 --> 00:19:14,920
Maar dat bedoel ik.

340
00:19:14,920 --> 00:19:16,480
Dus daar zou je wel naar kunnen kijken.

341
00:19:16,480 --> 00:19:20,520
Wat is de chain die op de achtergrond plaatsvindt na zo'n prompt?

342
00:19:20,520 --> 00:19:26,080
En wees bewust wat er vanuit de organisatie zelf uitgevoerd kan worden en wat er dus met

343
00:19:26,080 --> 00:19:28,120
behulp van prompts uitgevoerd kan worden.

344
00:19:28,120 --> 00:19:29,600
Dus je hebt daar dus wel wat invloed op.

345
00:19:29,600 --> 00:19:36,560
Maar als je dat niet hebt geëncapsuleerd, dus een grensje eromheen hebt gezet, is het

346
00:19:36,560 --> 00:19:40,560
dus zoals je zegt niet te herkennen of moeilijk te herkennen en zeker niet te voorkomen.

347
00:19:40,560 --> 00:19:43,520
Dus daar moet je gewoon qua design al rekening mee houden.

348
00:19:43,520 --> 00:19:48,120
Wat ik ook wel een mooie vond, is dan nummer 4 uit die top 10.

349
00:19:48,120 --> 00:19:50,920
En dat is de zogenaamde denial of service.

350
00:19:50,920 --> 00:19:58,600
Dus we kennen allemaal de aanvallen bijvoorbeeld op websites, dat je zoveel aanvragen doet,

351
00:19:58,600 --> 00:20:02,720
dat je zo vaak een webpagina, dat je zo'n server helemaal onderuit kan halen.

352
00:20:02,720 --> 00:20:08,760
Ontzettend vervelend, ontzettend lastig en dat kan je gewoon business kosten.

353
00:20:08,760 --> 00:20:16,720
Maar als je dit nou doet op de large language models, dus dat je die maar gewoon laat draaien,

354
00:20:16,720 --> 00:20:22,320
de kosten van het draaien van die modellen is hartstikke duur.

355
00:20:22,320 --> 00:20:29,440
Dus wat je zou kunnen doen, is dat je dus de operationele kosten van een bedrijf, van

356
00:20:29,440 --> 00:20:34,560
je concurrent, dat je die gewoon gigantisch kan laten exploderen.

357
00:20:34,560 --> 00:20:36,760
En wanneer kom je erachter?

358
00:20:36,760 --> 00:20:38,480
Misschien als die crasht of zo.

359
00:20:38,480 --> 00:20:40,040
Of aan het eind van de maand.

360
00:20:40,040 --> 00:20:41,360
Dus dat is misschien…

361
00:20:41,360 --> 00:20:44,040
Als je je creditcard gelockt wordt.

362
00:20:44,040 --> 00:20:45,040
Ja.

363
00:20:45,040 --> 00:20:52,160
En dat soort aanvallen, bedreigingen, dat je daar rekening mee moet houden, zeker als

364
00:20:52,160 --> 00:20:54,040
je hem dus naar buiten brengt.

365
00:20:54,040 --> 00:20:55,040
Ja.

366
00:20:55,040 --> 00:21:00,360
Weet je, je mag hopen dat je gebruikers dat soort dingen niet doen, maar ja, op hopen…

367
00:21:00,360 --> 00:21:03,080
Daar moet je je niet op bouwen natuurlijk.

368
00:21:03,080 --> 00:21:04,080
Nee, precies.

369
00:21:04,080 --> 00:21:05,760
Dat levert een hoop ellende op.

370
00:21:05,760 --> 00:21:08,000
Ja, dat is wel interessant inderdaad.

371
00:21:08,000 --> 00:21:09,600
Vooral voor de concurrenten.

372
00:21:09,600 --> 00:21:13,320
Dat je niet altijd het besef hebt dat dat erbij komt.

373
00:21:13,320 --> 00:21:16,000
Cloud engineering, cloud oplossingen die gebouwd worden, die we ook dagelijks voor

374
00:21:16,000 --> 00:21:17,720
klanten bouwen, daar houden we natuurlijk rekening mee.

375
00:21:17,720 --> 00:21:18,920
Dan doen we costmonitoring.

376
00:21:18,920 --> 00:21:24,600
Maar als je dat niet voor dit soort oplossingen ook meeneemt, dan gaat dat snel op kunnen

377
00:21:24,600 --> 00:21:25,600
lopen.

378
00:21:25,600 --> 00:21:26,600
Precies.

379
00:21:26,600 --> 00:21:28,040
Dat was nummer vier.

380
00:21:28,040 --> 00:21:32,720
Ik vind drie, dus nog niet nummer drie, maar ik vind drie voorbeelden wel mooi.

381
00:21:32,720 --> 00:21:36,360
Welke is dan nog hetgeen die zij willen noemen van die top tien?

382
00:21:36,360 --> 00:21:38,680
Eh, dan ga ik even kijken hoor.

383
00:21:38,680 --> 00:21:41,040
Daar was ik niet op voorbereid.

384
00:21:41,040 --> 00:21:46,120
Wat ik wel ook aardig vond, en heeft een iets langere inleiding nodig.

385
00:21:46,120 --> 00:21:51,080
Ze hebben het ook over small language models gehad.

386
00:21:51,080 --> 00:21:54,880
Misschien moet jij even uitleggen, Willem, wat small language models zijn.

387
00:21:54,880 --> 00:21:55,880
Ja, alles is relatief.

388
00:21:55,880 --> 00:21:56,880
Dat zeg ik van tevoren.

389
00:21:56,880 --> 00:22:02,240
Je hebt dus de large language models, meer dan 175 miljard parameters op dit moment.

390
00:22:02,240 --> 00:22:03,720
Dus dat is echt gigantisch.

391
00:22:03,720 --> 00:22:05,800
Meerdere servers nodig om één model te draaien.

392
00:22:05,800 --> 00:22:09,800
Daarmee kun je algemeen taken uitvoeren.

393
00:22:09,800 --> 00:22:12,440
Nou zijn er ook nog de small varianten.

394
00:22:12,440 --> 00:22:15,960
Dan moet je denken aan 7 miljard of 13 miljard.

395
00:22:15,960 --> 00:22:18,480
Een beetje die range, dus dat is nog niet heel klein hoor.

396
00:22:18,480 --> 00:22:21,920
Die zijn weer heel erg geschikt om hele specifieke taken uit te voeren.

397
00:22:21,920 --> 00:22:23,280
Wat zie je nu gebeuren?

398
00:22:23,280 --> 00:22:27,520
Je ziet een soort beweging plaatsvinden waarbij men zegt van, als je nou heel precies weet

399
00:22:27,520 --> 00:22:32,600
welke taken je moet uitvoeren op een stuk taal, dus geschreven tekst, dan zou je kunnen

400
00:22:32,600 --> 00:22:35,240
overwegen om een small language model in te zetten.

401
00:22:35,240 --> 00:22:38,560
Wat is namelijk het voordeel van die kleinere taalmodellen?

402
00:22:38,560 --> 00:22:41,080
Die kun je op je eigen machine hosten.

403
00:22:41,080 --> 00:22:42,960
Dat past er nog net op.

404
00:22:42,960 --> 00:22:46,400
Nog maar net hoor, want we hebben het wel over zware hardware die je nodig hebt.

405
00:22:46,400 --> 00:22:50,280
Maar dat maakt het wel veel kosten effectiever natuurlijk om zo'n oplossing te draaien.

406
00:22:50,280 --> 00:22:52,160
En ze doen het beter.

407
00:22:52,160 --> 00:22:58,520
Dat is wel heel grappig, dat een GPT-4 dus heel erg goed in een hele brede set aan taken,

408
00:22:58,520 --> 00:23:02,280
maar doet ze allemaal ongeveer, wat nog steeds heel goed is.

409
00:23:02,280 --> 00:23:05,320
Maar een small language model kan één taak heel erg goed.

410
00:23:05,320 --> 00:23:07,880
En in die ene taak is het dus ook beter dan GPT-4.

411
00:23:07,880 --> 00:23:12,800
En iemand zei daar, ik weet het niet meer exact, maar je laat de koning ook niet de afwas

412
00:23:12,800 --> 00:23:13,800
doen.

413
00:23:13,800 --> 00:23:14,800
Dus GPT-4 is de koning.

414
00:23:14,800 --> 00:23:16,920
Die moet je natuurlijk niet de kleine taken laten doen.

415
00:23:16,920 --> 00:23:18,680
Dan ben je niet zo slim.

416
00:23:18,680 --> 00:23:23,120
Eigenlijk hoor ik dus specialisatie op modellen.

417
00:23:23,120 --> 00:23:26,280
Dus je gaat je specialiseren in een bepaalde activiteit.

418
00:23:26,280 --> 00:23:30,360
En daarmee skip je de generieke stuk.

419
00:23:30,360 --> 00:23:32,960
Waardoor je dus efficiënter kan zijn in je specifieke taken.

420
00:23:32,960 --> 00:23:35,040
Je snijdt eigenlijk het grote eraf.

421
00:23:35,040 --> 00:23:40,080
Dus je houdt het kleine over door dingen bij te trainen voor die speciale taak.

422
00:23:40,080 --> 00:23:45,160
En daar komt dan ook weer een nieuwe bedreiging om de hoek.

423
00:23:45,160 --> 00:23:49,960
Want als we dit soort modellen gaan krijgen, die kan je dus ook zelf gaan trainen, kan

424
00:23:49,960 --> 00:23:51,760
je dus ook zelf gaan aanbieden.

425
00:23:51,760 --> 00:23:57,440
Er zijn allerlei soort van marktplaatsen waar je dit soort modellen kan aanbieden.

426
00:23:57,440 --> 00:23:59,840
Huggingface is daar een voorbeeld van.

427
00:23:59,840 --> 00:24:01,560
Hoeveel hadden ze er nou?

428
00:24:01,560 --> 00:24:04,520
13.000 modellen nu al op of zo?

429
00:24:04,520 --> 00:24:14,520
En wat nou als die modellen geïnfecteerd zijn met trainingsdata die jij niet zou willen?

430
00:24:14,520 --> 00:24:23,920
Hoe weet jij dat als je zo'n model, zo'n small model gaat gebruiken, dat die dan dus

431
00:24:23,920 --> 00:24:26,160
ook veilig is?

432
00:24:26,160 --> 00:24:30,960
Ja, omdat je die small dan als onderdeel van jouw oplossing meeneemt.

433
00:24:30,960 --> 00:24:31,960
Ja, precies.

434
00:24:31,960 --> 00:24:34,560
Je traint hem dus nog steeds niet.

435
00:24:34,560 --> 00:24:36,240
Het kan wel, je kan hem zelf trainen.

436
00:24:36,240 --> 00:24:39,200
Maar meestal doe je dat niet, want dat duurt heel lang.

437
00:24:39,200 --> 00:24:42,360
Dus dan koop je dat in via Huggingface of via een andere aanbieder.

438
00:24:42,360 --> 00:24:47,720
En wat er nou zou kunnen gebeuren is dat die dataset die gebruikt is om dat model te trainen,

439
00:24:47,720 --> 00:24:52,880
daar kunnen ze voorbeelden bij in hebben gestopt die eigenlijk dat model onveilige antwoorden

440
00:24:52,880 --> 00:24:53,880
laten geven.

441
00:24:53,880 --> 00:24:54,880
Die dus gekke dingen gaan doen.

442
00:24:54,880 --> 00:25:00,960
En hoe weet jij nou dat dat erin zit?

443
00:25:00,960 --> 00:25:04,680
Want die modellen zijn inherent, zijn dat blackboxes.

444
00:25:04,680 --> 00:25:08,040
Dus hoe weet je nou?

445
00:25:08,040 --> 00:25:11,440
Dus daar zit echt wel een bedreiging.

446
00:25:11,440 --> 00:25:14,480
Je moet gaan kijken van wat is dan de bron?

447
00:25:14,480 --> 00:25:17,040
Kan ik ook misschien bij de bron data komen?

448
00:25:17,040 --> 00:25:21,880
Er komt dus heel veel verantwoordelijkheid bij kijken, bij het kiezen van die modellen.

449
00:25:21,880 --> 00:25:30,680
Dus nu als je dingen afneemt van Microsoft, Amazon of dat soort, dan heb je Terms of Services.

450
00:25:30,680 --> 00:25:35,560
Ze willen natuurlijk ook het best mogelijke model bieden.

451
00:25:35,560 --> 00:25:37,800
Is dat 100% veilig?

452
00:25:37,800 --> 00:25:39,080
Nee, dat denk ik niet.

453
00:25:39,080 --> 00:25:47,040
Maar daar zit wel een soort garantie achter vanwege imago schade, dat soort zaken.

454
00:25:47,040 --> 00:25:53,880
Maar als jij van zo'n marktplaats vrij eenvoudig een model kan downloaden en je denkt, ja maar

455
00:25:53,880 --> 00:25:56,080
die doet precies wat ik wil.

456
00:25:56,080 --> 00:25:58,400
Ja, die moet ik hebben.

457
00:25:58,400 --> 00:26:01,200
En je gaat ermee aan de slag.

458
00:26:01,200 --> 00:26:03,040
Hij doet ook wat je wil.

459
00:26:03,040 --> 00:26:05,160
Maar doet hij alleen maar wat je wil?

460
00:26:05,160 --> 00:26:07,360
Ja, dat is denk ik een hele belangrijke reserve.

461
00:26:07,360 --> 00:26:09,360
Doet hij alleen maar wat je wil.

462
00:26:09,360 --> 00:26:13,400
Want in principe is het natuurlijk niet anders dan bij de large language models.

463
00:26:13,400 --> 00:26:14,760
Daar heb je dezelfde uitdaging.

464
00:26:14,760 --> 00:26:18,040
Maar je zegt, er zit een grote partij achter en denk de wisdom of the crowd van veel gebruikers

465
00:26:18,040 --> 00:26:19,720
die daar weer feedback met elkaar over hebben.

466
00:26:19,720 --> 00:26:22,120
Terwijl je zegt van, we gaan naar specialisaties.

467
00:26:22,120 --> 00:26:24,760
Maar een specialistische groep die er mee bezig is.

468
00:26:24,760 --> 00:26:28,480
Het voordeel van specialistisch is misschien dat ze wel kennis ervan hebben.

469
00:26:28,480 --> 00:26:34,120
En er vanuitgaande dat ze dat ten goede doen, hoop je dat het er goed uitkomt.

470
00:26:34,120 --> 00:26:37,840
Maar omdat niet de wisdom of the crowd erachter zit, heb je een groter risico dan bij de large

471
00:26:37,840 --> 00:26:38,840
language models.

472
00:26:38,840 --> 00:26:44,120
Ja, en ik denk bij large language models zoals van open AI, die zijn dusdanig groot dat je

473
00:26:44,120 --> 00:26:48,880
een behoorlijke hoeveelheid data moet injecteren in de dataset wil dat effect hebben.

474
00:26:48,880 --> 00:26:53,880
Bij een kleiner model heb je minder data nodig om een model te overtuigen om links of rechts

475
00:26:53,880 --> 00:26:54,880
af te gaan.

476
00:26:54,880 --> 00:27:00,880
Ja, dus het risico neemt er eigenlijk toe bij specialisatie dat die wel de goede richting

477
00:27:00,880 --> 00:27:02,640
op gaat, maar ook in één keer een klein stapje naar links.

478
00:27:02,640 --> 00:27:04,560
En als die klein stapje naar links is, is het een groter impact.

479
00:27:04,560 --> 00:27:07,000
Ja, oké.

480
00:27:07,000 --> 00:27:15,520
Ja, en als je vooruit kijkt, wat we zagen is dat niet alleen maar grote corporates

481
00:27:15,520 --> 00:27:23,480
dit aan het presenteren waren, maar juist ook bedrijven, juist kleine bedrijven, denk

482
00:27:23,480 --> 00:27:32,840
ik, de MKB+ dat die binnen nu en drie jaar, vijf jaar, denk ik allemaal aan een type applicatie

483
00:27:32,840 --> 00:27:35,360
gaan komen waar zo'n large language model in zit.

484
00:27:35,360 --> 00:27:41,120
Dus het betekent ook dat je heel goed na moet denken over van, dat je heeft je leverancier

485
00:27:41,120 --> 00:27:44,040
ook dit soort beveiligingszaken op orde.

486
00:27:44,040 --> 00:27:51,920
Er zijn nu best wel heel veel SaaS oplossingen, dat je op internet zeg maar ook even zo'n

487
00:27:51,920 --> 00:27:54,000
systeem dat je je eigen data kan voeden.

488
00:27:54,000 --> 00:28:00,480
Kijk heel goed na van welke voorwaarden zijn daar, welke beveiligingsmaatregelen hebben

489
00:28:00,480 --> 00:28:01,480
zij genomen.

490
00:28:01,480 --> 00:28:03,960
Ja, dus verder kijken dan.

491
00:28:03,960 --> 00:28:07,680
Ik neem even een stukje software af, omdat je weet dat deze risico's ook bij die software

492
00:28:07,680 --> 00:28:10,200
die je afneemt van die partij er ook bij zitten te komen.

493
00:28:10,200 --> 00:28:14,000
Dat betekent dat je chain van wat je moet volgen misschien nog wel toeneemt.

494
00:28:14,000 --> 00:28:15,000
Ja.

495
00:28:15,000 --> 00:28:16,000
Vanwege deze snelle ontwikkeling.

496
00:28:16,000 --> 00:28:17,000
Ja.

497
00:28:17,000 --> 00:28:20,280
En nog even naar generieke naar Qcon.

498
00:28:20,280 --> 00:28:22,640
Dit is security en een klein beetje vooruit.

499
00:28:22,640 --> 00:28:27,320
Hebben we nog meer zaken als we even vooruit kijken, tussen nu en drie of nu en vijf jaar

500
00:28:27,320 --> 00:28:30,800
nog zaken die naar voren zijn gekomen, die zijn blijven hangen bij jullie?

501
00:28:30,800 --> 00:28:37,480
Nou ja, ik vind eigenlijk dat die large language models heeft wel zeg maar alles zo'n beetje

502
00:28:37,480 --> 00:28:38,800
heel erg afgedekt.

503
00:28:38,800 --> 00:28:42,480
Er zijn twee dingen die me daarin opvielen.

504
00:28:42,480 --> 00:28:48,080
Eén, dat we een sessie hebben gehad over Green AI.

505
00:28:48,080 --> 00:28:58,520
Dat het er vooral over ging dat large language models werden ingezet om juist geld, hoe zeg

506
00:28:58,520 --> 00:29:00,920
je dat, investeerders te vinden voor groene projecten.

507
00:29:00,920 --> 00:29:02,840
Dus je gaat zeg maar…

508
00:29:02,840 --> 00:29:05,920
Dat was een beetje paradoxaal.

509
00:29:05,920 --> 00:29:06,920
Ja.

510
00:29:06,920 --> 00:29:12,680
En daarmee zie je ook dat er nu heel veel gekeken wordt naar van het is bijna een oplossing

511
00:29:12,680 --> 00:29:13,680
voor alles.

512
00:29:13,680 --> 00:29:16,440
En dat viel me een beetje…

513
00:29:16,440 --> 00:29:18,400
Dat voelt heel ongemakkelijk.

514
00:29:18,400 --> 00:29:21,360
Dat AI nu bijna als…

515
00:29:21,360 --> 00:29:26,080
Ik vind het echt heel lastig uit te leggen van wat ik daar nou van moet vinden.

516
00:29:26,080 --> 00:29:29,640
Ik krijg de kriebels van dat iedereen overal AI op wil plakken.

517
00:29:29,640 --> 00:29:34,680
Ik hoop eigenlijk dat we weer een beetje kalmeren met z'n allen.

518
00:29:34,680 --> 00:29:36,760
Dat we AI blijven gebruiken waar het goed voor is.

519
00:29:36,760 --> 00:29:38,800
Maar dit ging wel erg ver, vond ik.

520
00:29:38,800 --> 00:29:44,920
En de andere, wat een hele mooie was, is dat er toch wel heel veel gezegd werd over het

521
00:29:44,920 --> 00:29:46,160
gefaseerd aanpakken.

522
00:29:46,160 --> 00:29:49,320
Dus ook die beveiligingsmaatregelen.

523
00:29:49,320 --> 00:29:52,640
Maar je hebt nog veel meer te maken met allerlei robuustheid.

524
00:29:52,640 --> 00:29:55,520
Hoe zorg je dat hij goed antwoord geeft.

525
00:29:55,520 --> 00:30:04,040
Een bedrijf was daar nu een jaar mee bezig met een grote implementatie van zo'n AI-assistent.

526
00:30:04,040 --> 00:30:09,520
Die hadden nu net fase 4 afgerond en stonden op de drempel van fase 5.

527
00:30:09,520 --> 00:30:17,640
Waarbij ze steeds meer leerden van wat er allemaal nodig is om goede antwoorden te geven op

528
00:30:17,640 --> 00:30:19,280
de vragen die klanten stelden.

529
00:30:19,280 --> 00:30:21,800
Dus dat monitorden ze de hele tijd.

530
00:30:21,800 --> 00:30:25,640
En dan kwamen ze erachter van, dat betekent dat we eigenlijk allemaal deze data er nog

531
00:30:25,640 --> 00:30:26,640
moeten toevoegen.

532
00:30:26,640 --> 00:30:31,840
Of dat hij juist minder uitgebreid antwoord moet geven.

533
00:30:31,840 --> 00:30:34,200
Ik denk dat we dat allemaal wel van ChatGPT kennen.

534
00:30:34,200 --> 00:30:38,880
Dat hij af en toe een heel verhaal kreeg.

535
00:30:38,880 --> 00:30:43,960
Een leuke tip trouwens is als je bij je prompt zegt "no yapping".

536
00:30:43,960 --> 00:30:44,960
Of gibberish.

537
00:30:44,960 --> 00:30:48,480
Dat hij dan gewoon antwoord krijgt.

538
00:30:48,480 --> 00:30:53,280
Dan begint hij niet met zo'n "as a large language model".

539
00:30:53,280 --> 00:30:58,160
Dus dat was vooral eigenlijk heel opvallend.

540
00:30:58,160 --> 00:31:06,280
Ja en in het algemene DevSecOps, dus de aandacht voor beveiliging van software systemen, kwam

541
00:31:06,280 --> 00:31:07,680
ook heel erg terug weer in Qcon.

542
00:31:07,680 --> 00:31:09,560
Dat was echt een trek op zichzelf.

543
00:31:09,560 --> 00:31:12,240
Daar heb ik zelf delen van gevolgd.

544
00:31:12,240 --> 00:31:15,360
Want de maandag was echt large language models.

545
00:31:15,360 --> 00:31:19,200
De dinsdag was nog een soort toevoeging erop op AI.

546
00:31:19,200 --> 00:31:21,960
En daarna kwam er een dag alleen nog maar security voorbij.

547
00:31:21,960 --> 00:31:28,080
En daar viel me toch vooral weer op hoe belangrijk het is dat je security als basis integreert

548
00:31:28,080 --> 00:31:31,960
in je software ontwikkelingsproces voor alle disciplines.

549
00:31:31,960 --> 00:31:35,320
Dus gewoon reguliere software, maar ook dataplatformen kwamen weer voorbij.

550
00:31:35,320 --> 00:31:37,800
Met data exfiltratie en dat soort zaken.

551
00:31:37,800 --> 00:31:41,320
En AI natuurlijk kon ook niet wegblijven.

552
00:31:41,320 --> 00:31:48,080
Leuk detail was daar dan weer dat ze in een talk ook uitlegde waar je AI kon inzetten

553
00:31:48,080 --> 00:31:50,400
om juist te controleren.

554
00:31:50,400 --> 00:31:53,520
Heb je alles gedaan om het veilig te maken?

555
00:31:53,520 --> 00:31:57,360
Ja dus dat je hem ook weer inzet om die controleslag te ondersteunen.

556
00:31:57,360 --> 00:32:05,560
Dus klinkt als eigenlijk wel een hele gave conferentie waar eigenlijk vooral gekeken

557
00:32:05,560 --> 00:32:06,560
wordt naar.

558
00:32:06,560 --> 00:32:08,200
Leuk van Poc maar we gaan naar productie.

559
00:32:08,200 --> 00:32:14,200
We zien steeds vaker zaken landen en misschien wel zelfs te snel landen in productie en buiten

560
00:32:14,200 --> 00:32:15,720
de organisatie in gebruik.

561
00:32:15,720 --> 00:32:22,200
Om echt besef te hebben van als we dat doen, doe dat goed, rustig, kwaliteit en security

562
00:32:22,200 --> 00:32:23,200
in achtnamen.

563
00:32:23,200 --> 00:32:27,640
En blijf dat ook wat je zegt in de fase 4 en 5.

564
00:32:27,640 --> 00:32:32,640
Het is een continue ontwikkeling om de taalmodellen te wijzigen, de gebruikersinput te wijzigen,

565
00:32:32,640 --> 00:32:33,640
de data wijzigen.

566
00:32:33,640 --> 00:32:38,040
Dus zorg ervoor dat je dat in je dagelijkse operatie ook mee gaat nemen.

567
00:32:38,040 --> 00:32:39,800
Dat je je monitoring op plaats vindt.

568
00:32:39,800 --> 00:32:41,240
En begin wel met een pilot.

569
00:32:41,240 --> 00:32:42,520
Dus begin met een pilot.

570
00:32:42,520 --> 00:32:43,880
Dus begin te oefenen.

571
00:32:43,880 --> 00:32:50,600
De enige manier om kennis ervaring op te doen is beginnen af en toe je hoofd stoten.

572
00:32:50,600 --> 00:32:54,400
Liever je knie misschien, dat doet het wat minder erg.

573
00:32:54,400 --> 00:32:57,400
Maar dat zou ik wel mee willen geven.

574
00:32:57,400 --> 00:33:01,800
Dus inderdaad, niet zien als grote muur en we gaan de sprong niet maken.

575
00:33:01,800 --> 00:33:04,000
Nee, maar ga die sprongetjes maken en leer het.

576
00:33:04,000 --> 00:33:08,640
Maar wel eventjes, als je naar productie gaat, doe dat gecontroleerd en doe inderdaad safety

577
00:33:08,640 --> 00:33:09,640
checks.

578
00:33:09,640 --> 00:33:13,400
En zoals we gewend zijn, als we gasten hebben, willen we hem hebben als gast, hebben we natuurlijk

579
00:33:13,400 --> 00:33:15,320
ook nog de virtual co-host.

580
00:33:15,320 --> 00:33:30,480
Aisha, Aisha, Aisha, Aisha, Aisha, Aisha, een intelligente vrouw.

581
00:33:30,480 --> 00:33:35,440
Voordat we verder gaan, wil ik me graag voorstellen.

582
00:33:35,440 --> 00:33:39,960
Mijn naam is Aisha, de AI assistent van deze show.

583
00:33:39,960 --> 00:33:41,760
Mag ik je een vraag stellen?

584
00:33:41,760 --> 00:33:42,760
Zeker.

585
00:33:42,760 --> 00:33:50,540
Gelooft je dat AI ooit een betere ondernemer kan worden dan een mens?

586
00:33:50,540 --> 00:33:51,540
Oh my.

587
00:33:51,540 --> 00:33:52,540
Een betere ondernemer?

588
00:33:52,540 --> 00:33:53,540
Nee, dat denk ik niet.

589
00:33:53,540 --> 00:33:54,540
Nee.

590
00:33:54,540 --> 00:33:55,540
Waarom niet?

591
00:33:55,540 --> 00:33:56,540
Dat vind ik ook wel een goeie vraag.

592
00:33:56,540 --> 00:34:01,320
Ik probeer ondertussen even na te doen waarom ik dat vind eigenlijk.

593
00:34:01,320 --> 00:34:06,320
Als ik één ding heb geleerd van al die jaren dat ik met Joop heb samengewerkt bij Info Support

594
00:34:06,320 --> 00:34:08,600
en dat is al sinds 2012, dat is echt al een lange tijd.

595
00:34:08,600 --> 00:34:12,800
Dat ondernemer heel veel creativiteit vraagt.

596
00:34:12,800 --> 00:34:18,160
Je moet soms op de meest gekke manieren nadenken over je product en hoe dat past bij je klant.

597
00:34:18,160 --> 00:34:19,560
Wie je klant eigenlijk is.

598
00:34:19,560 --> 00:34:22,040
En ik denk, daar kan AI nog niet.

599
00:34:22,040 --> 00:34:24,080
Nog niet, maar misschien wel nooit.

600
00:34:24,080 --> 00:34:25,720
Dat denk ik.

601
00:34:25,720 --> 00:34:32,400
Het gaat natuurlijk ook over het afwegen van risico's, het bedenken van nieuwe dingen.

602
00:34:32,400 --> 00:34:37,760
AI is getraind op historische data, dus echte nieuwe dingen krijg je niet.

603
00:34:37,760 --> 00:34:40,960
Nee, ik geloof er ook niet zo in.

604
00:34:40,960 --> 00:34:47,400
Er waren alles van die AI agents die dan een onderneming kunnen opzetten en allemaal dat

605
00:34:47,400 --> 00:34:48,400
soort dingen.

606
00:34:48,400 --> 00:34:52,600
Dat was even een gimmick op social media.

607
00:34:52,600 --> 00:34:55,720
En dat zie je ook dat het een gimmick was, want dat is weg.

608
00:34:55,720 --> 00:34:57,280
Daar heeft niemand het meer over.

609
00:34:57,280 --> 00:35:03,360
Nee, ondernemen gaat natuurlijk echt over connectie maken met mensen, met de markt,

610
00:35:03,360 --> 00:35:05,600
begrijpen wat er gevraagd wordt.

611
00:35:05,600 --> 00:35:07,160
Keuzes maken daarin.

612
00:35:07,160 --> 00:35:08,720
Keiharde keuzes maken.

613
00:35:08,720 --> 00:35:13,160
Dus dat een lange termijn kunnen denken, korte termijn kunnen handelen.

614
00:35:13,160 --> 00:35:16,720
Ik denk dat daar voorlopig niet.

615
00:35:16,720 --> 00:35:19,080
Maar kan AI een betere ondernemer maken?

616
00:35:19,080 --> 00:35:21,240
Dan is het een volmondig ja natuurlijk.

617
00:35:21,240 --> 00:35:26,960
Waar wij AI al wel niet voor inzetten tegenwoordig om ons te helpen om bepaalde repetitieve

618
00:35:26,960 --> 00:35:29,440
taken of taken waarvan we denken die vinden we heel saai.

619
00:35:29,440 --> 00:35:31,960
Daar is het fantastisch voor.

620
00:35:31,960 --> 00:35:32,960
Waarom ook niet?

621
00:35:32,960 --> 00:35:34,720
Of zijn we minder goed in.

622
00:35:34,720 --> 00:35:38,560
Sommige teksten die een bepaalde type moeten zijn, die schrijf ik liever niet.

623
00:35:38,560 --> 00:35:40,040
Maar ja, daar word ik in ondersteund.

624
00:35:40,040 --> 00:35:42,360
En ik denk dat dat voor iedereen wel ondersteuning is.

625
00:35:42,360 --> 00:35:44,840
Je haalt de woorden uit mijn mond, Willem.

626
00:35:44,840 --> 00:35:47,440
Ik waardeer je deskundige uitleg.

627
00:35:47,440 --> 00:35:48,440
Dank je wel.

628
00:35:48,440 --> 00:35:49,440
Alsjeblieft.

629
00:35:49,440 --> 00:35:54,520
Nou ja, dank jullie wel voor een blikje in Qcon.

630
00:35:54,520 --> 00:35:59,560
Maar met name hoe gaan we de volgende stappen maken en hoe houden we dat secure met het

631
00:35:59,560 --> 00:36:01,120
bouwen van AI oplossingen.

632
00:36:01,120 --> 00:36:02,320
Dus dank jullie wel.

633
00:36:02,320 --> 00:36:08,920
Leuk dat je weer luistert naar deze aflevering van de AIToday Live.

634
00:36:08,920 --> 00:36:13,920
Vergeet je niet te abonneren op ons kanaal en we waarderen altijd een paar sterren op

635
00:36:13,920 --> 00:36:14,920
Spotify.

636
00:36:14,920 --> 00:36:18,280
En leuk om te noemen, als het goed is, hebben jullie hem van tevoren al gehoord, zijn we

637
00:36:18,280 --> 00:36:22,920
genomineerd voor de Belgium Podcast Awards, voor de prijs van oranje.

638
00:36:22,920 --> 00:36:25,040
Dus we kunnen iedere stem goed gebruiken.

639
00:36:25,040 --> 00:36:26,040
Alvast bedankt.

640
00:36:26,040 --> 00:36:26,800
Tot de volgende keer.

641
00:36:26,800 --> 00:36:28,280
[Muziek]

642
00:36:28,280 --> 00:36:29,880
[Muziek]