Hvordan kan vi bruke kunstig intelligens i byggevarebransjen?

Av: Olav Pekeberg, 22. mai 2023

I Plankepriser bygger vi software for byggevarebransjen. Det viktigste produktet vårt er www.plankepriser.no, som hjelper bransjen med prisovervåking og prissetting av byggevarer. Byggevarer er en kompleks industri, og vi er sikre på at det kan bygges mye software for å forenkle arbeidsprosesser og sørge for bedre flyt av korrekt informasjon. Det vil spare tid og penger for bransjen. Vi ønsker å være med å bygge denne softwaren.

Det siste halvåret har AI (kunstig intelligens) fått svært mye oppmerksomhet. Den utløsende årsaken til oppmerksomheten var at selskapet OpenAI lanserte ChatGPT basert på modellen GPT-3.5. OpenAI ble grunnlagt i 2015, og siden 2016 har de lansert en rekke AI modeller. De tidligere modellene var simplere (mindre "intelligente") og vanskeligere å bruke. Det som endret seg med ChatGPT og GPT-3.5 var at man kunne snakke med AI-en gjennom en chat (altså enkel å bruke) og at den responderte med overraskende gode svar. Plutselig gikk AI fra å være en teoretisk mulighet til å være noe vi alle kunne bruke.

Det ble også tydelig at med AI kan software gjøre mange oppgaver som tidligere var uoverskuelig for en maskin. Det siste halve året har vi derfor brukt mye tid på å utforske hvordan AI kan brukes innenfor byggevarebransjen. Det er åpenbart mange som lurer på det samme, og vi kommer derfor med en serie artikler hvor vi utforsker mulighetsrommet. Her er temaene vi tenker å dekke. Vi tar gjerne i mot forslag, hvis det er temaer du er spesielt interessert i. Og vi tar gjerne en gjennomgang av temaene sammen med dere, hvis flere i selskapet er interessert i dette.

Introduksjon til AI

Det er vanskelig å gi en presis beskrivelse av hva AI er. Det kommer an på konteksten man snakker om AI i. Noen vil si at en enkel kalkulator er AI, den regner tross alt mer presist og mye raskere enn mennesker. Andre tenker på AGI - Artificial General Intelligence - altså en bred intelligens på nivå med eller mye smartere enn mennesker. Konteksten for denne artikkelserien er pragmatisk: Vi kommer til å fokusere på AI som nylig har blitt tilgjenggjort og som vi kan benytte til å lage software i dag. Altså ikke som en teoretisk mulighet om fem eller femti år, men AI som kan brukes nå.

Hvordan fungerer "den nye AI-en"?

Som nevnt over er det OpenAI sin ChatGPT som har ført til den siste oppmerksomheten rundt AI. ChatGPT baserer seg på en teknologi som heter Generative Pre-trained Transformer (derav GPT). GPT er igjen en Large Language Model (LLM), eller stor språkmodell. Vi skal ikke gå detaljert inn i teknologien (og OpenAI er heller ikke særlig åpne om detaljene), men det kan være greit med en overordnet forståelse av hvordan disse teknologiene fungerer og hva de gjør.

Veldig kort forklart kan vi si at AI-modellene først leser svært mye tekst, hvor de plukker opp fakta og språklige mønster (f.eks. grammatikk og setningsoppbygging). Dette prosesseres så til en gigantisk statistisk modell, som er svært flink på å gjette neste ord i en setning. Denne statistiske modellen kan så brukes til å "generere" nytt, intelligent innhold. Når du stiller et spørsmål i ChatGPT tar den utgangspunkt i spørsmålet ditt og gjetter på det første ordet i svaret. Deretter gjetter den det neste ordet, og så det neste ordet. Slik fortsetter det til AI-en har generert et fullstendig svar.

Dette ligner måten vi selv tilegner oss informasjon og kunnskap. Vi leser eller hører på tekster, også kan vi bruke dette til å generere nytt innhold. Her er en test du kan prøve selv: Prøv å forklare (inni deg, eller høyt) hvordan man slår inn en spiker i en planke. Når jeg skal gjøre det så opplever jeg at det foregår to ting i hodet mitt: Jeg starter å forklare, også lages innholdet i forklaringen etterhvert som jeg forklarer. Men det foregår også en slags "visualisering" av hvordan man slår inn spikeren i planken. Jeg lukker øynene og ser det for meg. Så noe av forklaringen jeg lager er bare en beskrivelse av hva jeg "ser". For å unngå den visualiseringen hjelper det å forklare mer abstrakt innhold. Når jeg skal forklare "hva er en setning?" forsvinner visualiseringen for meg, og det blir kun en strøm med ord. Jeg starter med ett ord og fyller på med neste ord.

Koble ulike konsepter til ny kunnskap

En typisk misforståelse rundt AI er at den leser og husker alt som er på internett, også plukker den svaret direkte fra innholdet. Et vanlig Google-søk fungerer på den måten. Du søker, også returnerer Google med artikler eller innhold som matcher med søket. En AI basert på GPT lager derimot nytt innhold. Det betyr at ChatGPT kan koble sammen ulike konsepter til ny kunnskap. Som demonstrasjon ba jeg den forestille seg hvordan man kan kutte en sponplate i to ved hjelp av en pussemaskin. Etter litt frem og tilbake hvor den forsøkte å overbevise meg om å bruke en sirkelsag, ble den med på leken og foreslo at jeg kunne pusse lenge nok langs en linje til alt materialet var borte og platen ville brekke i to. Jeg ba også om forslag til hvordan jeg kunne dele den med en spikerpistol, og da foreslo ChatGPT at jeg skulle skyte spiker tett i tett langs en linje, slik at platen til sist ville knekke. Dette er jo ikke særlig praktisk kunnskap, men viser at modeller basert på GPT kan koble sammen ulike konsepter til nye metoder. Du kan lese utvekslingen her.

Hallusinerende løgner

GPT modellene er svært gode på å bygge opp setninger, men innholdet kan noen ganger være riv ruskende galt. De fleste mennesker er komfortable med å si "jeg vet ikke" eller "det er jeg usikker på" hvis man ikke vet eller er usikker. GPT modellene er derimot designet for alltid å generere et svar, også når det ikke finnes grunnlag for det. De tipper fortsatt det neste ordet i en strøm av ord.

Det er særlig to måter å redusere farene med hallusinering:

1. Man kan være kunnskapsrik nok til å avsløre at GPT hallusinerer. Dette betyr at kunnskapsrike brukere kan øke produktiviteten sin med GPT, mens mindre kunnskapsrike brukere risikerer å bli lurt.

2. Å gi modellene mer spesifikke instruksjoner, slik at det blir mindre rom for å gjøre feil. Lenger ned i artikkelserien vil vi se et konkret eksempel fra byggevarebransjen, hvor vi gir den tilgang til informasjon og ber den forholde seg utelukkende til denne informasjonen. Da reduseres faren for hallusinasjoner.

I skjermdumpen under ser du et eksempel hvor ChatGPT selv beskriver en typisk måte å hallusinere på:

Bilde 1:

Best på "ting man gjør i Word"

Intelligensen til en AI basert på GPT er tekstlig. Det finnes imidlertid andre typer intelligens, f.eks. følelser, logikk og matematiske operasjoner. OpenAI vil ikke si akkurat hvordan ChatGPT fungerer, men til å være en språkmodell er den overraskende god på matematiske operasjoner. Det har ført til en del spekulasjoner om at det er koblet på flere modeller i bakkant, som hjelper den med regneoppgaver.

For byggebransjen er dette skillet mellom språk og matematikk særlig relevant. Veldig mye av arbeidet vi utfører krever beregninger. F.eks. Hvilke materialer trenger vi, og hvor mye av de trenger vi? Hva skjer med volumene hvis vi velger en litt bredere kledning?

Selv om de siste modellene fra OpenAI har redusert skillet, kan man fortsatt si at GPT modeller er bedre på "ting man gjør i Word", enn "ting man gjør i Excel". Ustabiliteten i svarene som genereres fra modellene er også relevant her. Det er mange måter å skrive en produktbeskrivelse på, uten at den grunnleggende informasjonen som formidles går tapt eller endres. Det er derimot mindre rom for kreativitet i regnestykker. Hvor mange løpemeter man trenger av 28x120mm terrassebord for en terrasse på 12kvm vil alltid gi det samme svaret.

I kommende kapitler i denne artikkelserien vil se eksempler som demonstrerer at ChatGPT allikevel gjør en overraskende god jobb her. Men inntil videre må vi altså være ekstra påpasselige hvis vi ønsker å bruke AI til oppgaver som krever beregninger.

Hvordan kan vi få tilgang til denne teknologien?

Så langt har vi snakket om ChatGPT som lages av OpenAI. Men det er slett ikke den eneste AI-en basert på GPT. Google har nylig lansert en egen chat-bot som heter Bard. Den er foreløpig ikke tilgjengelig i Europa, men vi blir overrasket om den ikke dukker opp her også snart. For de som kan kode har det også blitt lansert open-source alternativer, f.eks. MPT-7B fra mosaic ml.

Det er i hovedsak tre måter å bruke AI basert på GPT. Det aller enkleste er chaten til ChatGPT, hvor du snakker med den som i en hvilken som helst meldingsutveksling. Hvis man ønsker å bruke dette i egen software kan man koble seg på de samme modellene med et API, eller man kan benytte ferdig trente open source modeller, slik som MPT-7B som vi har linket til over.

Det var en generell intro til AI basert på GPT. Nå hopper vi over i praktiske eksempler fra byggevarebransjen.

Eksempel 1: Kan AI hjelpe kunder å finne riktig vare?

ChatGPT er strukturert som en chat, og det er ingen overraskelse at den er god på å etterligne samtaler. Å hjelpe kunder å finne frem til riktige byggevarer er også basert på samtale, så det er naturlig å se for seg at ChatGPT kan være god på nettop det.

Vi har testet om den kan hjelpe oss å velge en husmaling til bruk på trehus i Oslo. I første forsøk (bilde 2) spør vi den ganske enkelt om hvilke malinger den anbefaler. Svaret har som forventet en veldig god form, men mye av innholdet stemmer ikke. Den foreslår tre ulike malinger, hvor én av de er utgått fra produsent (Jotun Drygolin Ultimat) og én av de er en serie (Butinox Futura) som har mange varianter (f.eks. Butinox Futura Maling). Dette er på ingen måte godt nok til at man som byggevarekjede kan implementere denne teknologien direkte i egne tjenester (f.eks. som chat bot i egen nettbutikk). Men kanskje vi kan hjelpe den å bli smartere?

Bilde 2:

En måte å hjelpe ChatGPT å bli smartere er å gi den konkret informasjon å behandle. I neste forsøk laster vi derfor opp informasjon om noen utvalgte husmalinger, og ber den hjelpe oss å velge én av disse malingene. På bilde 3 ser du hvilke informasjon vi gir den: Produktnavn, antall timer til overmalbar, glans, kvm. per liter og en produktbeskrivelse. Noe av informasjonen har vi funnet på Nobb, men den beste kilden til denne informasjonen er på produsentenes egne hjemmesider. Som du ser har vi også strukturert informasjonen i samme format (f.eks. "antall timer til overmalbar"), noe som er viktig for å hjelpe ChatGPT å sammenligne malingene.

Denne ekstra håndspåleggingen er aldri noe en sluttbruker vil gjøre på egenhånd, men er noe man gjør hvis man ønsker å lage systemer tilpasset egen forretning. F.eks. hvis man er en byggevarekjede som vil bruke denne teknologien til å hjelpe kunder å velge mellom ulike malinger.

Bilde 3:

Vi ber igjen ChatGPT om hjelp til å velge maling til et trehus i Oslo. Vi ønsker oss å male flere strøk på én dag, og vi vil ha en maling med god holdbarhet. Vi ber den også eksplisitt om å velge mellom malingene i tabellen over.

Valget falt på Butinox Futura Maling. Fra beskrivelsen av produktet plukker den opp at malingen har god holdbarhet, noe som var viktig for meg. Jeg ba også om en maling som tillot å male flere strøk på en dag. Her viser den ganske imponerende logikk, med å anbefale en maling som er overmalbar etter 4 timer. Jeg ba ikke om en særlig drøy maling, men den trekker også frem at Butinox Futura Maling dekker 8 kvm per liter. Den tar derimot feil når den sier at det er i det øvre sjiktet i utvalget. Sannheten er at 8 kvm per liter er et ganske høyt forbruk, noe de fleste vil mene er en negativ egenskap.

ChatGPT foreslår også Gjøco Herregård Maximal som et alternativ. Her treffer den også godt på begrunnelsen, men bommer i logikken med at det er spesielt viktig med en værbestandig maling i Oslo. De fleste vil mene at det er en viktig egenskap de aller fleste steder, men spesielt viktig i kystnære strøk på vestlandet og nordover.

I bilde 4 under har vi markert med grønn strek der ChatGPT snakker sant og med med rød strek der den enten bommer eller er mindre nøyaktig enn man kunne forvente fra en dyktig fagperson.

Bilde 4:

Forsøk nummer to (bilde 4) var altså bedre enn å bare spørre ChatGPT uten noe kontekst (bilde 2), men vi er fortsatt ikke helt i mål. Vi legger på litt mer informasjon for å hjelpe ChatGPT å forstå den opplastede dataen. Det er såpass enkelt som å fortelle den at "Feltet 'kvm per liter' betyr hvor mange kvadratmeter man kan male per liter maling. Et høyt tall er bedre enn et lavt tall".

Nå kommer det et tydelig svar fra modellen, med fakta som stemmer:

Bilde 5:

Hvilke slutninger kan vi trekke fra denne testen?

1. ChatGPT gir foreløpig ikke gode nok svar hvis du bare spør den om hjelp til å velge en god maling på det norske markedet.

2. Med ganske enkle grep kan vi sørge for at ChatGPT gir mye bedre svar. Dette er godt nok til at vi kan lage software som brukere interagerer med.

3. ChatGPT valgte maling både basert på objektive kriterier (timer til overmalbar + kvm per liter) og produktets beskrivelse. Hvis det blir vanlig å bruke AI modeller til å hjelpe kunder å velge produkter vil det ha store implikasjoner for hvordan produsenter og retailere beskriver produktene de har i salg. En god beskrivelse med fokus på de riktige parameterne kan gjøre at produktet systematisk blir foretrukket av AI modellene. Dette er et såpass viktig tema at vi kommer tilbake med et eget kapittel i løpet av de neste månedene.

Var dette interessant?

Vi tar veldig gjerne i mot innspill på temaer du vil høre mer om, eller om du/dere vil diskutere mer i detalj. Du treffer oss på olav@pekeberg.com.

Motta nyhetsbrev fra Plankepriser

Plankepriser sitt nyhetsbrev er for deg som ønsker innsikt om byggevarebransjen i Norge. Vi analyserer priser, produkter og dagsaktuelle temaer om byggevarer. Det kommer vanligvis ett til to nyhetsbrev i måneden og du kan melde deg av når som helst. Vi deler ikke e-post adressen din med noen andre.

* påkrevd felt