forskning

– Dette kan være en «game changer» for kunstig intelligens

Hva om datamaskiner ikke hadde bare to «bokstaver» i sitt «alfabet», men tre? Dette har Steven Bos tatt doktorgrad på, og mulighetene er oppsiktsvekkende.

Steven Bos er nyslått doktor og har forsket på såkalt trinær databehandling, det vil si datamaskiner som ikke bare opererer med null og en, men har en tredje verdi i tillegg.
Steven Bos er nyslått doktor og har forsket på såkalt trinær databehandling, det vil si datamaskiner som ikke bare opererer med null og en, men har en tredje verdi i tillegg.

Det norske alfabetet har 29 bokstaver, og med disse skal vi konstruere tusenvis av unike ord som helst ikke skal forveksles med hverandre. Dette er nødvendig for å kunne kommunisere og tenke effektivt, og lengden på hvert ord varierer som kjent fra en eller to bokstaver til svært lange og sammensatte ord.

Slik er det også i en datamaskin, men til sammenligning har det binære «alfabetet» bare to «bokstaver» - en og null.

Skal man kommunisere avanserte konsepter med bare to «bokstaver», kan det lett bli veldig langt og komplisert.

Men hva om man i en datamaskin hadde tre «bokstaver» i «alfabetet» i stedet for bare to?

Altså trinært i stedet for binært.

Da ville en del ting kunne vært langt mer effektivt gjort, og nettopp dette er det Steven Bos (41) fra Nederland nå har tatt doktorgrad på ved Universitetet i Sørøst-Norge.

Nytt, men ikke nytt

– Det høres kanskje ut som et fremmed konsept, men vi bruker faktisk trinære systemer i mye hverdagslig allerede, forklarer han i en samtale med Digi. Morsealfabetet, for eksempel, er fundamentalt trinært, med de tre ulike tilstandene prikk, strek og pause.

Det samme kan sies om for eksempel trafikklys, som har rødt, gult og grønt lys.

Og grunnkonseptet er ikke akkurat nytt. Matematisk har det vært kjent lenge, og allerede i 1840 ble en regnemaskin - konstruert i tre - bygget av Thomas Fowler. Konseptet tok imidlertid aldri skikkelig av, selv om det innimellom ble bygget «moderne» datamaskiner basert på trinær logikk, som for eksempel sovjetiske Setun i 1958.

Logikk

– Man må skille mellom trinær lagring og trinær logikk. Sistnevnte brukes ikke mye i dag, men når det gjelder lagring på SSDer og minnebrikker brukes trinære systemer i stor grad i dagens samfunn. Mange SSDer er for eksempel konstruert slik at de lagrer data i flere lag – gjerne fire eller fem - heller enn i form av en og null.

Det samme gjelder mange andre høyteknologiske ting vi bruker i dag - eller i fremtiden. Eksempler er USB 4.2 og den kommende grafikkort­minnestandarden GDDR7.

Men lagring og signaloverføring er én ting, logikk og utregninger er noe ganske annet.

For mye varme

I 2005 nådde man et veiskille i binær regnekraft som de fleste kanskje ikke har hørt om.

Moores lov - at antall transistorer på et areal dobles hvert annet år - er godt kjent og holdt fremdeles tritt. Man kunne ennå lage transistorene mindre og mindre, og få flere og flere inn på en brikke.

Men effektiviteten holdt ikke følge, og etter 2005 kunne man ikke lenger benytte alle transistorene samtidig.

– Hadde man i år forsøkt seg på det, ville det blitt generert så mye varme at hele brikken hadde smeltet, forklarer Bos.

Vi har med andre ord flere og flere transistorer til rådighet, men kan benytte en stadig mindre andel av dem på samme tid.

Man kan se på det som en fabrikk som får stadig flere maskiner, men som ikke har strøm til å drive mer enn noen av dem på en og samme tid.

Situasjonen nå i 2024 er slik at en standard binær prosessor - enten det er en CPU eller GPU - i praksis kan benytte rundt 10 prosent av sine transistorer samtidig. Det vil si at av et RTX 4090-grafikkorts 78 milliarder transistorer, er det «bare» omtrent 8 milliarder som kan samtidig endre en bits tilstand, uten at det utvikles for mye varme.

Redusert varmeutvikling

Benytter man seg av trinær logikk, derimot, trenger man i praksis heller ikke benytte så mange transistorer samtidig. Noen utregninger er enklere med trinær logikk enn med binær, og kan gjøres mer effektivt og i færre trinn, mens det for andre er ingen reell forskjell.

– I tradisjonelle datamaskiner er addisjon og multiplikasjon til sammen rundt 90 prosent av utregningene som må gjøres. Når man ser på logiske porter, er det relativt komplisert å få til multiplikasjon, og det krever mye ressurser å gjøre det. Men i trinær logikk trenger man ikke multiplikasjon i det hele tatt - man trenger bare addisjon og klarer seg dermed helt uten logiske porter som gjør multiplikasjon.

Dermed reduserer man kompleksistet og energiforbruk - og dermed også varmeutvikling.

– Varme er et veldig vanskelig problem, og dette gjør at det kan bli nødvendig å bruke trinær logikk i fremtiden for å få opp informasjons­tettheten.

Blant annet har Microsoft forsket på bruk av trinær logikk innen kunstig intelligens, og funnet at spesielt i inferens-fasen - når man ber en ferdig trent KI om et resultat - er trinært bedre egnet enn binært.

– Når man skal logisk vurdere data i et inferens-nettverk, sier man at noe bidrar eller bidrar ikke. Med trinært kan man operere med null for ingen bidrag, minus en for negativt bidrag, og pluss en for positivt bidrag. Dette er det minste man trenger for å ha en vei mellom input og output.

– Dette kan være en «game changer» for kunstig intelligens, sier Bos.

Flere fordeler

I teorien kunne man med trinære transistorer økt effektiviteten med så mye som 58 prosent, men i praksis er det forskjeller. Men trinær kommer til syvende og sist best ut likevel.

Fordi man i de ulike logiske portene må operere med et mindre skille mellom de tre ulike signaltilstandene, er det vanskelig å få til en stabil tilstand mellom 1 og 0 rent fysisk.

– Dersom man skulle laget trinære transistorer, ville man spist opp den teoretiske fordelen på 58 prosent, forteller Bos.

Det Bos har gjort, derimot, er å gjøre dette aspektet av trinær logikk til en programvarebasert abstraksjon som kjører på binær maskinvare.

Dermed beholder man en del av fordelene, men kan samtidig unngå et godt knippe av ulempene også.

Programvaren har han laget selv, og er åpen kildekode. Det samme gjelder programvaren for å designe trinære brikker.

Tre versjoner av kretskort som har Steven Bos' trinære brikke. Foto: Are Thunes Samsonsen
Tre versjoner av kretskort som har Steven Bos' trinære brikke.

– Jeg brukte gaming-motoren Unity for å lage programmet, forteller han. Det var så mange fordeler ved det. Ikke bare er det allerede optimert for grafiske applikasjoner, men det finnes også på et utall plattformer, fra mobiltelefoner til desktop-PCer.

– Jeg kan kjøre programmet mitt på en Playstation, om jeg vil!

Hvorfor tre og ikke fire?

Man bruker derfor det Bos kaller et triks, ved at man bruker to bits for å simulere en «trit» - den trinære enheten tilsvarende et binært systems «bit». Men der en trit kan ha tre tilstander (0, 1 eller 2), kan to bits ha fire (00, 01, 10 eller 11), så mister man ikke da effektivitet i form av 25 prosent av de tilgjengelige «bokstavene»?

Både ja og nei.

På grunn av effektivitetsproblemet som begrenser oss til cirka 10 prosent av de tilgjengelige transistorene, er ikke dette nødvendigvis noe problem i det hele tatt. Samlet effektivitet går opp, fordi man verken trenger eller kan benytte alle transistorene samtidig.

For små tall kan det være det samme, men for større og mer komplekse oppgaver, vil trinær logikk komme bedre ut.

Matematisk bevis

  • 2-tallsystemet har radix = 2,88539
  • 3-tallsystemet har radix = 2,73072
  • 4-tallsystemet har radix = 2,88539
  • 10-tallsystemet har radix = 4,34294

Gjenbruk

Det er ganske enkelt å gjenbruke binær prosessor­arkitektur til trinær bruk, og Bos forteller at det nå gjøres mye arbeid for å videreutvikle teknologien. Kompilatorer er på vei, og likeså en del forskning rundt optiske datamaskiner og kvantemaskiner.

– Allerede på femtitallet var det forskere som konkluderte med at trinære datamaskiner som var fremtiden. Og forskning som gjøres nå kan tyde på at trinært har fordeler når det gjelder såkalte «bit flips» - utilsiktede endringer fra en verdi til en annen - og vi ser på muligheter for å benytte trinær databehandling i rommet.

Powered by Labrador CMS