Siden kunstig intelligens gjorde sitt «comeback» med imponerende resultater innen bildegjenkjenning og tekstforståelse tilbake i 2012, har interessen for teknologien vært sterkt økende.

Jeg tror at kunstig intelligens er en teknologi som engasjerer fordi alle kan relatere sine personlige utfordringer til den. Det er lett å tenke «bruksområder» for teknologien på et konseptuelt nivå – det er den praktiske gjennomføringen som straks blir vanskelig. Dette er veldig tydelig de gangene jeg har holdt AI 101 kurs – det er et mylder av gode ideer om hva AI kan brukes til. Jeg har hørt alt fra «rettferdig scoring av eksamensbesvarelser» til klassifikasjon av «bakteriekulturer i  petriskål» i samtaler med kursdeltakere.   

Disse tendensene finner vi også ved å se nærmere i undersøkelser rettet mot næringslivet. Både funn fra Gartner i 2017/18, og vår egen undersøkelse presentert i rapporten «Scale AI» viser at det er stor vilje til å teste ut ulike konsepter av maskinlæring (ML) det man ofte kaller «proof of concept» (POC). Likevel er det svært få som klarer «hoppet» fra en prototype til en løsning som fungerer i produksjon og gir verdi.

Det kan være flere grunner til at en POC stopper opp. Kanskje maskinlæringsmodellen man har trent ikke klarer å oppnå de resultatene man ønsker? Eller at ideen ikke er en løsning på et faktisk problem. Da er det fristende å trekke ut «pluggen» på prosjektet. Ikke gjør det! OBS – det er helt avgjørende at ML brukes til å adressere faktiske behov, men i påvente av en «full match» er det mye å lære av å gjennomføre POCer med mindre direkte verdi.

Verdien av læring

Motivasjonen for en POC er ofte å lære mer, forstå den nye teknologien og hvordan man kan bruke den. Det ligger imidlertid mye mer læring i en POC enn bare å optimere ML-algoritmer. For selv om data og forståelse for data unektelig er de viktigste enkeltfaktorene for en vellykket ML løsning, så krever det å ta i bruk teknologien mye mer.

Som utvikler er det her en POC gir størst verdi. Å avdekke hvilke endringer i organisasjon, infrastruktur eller måten vi arbeider som kreves for å ta i bruk kunstig intelligens. Se for deg at du bygger et hus. De aller fleste har en ide om hvordan huset skal se ut, hvilke funksjoner det skal ha og en viss anelse om hva det vil koste. Likevel, du lærer kun hva som skal til for å bygge huset ved å bygge hele huset, og ikke bare deler av det.

På samme måte er det med maskinlæring, selve optimering av algoritmen er kun en bitteliten del av hele prosjektet. Sjansene er store for at ML-løsningen vil kreve et annet tankesett, andre verktøy og annen infrastruktur enn de fleste bedrifter i dag er rigget for. For en god intro til dette tankesettet foreslår jeg for øvrig: How Google does Machine Learning.

Bruk POC til å besvare spørsmål

Når man så planlegger en POC er det viktig å stille noen krav til hva man ønsker å lære. Ved å ha et bevisst forhold til hva man ønsker å lære, og hvordan læringen skal formidles er det større sjanse for å få verdi ut av prosjektet. For meg som utvikler er en POC nyttig for å besvare følgende: 

  • Hvilke datakilder har vi, hvordan får vi tak i og kombinert data fra disse kildene?
  • Hvor skal dataene behandles? Er det sensitive data som krever et sikkert utviklingsmiljø, eller kan hver enkelt utvikler leke med algoritmen på egen laptop?
  • Hvordan skal maskinlæringsløsningen integreres med eksisterende løsning? Må løsningen kjøre lokalt eller i skyen, og gjennom hvilke grensesnitt skal den tilgjengeliggjøres?
  • Hvordan skal maskinlæringsmodellen overvåkes, vedlikeholdes og oppdateres? Når og hvordan skal maskinlæringsmodellen trenes på nye data?

En POC bør ha som ambisjon å besvare flere eller alle av disse spørsmålene. Fellesnevneren er at dette er problemstillinger man vil møte på hver gang man gjennomfører et maskinlæringsprosjekt. Svarene vil forhåpentligvis resultere i gjenbrukbare prosesser, kode eller erfaringer som vil komme godt til nytte den dagen noen får en skikkelig god idé.

Sørg for å ta vare på og dele kunnskapen

Et punkt jeg selv ofte synder mot er å sørge for at kunnskapen man har opparbeidet seg videreformidles godt. Dette er også et punkt jeg tror flere synder på. Her er det flere triks man kan ta med seg:

  • Sørg for god dokumentasjon fra dag en. Ha et krav om at alle «tilpasninger» eller unntak fra normale «rutiner» skrives ned og begrunnes.
  • Involver og inkluder «forretningssiden». Maskinlæring har en tendens til å skape mye engasjement når man forstår hva teknologien faktisk kan brukes til.
  • Skriv kode som er godt kommentert, lett å gjenbruke og enkel å komme i gang med.
  • Ha gode rutiner for logging av ML-eksperimenter.

Gjennom denne teksten har jeg forsøkt å peke på fordelene med en POC. Avslutningsvis vil jeg likevel poengtere at det koker ned til følgende: for å lykkes med kunstig intelligens MÅ man være villig til å gjøre en jobb. Dessverre er ikke kunstig intelligens et produkt man kan kjøpe rett fra hylla. Det er rett og slett en prosess man må gjennom. Da er en POC med tydelig definerte mål, og ekte engasjement et utmerket verktøy.  

Martin Gran

Application Development Specialist

Subscription Center
Abonner på Accenture Innsikt Blog Abonner på Accenture Innsikt Blog