Waar Python sterk in is
Train en gebruik AI-modellen
Een supportteam verdrinkt in de berichten. Sommige gaan over facturering, andere over bezorging en weer andere over opnieuw toegang krijgen tot een account. Het team wil software die voor elk nieuw bericht een onderwerp voorstelt.
Dit is een redelijke taak voor AI. Het laat ook goed zien dat “AI gebruiken” in werkelijkheid een reeks beslissingen is, waarvan mensen de meeste nemen.
Wat een model eigenlijk is
Een AI-model is een systeem dat patronen heeft geleerd uit voorbeelden en een voorspelling of gegenereerd resultaat kan geven voor iets wat het niet eerder heeft gezien.
De voorbeelden zijn hier oude berichten die al aan onderwerpen zoals facturering of bezorging zijn gekoppeld. Het model leert patronen in die koppelingen en stelt daarna een onderwerp voor bij een nieuw bericht.
Dat voorstel is geen feit. Het model kan een bericht verkeerd begrijpen, een vooroordeel uit de leervoorbeelden getrouw overnemen of ongemerkt slechter gaan presteren als de echte berichten veranderen. Daarom draait de kern van dit proces om controleren, niet om trainen.
Het proces en de plek waar het rekenwerk gebeurt
Het schema beantwoordt twee vragen tegelijk: in welke fase zit het team en waar worden de grote numerieke berekeningen echt uitgevoerd?

Het begint met voorbereide voorbeelden, in het schema Prepare examples. Voor die fase geldt alles uit de vorige les. Een krachtig model kan slecht gekozen of verkeerd begrepen voorbeelden niet herstellen. Iemand moet weten waar de gegevens vandaan komen en of ze gebruikt mogen worden.
Dan volgt een keuze om een model te krijgen, Get a model. Het team kan een model trainen: het met voorbeelden aanpassen totdat het bruikbare patronen oppikt. Die route heet Train a new model. Een groot model vanaf nul trainen kan enorme hoeveelheden gegevens, expertise, rekentijd en geld vragen. Kleinere modellen kunnen veel minder vragen. Het team kan ook een vooraf getraind model nemen dat iemand anders al heeft getraind en dat met de eigen berichten controleren: Select a pretrained model. “Wij gebruiken AI” vertelt je niet welke route is gevolgd, of dat ze verzoeken sturen naar een model dat iemand anders beheert.
Beide routes gaan langs een beoordeling voordat iets een klant bereikt: Evaluate for this purpose. Een model evalueren betekent controleren hoe het zich gedraagt op geschikte gegevens waarmee het niet is getraind. Eén cijfer is zelden genoeg. Een model kan veelvoorkomende bezorgvragen goed verwerken en zeldzame accountproblemen slecht, of wel in de ene taal werken maar niet in de andere. Wat een fout kost, hangt volledig af van wat er daarna gebeurt.
Die beoordeling stuurt het team vaak terug. Daarvoor is de teruggaande pijl, met de tekst If needed, return to an earlier stage: ga zo nodig terug naar een eerdere fase. Echt AI-werk is niet één nette route van links naar rechts.
Daarna wordt het model gebruikt, in het schema Use on new input. Dit heet vaak inference, oftewel het model gebruiken. Er gaat een bericht in, er komt een voorgesteld onderwerp uit en een supportmedewerker blijft betrokken om het voorstel te accepteren of te wijzigen. Daarna volgt het volgen van het gebruik in productie, Connect and monitor. Er komen nieuwe soorten berichten, kosten veranderen en fouten treffen vaak vooral één groep mensen.
De strook onder in het schema verrast mensen vaak: het AI-hulpmiddel kan gespecialiseerde CPU- of GPU-code gebruiken voor numeriek werk tijdens training en gebruik. In hulpmiddelen zoals PyTorch en TensorFlow draait veel van het zware numerieke werk in gespecialiseerde code op een CPU, de hoofdprocessor van een computer, of een GPU, een processor die veel numerieke bewerkingen tegelijk kan uitvoeren. De precieze verdeling hangt af van het hulpmiddel en de bewerking.
Waarom zie je Python dan overal in AI?
Dat is een terechte vraag. Als gewone Python niet snel rekent, waarom is het dan zo belangrijk in een vakgebied dat op rekenwerk is gebouwd?
Omdat Python het rekenwerk kan aansturen zonder elke stap als gewone Python-instructies uit te voeren. Het bereidt informatie voor, beschrijft het werk, roept het framework aan, bekijkt het resultaat, beoordeelt het gedrag en verbindt de uitkomst met een product. PyTorch en TensorFlow dragen ondersteunde zware bewerkingen over aan code die voor snelheid is gemaakt.
Python is de plek waar mensen het werk coördineren, en coördinatie vormt het grootste deel van de taak. Daarom is Python goed geschikt voor het trainen en gebruiken van AI. De eerlijke reden is niet dat Python zelf snel is. De bibliotheken waarmee het verbonden is, zijn dat wel!
De bibliotheek neemt de beslissingen niet
Of de gegevens geschikt zijn, wat de hardware kost en wie schade ondervindt als het model fout zit, zijn geen vragen die een framework beantwoordt. Het Amerikaanse National Institute of Standards and Technology noemt betrouwbaarheid, privacy en schadelijke vooringenomenheid als aandachtspunten gedurende de levensduur van een AI-systeem. Welke het zwaarst wegen, hangt volledig af van wat het systeem doet en voor wie.
Een model dat muziekaanbevelingen sorteert en een model dat een medische beslissing ondersteunt, brengen niet hetzelfde risico met zich mee. Geen bibliotheek kent dat verschil. Mensen kiezen het bewijs, de controles, de grenzen en hoeveel menselijke controle behouden blijft.
De rol van Python in AI is echt en groot. Ze is ook bescheidener dan de marketing doet vermoeden: Python is de toegankelijke plek waar gegevens, hulpmiddelen, beoordeling en een product met elkaar verbonden worden. De laatste les van dit hoofdstuk vraagt waarom diezelfde rol in zoveel verschillende vakgebieden terugkomt.
Verder lezen (Engels)
De korte rondleiding door Hugging Face Transformers laat het gebruiken van een vooraf getraind model en het trainen van een model als aparte routes zien. Het C+±overzicht van PyTorch legt uit hoe de Python- en C+±delen samenwerken. Beide zijn technischer dan deze les en beide zijn optioneel.