AI och maskininlärning
- different but same, same
Av Charlotta Carlsson 2021-01-04
Jag har en ung bekant, J, som just blivit klar med sin "Data Scientist"-examen vid ett stort universitet i Kalifornien. Han har framtiden för sig: Kunskapen om hur data kan analyseras och användas är nämligen grundbulten inom det exploderande teknikområdet AI, Artificiell Intelligens.
Men AI är inte bara för sådana som J. För alla oss som jobbar med IT och digitalisering är det nödvändigt att greppa vad AI handlar om eftersom det snart nog kommer in i alla branscher. Inte minst om du som jag arbetar i ledande roller inom IT behöver du kunna tillräckligt om AI för att bedöma business cases, kravställa systemlösningar, styra AI-projekt i förhållande till verksamhetsmål och på ett initierat sätt coacha de personer som ska utveckla AI-lösningarna.
Sagt och gjort! Nyligen gick jag kursen ”Leading AI projects” hos Chalmers Professional Education. Det var en mycket givande överflygning av AI-området, med både forskningsfront och massor av exempel från verkligheten bland deltagarna. Jag som tycker om att lära mig nya saker blev glad över att jag begrep det mesta. AI är inte trolleri utan bara ett annat sätt att programmera.
Min största behållning med kursen var insikten att det som ger framgång i AI-projekt är precis samma saker som alltid i IT-utveckling. Jag återkommer strax till detta.
Den gren av AI som står för de allra flesta kommersiella tillämpningar hittills heter maskininlärning (ML). ML är så vanligt att du antagligen använder det varje dag utan att veta om det.
Detta är ML, med min grova förenkling:
En vanlig tillämpning är bildanalys. Ett typexempel är att datorn kan kategorisera om en bild föreställer en katt eller en hund, utifrån hur den har ”lärt sig” typiska karakteristika i tidigare bilder på katter och hundar. Skulle du införa ytterligare en kategori "räv" blir det genast svårare. Applikationerna och modellerna kan vara mer eller mindre komplexa. "Data scientisterna" behöver veta vad de gör... Tänk på självkörande bilar till exempel.
En praktisk tillämpning inom vården är att datorn kan tolka röntgenbilder för att identifiera tumörer istället för att använda dyrbar läkartid till detta. Och häromdagen hörde jag på Ekot om ett aktuellt forskningsprojekt där AI används för att känna igen älgar som filmas när de äter vid en matningsstation.
Ett annat område för ML är analys av naturligt språk. Google har nyligen lanserat en sådan mycket framgångsrik modell som heter BERT. (BERT (language model) - läs på Wikipedia)
Detta om detta. För den som vill veta "lite" mera kan jag rekommendera denna MOOC kurs på Mälardalens högskola, öppen för alla: Online AI Courses – AI Class.
AI är annorlunda men ändå precis som vanligt
Jag tycker att AI är ”different but same, same”. Det är inte första gången som ny teknik driver förnyelse innan man ens vet vad nyttan blir. Man först bara anar att vardag, verksamheter och affärer kan förändras. Sedan mognar tekniken i sig och lönsamma användningsområden hittas. För att sedan lyckas med tillämpningen är det vissa faktorer som spelar roll oavsett teknik. Dessa blir om möjligt ännu viktigare när AI är med i spelet! Låt mig säga så här:
Om du inte har bra koll på följande saker utan AI så är nog chansen att lyckas med ett AI-projekt inte så stor.
Kravhantering
Precis som i andra sorters IT-projekt behöver du veta vad du vill åstadkomma. Kravhantering för AI-projekt handlar t.ex. om dessa bekanta områden:
Användarmedverkan
Team som består av både verksamhet och IT brukar lyckas bäst. Varför skulle det då fungera att placera utvecklare och "data scientists" långt från användare när man håller på med avancerad AI? De gamla vanliga UX-principerna och metoderna gäller fortfarande.
Ett iterativt och experimentellt arbetssätt
Att arbeta iterativt, med kontinuerlig utvärdering av modeller och prototyper, är en känd framgångsfaktor i systemutveckling. AI/ML-projekt är i hög grad iterativa och experimentella.
En väl definierad process/workflow i utveckling är som vanligt viktigt, kreativitet frodas bäst då ramarna är trygga.
Test
Test av mjukvara har till syfte att hitta fel, helst redan på tankestadiet, genom att utmana. Ju mer komplicerade algoritmer, desto svårare att utmana och testa. Samtidigt är det ju ännu viktigare att testa väl ju mer komplext någonting är eftersom det då finns större risker för fel. Testerna av AI/ML-applikationer kan vara utmanande kring:
Verktyg och teknisk infrastruktur
Systemutveckling och förvaltning går bättre med mogna, väl integrerade utvecklingsverktyg och en stabil teknisk infrastruktur. Med AI och ML tillkommer nya behov av verktyg som ska anpassas efter behov och synkas med omgivande teknologi och arbetsprocesser, som redan kan vara mycket komplexa i dagens IT-landskap.
Eftersom AI-området är relativt nytt är verktygsmognaden ojämn. Open source som släpps av de stora jättarna kanske inte alls går att applicera i någon annan verksamhet. Det finns en risk för övertro på verktyget, om man inte förstår vad det gör.
Den tekniska infrastrukturen och hur teknik-"stacks" sätts upp påverkar möjligheten till en stabil data pipeline, som är ryggraden i AI/ML-tillämpningar.
Datakvalitet
Den gamla devisen ”Skit in=>skit ut” blir extra relevant för AI/ML eftersom hela nyttan av den tekniken kommer ur datat:
Ändringshantering
Som alltid behöver du ha koll på konfigurationshantering, versionshantering, och återanvändning. I AI/ML-tillämpningar är hela tiden frågan: Är modellen fortfarande relevant? Den behöver förvaltas på ett medvetet sätt.
Ledarskap
Eftersom AI/ML-projekt kräver en stor bredd av kompetenser, avancerade metoder och verktyg, så ställer det motsvarande stora krav på projektledningen som ska hålla ihop alltihopa.
Organisationer som vill vara framgångsrika i en snabbföränderlig värld behöver ett tillitsbaserat ledarskap, och ledare som hellre framhäver sina team än sig själva. För en lyckad AI-satsning tror jag ledare behöver vara extra ödmjuka och släppa fram tekniska talanger samtidigt som de coachar och faciliterar processen med verksamhetsnytta i sikte. De måste också medvetet sprida kunskap i organisationen om vad AI är och inte är.
När jag gick kursen på Chalmers så hade vi ett stort antal grupparbeten med ständigt nya slumpmässiga gruppsammansättningar. Min roll blev nästan varje gång att driva diskussionen, medan de flesta andra hade mer AI-erfarenhet att bidra med. Både och behövdes för att vi skulle komma framåt.
Slutord
Det är lätt att gå bort sig i en övertro på tekniken i sig. Om jag var du skulle jag vara skeptisk om jag stötte på en organisation som marknadsförde sig med AI såvida de inte gör verktyg för just detta. Detta säger nämligen ingenting om vad som ska åstadkommas. Istället borde de berätta vad de vill leverera i form av nytta eller nöje.
När du sätter igång med AI behöver du begåvade specialister, som min unge bekant data scientisten från Kalifornien. Men det behövs också en del gamla erfarna rävar som styr upp kravhantering, test, datakvalitet, verktyg, ändringshantering, arbetsprocesser och människor, inte minst se till att användarna kommer med i loopen.
Jag ser fram emot mitt första AI-projekt, inte om utan när det kommer.
© Copyright 2022. All Rights Reserved.