Hoppa till innehåll
ai_png_1400x400_14.png

Infrastruktur och arkitektur

Givet teknikens bredd och upplevda komplexitet kan det vara svårt att veta hur man som enskild organisation ska resonera när det kommer till tekniska vägval vid utveckling av lösningar baserade på AI. I vilken mån bör och får man använda sig av olika typer av tjänster i olika sammanhang?

Förenklat finns det fyra övergripande typer av tjänster:

AI som tjänst (AI as a service)
– avser molnbaserade tjänster som levereras av större eller mindre aktörer. Det kan exempelvis röra sig om mindre tjänster som enkelt kan kopplas in via API:er direkt in i verksamhetens systemmiljö, men det kan också vara plattformar där kunderna kan bygga egna AI-lösningar.

AI som del av standardsystem
– detta är en alltmer vanligt förekommande form av användning av AI. Större leverantörer av standardsystem erbjuder funktioner som bygger på AI-tekniker som valbara tillägg till de verksamhetssystem som de redan erbjuder. 

Kompletta AI-plattformar
– en så kallad end-to-end-plattform som köps komplett. I en sådan ingår ofta både en del färdiga modeller och ibland till och med AI-drivna tjänster, samt förmågor för att bygga egna AI-drivna tjänster.  

AI-plattformar och tjänster baserade på öppen källkod-komponenter som byggs samman av organisationen
– det finns en stor omfattning komponenter som levereras som öppen källkod och alltså är fritt för vem som helst att använda sig av. Flera myndigheter använder dessa öppna komponenter för att bygga egna plattformar och lösningar i sin egen miljö.

 

ai_png_h400_03.png

Verksamheten inom olika delar av offentlig förvaltning skiljer sig påtagligt åt. Det är därför varken lämpligt eller möjligt att ge generella vägledningar för vilken typ av tjänst som en organisation bör välja. Istället har den här guiden målsättningen att förmedla de lärdomar som regeringsuppdragets fyra myndigheter gjort under de år som de arbetat med AI-baserade tjänster och plattformar. 

Beroende på vilka förutsättningar organisationen har skiljer sig svaret på vilka tekniska vägval man bör göra. Det behöver inte heller handla om ett vägval, utan olika utmaningar kräver olika lösningar. Dessa lösningar kan vara av olika karaktär, bygga på olika tekniker och tillhandahållas av olika leverantörer. Överlag bör en offentlig organisation alltid försöka identifiera den lösning som bäst löser det behov som finns, med beaktande av den övergripande it-arkitekturen. Detta gäller oavsett om lösningen är baserad på AI eller traditionell programmering.

Inför utveckling av AI drivna tjänster bör skapa förståelse för att tjänsterna sällan blir perfekta. Ett visst mått av osäkerhet behöver nästan alltid accepteras och en förståelsen för detta behöver skapas i organisationen. Utöver det behöver tjänsterna byggas så pass transparenta att vi kan förstå när det blir fel och korrigera det. Det är ofta värt att investera i att etablera skalbara principer och strukturer i ett tidigt skede, vilka kan utvecklas när behoven ändras framöver. Genom kunskap om etablerade arbetssätt för utveckling av AI kan man komma i gång snabbare. Det lönar sig också att bygga upp kunskap kring utmaningar som kan behöva hanteras vid utveckling och drift av AI-baserade tjänster i större skala.   

I takt med att intresset och förmågan att utveckla AI-modeller har ökat har också behovet av att kunna styra utvecklingsprocessen ökat. Inom maskininlärningsområdet har metoden MLOps utvecklats med syfte att standardisera, automatisera och effektivisera alla delsteg i utvecklingsprocessen – från datainsamling till driftsättning. MLOps bygger vidare på tankarna bakom DevOps, men det finns några centrala skillnader som gör att principer för DevOps inte är direkt överförbara. I MLOps-fallet handlar det om att driftsätta modeller till skillnad mot DevOps som handlar om att driftsätta kod/programvara. De stora (moln)leverantörerna av AI-plattformar har ofta egna guider som beskriver hur MLOps är tänkta att fungera i deras plattform. Det finns dock generella principer och lärande exempel som är teknikoberoende. (Läs mer här: Machine Learning Operations (MLOps): Overview, Definition, and Architecture)Öppnas i ny flik

Plattform och teknikval har till stor del att göra med vilken ambitionsnivå organisationen har med AI i dagsläget och framöver. Ju fler modeller, och ju oftare dessa behöver uppdateras, desto bättre strukturer och verktyg behövs för att kunna göra det på ett effektivt sätt. Förmågan att utveckla AI-modeller hänger också ihop med dataförsörjning. I vissa fall är det enkelt att hitta och använda data för att träna en modell. I andra fall är dataförsörjningen komplicerad och stora krav ställs på att kunna tillgängliggöra data i realtid vid det tillfälle modellen används. Att säkerställa spårbarhet och reproducerbarhet från ax till limpa är inte alltid enkelt och kräver en genomtänkt arkitektur. 

ai_png_h600_01.png

En fördjupning i de fyra typerna av AI-tjänster

”AI-området rör på sig i en snabb takt vilket innebär att vi behöver ompröva våra beslut”

Tre frågor till Andreas Horndahl, AI-arkitekt på arbetsförmedlingen om vägval kring infrastruktur

Vilken ansats har ni på Arbetsförmedlingen när det gäller val kring infrastruktur och arkitektur?

Fram till för några år sedan använde vi oss av en egenutvecklad plattform för AI-utveckling. Idag använder vi oss av en kommersiell plattform som till stora delar bygger på open-source-komponenter. Plattformen är inte perfekt, men den helhetsupplevelse som plattformen erbjuder skulle kosta orimligt mycket att utveckla på egen hand. Att lyckas få till en välfungerande lösning för utveckling av AI-tjänster, från ax till limpa, är utmanande. AI-lösningar kan se olika ut, men det finns gemensamma nämnare. Exempelvis vill man kunna övervaka sina modeller och utföra experiment på ett strukturerat sätt. Det som är utmanande är att få till något som hänger ihop på ett sätt som gör att alla inblandade kan vara produktiva i olika utvecklingsfaser. Det kan också vara utmanande att få återkopplingsmekanismerna att fungera.  

Vad ligger till grund för era vägval på Arbetsförmedlingen?

Det gäller att ta hänsyn till flera olika typer av användare och perspektiv på samma gång. Vi försöker ta ett helhetsgrepp och se till att den stöttande infrastrukturen hänger ihop. Vi vet att det är kostsamt och energikrävande att utveckla och förvalta AI-plattformar som kan erbjuda allt vi behöver. Den AI-plattform vi använder idag är ett komplement till den IT-infrastruktur som redan finns på plats. Det är viktigt att hitta en bra balans mellan att bygga upp nya förmågor och att leverera nytta här och nu. Det kan vi göra genom att lägga kraft och energi på att utveckla tillämpningar, och låta kommersiella aktörer stå för utvecklingen av själva plattformen. AI-området rör på sig i en snabb takt vilket innebär att vi behöver ompröva våra beslut regelbundet.  

Vår ambition är att bli bättre på att utveckla AI-förmågor i betydelsen att vi vill kunna utveckla fler AI-tjänster på kortare tid och på ett säkert sätt. Vi följer exempelvis utvecklingen inom MLOps och anpassar därefter vårt sätt att arbeta. Flera av de tillämpningar vi arbetar med är komplicerade i meningen att verkligheten rör på sig. Exempelvis förändras vilka kompetenser och arbetsuppgifter som förknippas med ett yrke över tid. Det innebär att vi behöver kunna övervaka våra system på ett effektivt sätt och träna om våra modeller regelbundet.  Vi jobbar också en hel del med tillämpningar som bygger på språkteknologi, och i och med det behöver vi tillgång till beräkningsresurser (GPU). Vi vet också att vi behöver ta höjd för att kunna leva upp till kommande lagstiftning. Med det sagt så behöver vi en kompentent plattform. 

Kan du ge exempel på erfarenheter ni gjort under vägen som kan vara nyttiga för andra offentliga aktörer – just när det gäller val av infrastruktur?

Det är viktigt att förstå hur behoven ser ut både på kort och på lite längre sikt. Exempelvis kan det vara bra att reda ut vilka krav på transparens och förklarbarhet som kommer att finnas framöver. Om det finns en vilja att utveckla och förvalta fler än några enstaka AI-tjänster så bör behovet av stödjande infrastruktur och processer inte underskattas. Det är relativt enkelt att paketera och driftsätta en modell första gången. Det är när modellerna behöver uppdateras, eller tränas om regelbundet, som behovet av stödstrukturer blir tydligt.  

ai_png_h400_09.png

”Vi vill gärna dela infrastruktur och tjänster med andra offentliga aktörer ” 

Tre frågor till Danne Nordell, strateg AI och digitalisering på Skatteverket, om att välja open source och att dela med sig av infrastruktur och tjänster.

Vilken typ av tjänster har ni valt på Skatteverket?

Vi har valt att utifrån open-sourcekomponenter bygga ihop lösningar som skapar en helhet i våra nya stöd för utveckling av AI-drivna tjänster. Vi sätter till exempel ihop open source-komponenter som tillsammans bildar en kedja som kan utföra ett antal viktiga steg automatiskt. Vi kallar dem för pipelines som vi förpackar i så kallade chassin. En analogi för pipelines/chassin är att du sätter dig i bilen, vrider om nyckeln, det börjar blinka och plinga, och ett antal kontroller utförs. När kontrollerna är genomförda är bilen är klar att köra, såvida du inte får några felmeddelanden förstås. När du tränar en machine learning-modell eller sätter en AI-driven tjänst i produktion så kollar automationskedjan igenom ett antal saker som är nödvändiga innan man är klar för att köra. Ofta hittar kedjan inga problem och då kör man vidare i utvecklingsresan eller produktionssättningen. Hittar kedjan problem så åtgärdar man dem innan man kör vidare. 

Vilka AI-drivna tjänster har blivit satta i produktion med stöd av de open source-baserade stödtjänsterna?

Vi har ett 20 tal AI-drivna tjänster i produktion idag på Skatteverket. Det handlar om olika riskvärderingstjänster, kategorisering av e-post, läsning och därefter kategorisering av handskriven text, med flera. Ytterligare exempel är en översättningstjänst som vi kan använda till all typ av information, i dagsläget på 38 språk. Den är i nuläget bättre på vissa språk än andra, men den utvecklas hela tiden. Vi har också en transkriberingstjänst som vi använder när vi utformar och tillgänglighetsanpassar t.ex. internt onboarding-material med utbildningsfilmer och såklart även annan film. Att texta är både arbetsamt och tidskrävande och som en direkt effekt, gör vi nu fler filmer än tidigare.

De här två sistnämnda tjänsterna vill vi gärna dela med oss av till andra offentliga aktörer och vi har ambitionen att under första halvåret 2023 publicera dem inom ramarna för ENA – den förvaltningsgemensamma digitala infrastrukturen. De är relativt enkla AI-drivna tjänster. Vi har bland annat använt förtränade modeller för att skapa dem. Vi ser dem som föregångartjänster så att vi och andra aktörer kan publicera och dela med oss av fler och mer avancerade tjänster med tiden. Vi tror verkligen på samspel och att möjliggöra delning av både tjänster och infrastruktur, mellan oss offentliga aktörer. 

Kommer ni uteslutande fortsätta att satsa på open source-modeller?

Jag brukar säga att vi nu har byggt en grund för ett hus och vi har dragit fram ”ledningar” för alla nödvändiga faciliteter. Nu kan vi sätta ett hus på den grunden, där vi tekniskt ännu bättre stödjer experimenterande utveckling, men också hållbar AI och ”AI-governance”. Vi vill att hela organisationen: juridiken, vårt ledarskap och alla som jobbar med utveckling kan bli trygga i våra olika AI-resor. Därför tittar vi nu på att addera flera viktiga komponenter och då kan det bli så att vi köper en plattform och placerar på vår grund. Vi är alltså inte open source-religiösa på något sätt. Däremot har vi med hjälp av open source-komponenter lyckats bygga en grund som klarar våra behov på ett sätt som är rätt unikt.