1. Datorn som följer regler
När vi skriver en fråga till en AI-tjänst kan svaret kännas långt från den fysiska datorn. Men dagens artificiella intelligens bygger på datorer. Ett AI-system består av program, modeller och data som lagras och bearbetas med hjälp av fysisk hårdvara.
För att förstå hur artificiell intelligens fungerar behöver vi därför börja med maskinen som gör arbetet. Vad händer egentligen inuti en dator när den tar emot information, följer instruktioner och lämnar ett resultat?
Datorn behandlar data
I förra kapitlet beskrev vi digitala system som en kedja:
indata → bearbetning → utdata
En dator är en maskin som gör den här bearbetningen. Den tar emot data, bearbetar den enligt instruktioner och lämnar eller lagrar ett resultat.
Data är information som har representerats i en form som en dator kan ta emot, lagra och bearbeta. Det kan exempelvis vara tal, text, bilder, ljud eller mätvärden från en sensor.
Det svenska ordet dator anknyter till just data. En dator var från början framför allt en maskin för beräkningar, men dagens datorer kan behandla många olika former av information. En bild, en låt och ett dokument ser olika ut för oss, men i datorn representeras de som data.
Datorn kan ses som en höjdpunkt i utvecklingen av regelstyrda maskiner. Den kan följa mycket långa och komplicerade instruktioner i hög hastighet. Samtidigt gör den fortfarande bara sådant som dess hårdvara och program tillåter.
Hur fungerar en dator?
En modern dator är komplicerad, men dess viktigaste delar kan beskrivas med samma kedja som andra digitala system. Den tar emot indata, bearbetar information och lämnar utdata. Under arbetet behöver den också kunna lagra data.
I en stationär dator går komponenterna ofta att se var för sig. Deras utseende och placering kan variera, men de fyller samma grundläggande funktioner.
| Del | Uppgift | Exempel |
|---|---|---|
| Indata | Skickar data till datorn | Tangentbord, mus, kamera och mikrofon |
| Processor (CPU) | Följer programmets instruktioner och utför beräkningar | Räknar, jämför värden och flyttar data |
| Arbetsminne (RAM) | Håller den data och de programdelar som används just nu | En webbsida eller ett öppet dokument |
| Lagring | Sparar program och data under längre tid | SSD med operativsystem, spel och filer |
| Grafikprocessor (GPU) | Utför många liknande beräkningar parallellt | Spelgrafik och beräkningar för AI-modeller |
| Utdata | Lämnar datorns resultat | Skärm, högtalare eller en signal till en motor |
Delarna kopplas samman genom datorns moderkort. När ett program startas hämtas det från lagringen. De delar av programmet och den data som behövs placeras i arbetsminnet, så att processorn kan arbeta med dem. Resultatet kan sedan visas, skickas vidare eller sparas.
Diagrammet visar en förenklad modell av hur data kan röra sig genom datorn. Verkliga datorer har fler minnen och anslutningar, men arbetsminnet fungerar som en central arbetsyta för det som används just nu.
I en stationär dator går många av delarna att se och hålla i. I en Chromebook, mobiltelefon eller datorn i ett kylskåp är de mindre och sitter tätare tillsammans, men grundprincipen är densamma.
Instruktion efter instruktion
Processorn arbetar genom att utföra små och exakta instruktioner. En instruktion kan exempelvis flytta data, jämföra två värden eller utföra en beräkning. Varje steg är enkelt, men processorn genomför väldigt många steg på kort tid.
Det kan därför se ut som att datorn gör många saker samtidigt. Du kan lyssna på musik, skriva i ett dokument och ha flera webbsidor öppna. Processorn växlar snabbt mellan olika arbeten och kan dessutom ha flera processorkärnor som arbetar parallellt.
En CPU har vanligtvis ett mindre antal kraftfulla kärnor som klarar många slags instruktioner. En GPU har många mindre beräkningsenheter och passar därför bra när samma sorts beräkning ska göras på stora mängder data samtidigt. Antalen i diagrammet är bara exempel.
Modellen ”en instruktion i taget” hjälper oss att förstå grunden, men moderna processorer kan ha flera kärnor och överlappa delar av arbetet. Grafikprocessorer är byggda för att utföra många liknande beräkningar parallellt. Det blir viktigt när vi senare undersöker hur stora AI-modeller tränas och används.
Datorn följer regler
En miniräknare, en Chromebook och ett styrsystem i ett flygplan verkar kunna göra helt olika saker. Gemensamt är att deras processorer följer instruktioner. Instruktionerna avgör hur systemet ska bearbeta sin indata och vilken utdata det ska lämna.
| System | Exempel på indata | Regel eller instruktion | Exempel på utdata |
|---|---|---|---|
| Miniräknare | 2 + 3 | Addera de två talen | 5 |
| Kylskåp | Temperatur från en sensor | Starta kylningen över en bestämd temperatur | Kylningen startar |
| Webbläsare | Adressen till en webbplats | Hämta och visa webbplatsens innehåll | En webbsida visas |
| Flygplanssystem | Mätvärden från sensorer | Bearbeta värdena enligt systemets program | Information eller en styrsignal |
I ett regelstyrt system har människor bestämt reglerna som systemet ska följa. Reglerna kan vara skrivna som villkor:
OM temperaturen är högre än gränsvärdet
SÅ starta kylningen
Regeln beskriver vad systemet ska göra i en viss situation. Datorn behöver inte förstå vad temperatur eller kyla betyder. Den behöver bara kunna jämföra värdet från sensorn med gränsvärdet och följa instruktionen.
Regelstyrt och deterministiskt
Regelstyrda program är ofta deterministiska. Om programmet får samma indata under samma villkor följer det samma instruktioner och lämnar samma utdata. Det är nödvändigt i exempelvis en miniräknare: 2 + 3 ska inte ibland bli 5 och ibland 7.
Det betyder inte att allt som körs på en dator måste ge samma resultat varje gång. Ett program kan använda ett slumpvärde, ta emot nya mätvärden från omgivningen eller köra en stokastisk AI-modell. Processorn följer fortfarande sina instruktioner, men programmets utdata kan variera.
Det är därför användbart att skilja mellan två nivåer:
- Datorn är den fysiska maskin som utför instruktionerna.
- Programmet eller modellen bestämmer hur indatan ska bearbetas.
Samma dator kan köra en helt förutsägbar miniräknare, ett slumpbaserat spel och en generativ AI-modell. Skillnaden ligger inte främst i själva datorn, utan i programmen, modellerna och den data som används.
När reglerna blir många
Regelstyrda system passar bra när uppgiften kan beskrivas med tydliga instruktioner. Det går exempelvis att skriva regler för hur en miniräknare ska addera tal eller när ett kylskåp ska starta sin kylning.
Andra uppgifter varierar så mycket att det blir svårt att skriva en regel för varje möjlig situation. Reglerna kan snabbt bli många, motsäga varandra eller missa något som den som skrev dem inte hade tänkt på.
I nästa lektion får du själv undersöka vad som händer när ett regelstyrt system möter fler situationer än reglerna kan hantera.
Sammanfattning
- Dagens AI består av program, modeller och data som körs på fysiska datorer.
- En dator tar emot data, bearbetar den enligt instruktioner och lämnar eller lagrar ett resultat.
- Processorn utför instruktioner, arbetsminnet håller det som används och lagringen sparar program och data.
- Regelstyrda system följer regler som människor har formulerat.
- Samma dator kan köra både deterministiska program och system vars utdata varierar.
- Vissa uppgifter är svåra att beskriva med regler för varje möjlig situation.