Algoritme als een Dienst

26 okt 2020

Dit is een vervolg op het inleidende artikel "Van wie is het model"?

Wat kunnen klant en ontwikkelaar van elkaar verwachten als het eindproduct een dienst wordt? De klant komt bij de ontwikkelaar. Deze geeft hem haar data en de vraag die zij beantwoord wil hebben. De ontwikkelaar schoont de data op, verduidelijkt de vraagstelling en kiest vervolgens een model. Met dit model en de voorbereidende stappen kan hij het algoritme trainen. Verder kan hij met nieuwe data ook nieuwe versies van het algoritme trainen. De ontwikkelaar heeft nu een algoritme wat op basis van nieuwe data een voorspelling kan gaan doen.

Dit algoritme zet de ontwikkelaar op een server waardoor de klant via een website of een API nieuwe data kan sturen en de resultaten krijgt. De klant heeft dus een dienst ‘gekocht’ en heeft de ontwikkelaar in ieder geval een kopie van de data(set) gegeven om de dienst te ontwikkelen. Een voorbeeld hiervan is Google Vision AI’s API. Dit is een API (application programming interface) waar je een foto naartoe kan sturen om bijvoorbeeld gezichten of logos te herkennen in de foto. In dit geval lever je zelf niet de trainingsdata aan, maar maak je gebruik van de data die door Google verzameld is.

Voor de ontwikkelaar

Als ontwikkelaar heb je hier de verantwoordelijkheid voor het hosten en onderhouden van het algoritme. Verder zul je ook de uitkomsten van het algoritme uit moeten leggen als daarom wordt gevraagd. In ruil daarvoor hoef je je model en algoritme niet prijs te geven. Je kunt de klant op basis van een abonnement SaaS: Software as a Service), een vast bedrag of op basis van gebruik laten betalen. Verder zul je erop moeten letten dat als jouw klant het financiële risico van het project draagt, de klant misschien een databankrecht heeft op de voorbereide data voor het trainen. Je mag de data dan niet voor andere projecten gebruiken.

Voor de klant

Als klant heb je niet veel controle op het algoritme en het model. In ruil daarvoor heb je ook minder verantwoordelijkheden aangezien de ontwikkelaar het hosten en onderhoud regelt. Voor de uitleg van het algoritme ben je verder afhankelijk van de ontwikkelaar, dus dit kan problemen opleveren als de uitleg belangrijk is voor jouw specifieke vraag. Deze oplossing is geschikt als je zelf niet de kennis in huis hebt om het model te beoordelen of te onderhouden.

Conclusie

Deze samenwerkingsvorm is vooral geschikt als de klant zelf weinig kennis in huis heeft om modellen te beoordelen, onderhouden en hosten omdat de ontwikkelaar een groot deel van de verantwoordelijkheid neemt. Verder zal men op de uitdagingen van Software as a Service (SaaS) moeten letten. Die zijn te vinden in ons artikel.

Wat kunnen wij voor u betekenen?

AI/ML zijn niet in de wet verankerd. Dit betekent dat partijen die gaan werken met AI/ML technologie over verschillende aspecten van de opdracht afspraken moeten maken om de onderlinge juridische posities alsnog te bepalen. Onderwerpen zoals de selectie van data(sets), hoe wordt een model getraind, hoe kan je je model en algoritmes beschermen, wie is waar verantwoordelijk / aansprakelijk voor, wie mag wat met het algoritme, wat mag je wel en niet met de data(set), wat mag er verwacht worden van het algoritme en (hoe) kunnen de uitkomsten van het model uitgelegd worden.

Wij maken dit soort overeenkomsten en beoordelen dit soort overeenkomsten.

Voor vragen kunt u contact opnemen met Jos van der Wijst.
Dit artikel is geschreven door Robin Verhoef en Jos van der Wijst.