Anders Bråten i XLENT Trondheim forteller om OpenAI og ChatGPT

Muligheter og utfordringer rundt OpenAI sin ChatGPT 

ChatGPT og andre språkmodeller har åpnet veien for mer engasjerende og menneskeliknende interaksjon mot datamaskiner. I dette innlegget ser Anders på hvilke utfordringer og begrensninger du bør være obs på når du benytter deg av de nye verktøyene.

ChatGPT og andre språkmodeller har åpnet veien for mer engasjerende og menneskeliknende interaksjon mot datamaskiner. Teknologien gir oss mange muligheter, for eksempel ved å frembringe og sammenstille informasjon på en rask og effektiv måte eller som en mal for utfylling av informasjon innen ulike områder.

Innenfor utvikling kan ChatGPT agere som en personlig assistent som alltid er tilgjengelig. Den kan for eksempel hjelpe oss med rutineoppgaver som å lage programvarestrukturer, eller gi svar på intrikate spørsmål knyttet til ulike algoritmer og datasystemer. 

Men i gleden over å få tilgang på et nyttig verktøy som gjør hverdagen enklere er det lett å glemme at medaljen også har en bakside. For å utnytte et verktøy fullt ut er det vesentlig å kjenne til og unngå en del fallgruver som finnes. 

Mange har skrevet mye om mulighetene som ChatGPT og andre språkmodeller gir. I denne artikkelen vil vi derfor fokusere mest på hvilke utfordringer og begrensninger som man bør være obs på når man benytter dette verktøyet. 

Hvordan virker ChatGPT? 

ChatGPT jobber gjennom en såkalt «generative pre-trained transformer» (GPT). Dette er spesialiserte algoritmer som er laget for å finne mønstre i datasekvenser, som språklige tekster. Grunnlaget er store språkmodeller, altså maskinlæringsmodeller for nevrale nettverk. 

Språkmodellen trenes opp på en enorm mengde data for å formulere et svar. Disse dataene får den fra dokumenter som den mates med eller som den finner ved å søke gjennom nettsider. En av måtene språkmodeller kan mates på er ved den inputen brukeren gir når man sender en forespørsel til modellen. 

Manglende virkelighetsforståelse, svak domenekunnskap og inkonsekvens 

En fellesnevner for språkmodeller er at de er gode på å samle tekster og gjenkjenne mønstre i disse dataene. Samtidig er de ofte svake på kreativitet, logikk og domenespesifikk kunnskap. 

Språkmodeller kan også ha problemer med å skjønne relasjoner og logiske koblinger. Et klassisk eksempel er følgende gåte: «Lise sin mor har fire døtre. Tre av døtrene har navnene Vår, Sommer og Høst. Hva er navnet på den fjerde søsteren?» Modeller som ikke har blitt trent spesifikt på dette spørsmålet vil her gjerne svare at dette er et umulig spørsmål å svare på uten mer informasjon. Svaret er imidlertid gitt i spørsmålet, men for å se det må man først skjønne den logiske koblingen mellom relasjonene.  

Et klart eksempel på logisk brist kan sees i følgende eksempel: 

ChatGPT logisk brist

 

Et annet problem mange ikke er klar over er at en del modeller bruker ekstrapolasjon eller interpolasjon for å fylle ut manglende data. Dette skyldes at modellene er trent på statistiske assosiasjoner i dataene, noe som kan lede til unøyaktige eller feilaktig respons når den møter komplekse eller nyanserte spørsmål. Ettersom modellene baserer seg på mønstre i tekstbasen som ikke nødvendigvis er samordnet med fakta kan dette gi svar som høres plausible ut, men som er faktuelt feil.  

Modellene kan da sette sammen informasjon på en måte som virker logisk og korrekt, men som ikke gir mening eller er direkte feil hvis man undersøker nøyere.  

For å beskytte seg mot slike feilaktige svar er det viktig å dobbeltsjekke faktabaserte svar og spesialisert informasjon som man får fra ChatGPT mot troverdige kilder. Man kan for eksempel be språkmodellen om å finne kilden til opplysninger den bruker, eller foreta et manuelt søk for å finne de 

ChatGPT er også sensitiv for hvilke fraser man bruker som input. Dette kan føre til at modellen gir forskjellige svar utfra hvilken ordlyd som er brukt i spørringen.  

For å hindre inkonsekvens og unøyaktighet bør brukere vurdere nøye ordlyden i spørringene, eventuelt stille samme spørsmål flere ganger på ulike måter og sammenlikne svarene.  

Manglende etisk forståelse 

Svarene fra en språkmodell avhenger av dataene den er trent på. Dessverre har mange av tekstene som er åpent tilgjengelig på nettet en underliggende bias eller inneholder ikke-representativ informasjon. Når slike tekster benyttes til å trene modellene kan ChatGPT i vanvare generere partiske eller diskriminerende svar. OpenAI jobber aktivt med å redusere disse problemene, men det er viktig å være kritisk til svarene man får for å unngå spredning av feilinformasjon og falske fakta.  

Dette er spesielt viktig om man publiserer svarene fra ChatGPT på nettet. Inneholder tekstene en sterk bias eller feil fakta vil det forsterke problemet. Informasjonen man publiseres kan nemlig bli tatt med i en ny runde med treningsdata. Dette vil da forsterke effekten. 

Et annet problem er at språkmodeller kan snu vinden etter kappa. Gir du modellen motstand vil den ofte forandre svaret de gir. Dette gir muligheten til å korrigere feilaktige svar, men åpner også opp for misbruk. Protesterer man på riktige svar og forer den med feil informasjon kan modellen over tid begynne å gi feilaktige eller diskriminerende svar. 

I møte med partiske eller diskriminerende svar er årvåkenhet viktig. Hvis et svar føles feil, er det ofte nødvendig å dobbeltsjekke svaret. Der er også mulig å sende inn en korreksjon til modellen og be den omformulere på en ikke-partisk eller ikke-diskriminerende måte. 

Utfordringer rundt samsvar og etterlevelse (compliance) 

Som nevnt bruker ChatGPT input fra brukere også som treningsdata. Dette er et moment som krever spesiell årvåkenhet. Det er fort gjort å dele informasjon som bryter personvernet eller GDPR.  

Her har heldigvis OpenAI tatt grep. Det er nå mulig å slå av chatteloggen i ChatGPT. Samtaler som startes når nettpratloggen er deaktivert, brukes ikke til å lære opp og forbedre modellene våre, og vises heller ikke i sidepanelet i loggen. 

Et annet dilemma som man ofte havner i når man benytter ChatGPT er hvordan man avgjør hvem som har opphavsrett til innholdet som produseres. Siden modellene er trent på data skrapet fra nettet kan både tekst og bilder være bundet av opphavsrettigheter. Som konsumenter av tjenesten er det vårt ansvar å overholde slike rettigheter, selv om vi har fått informasjonen fra ChatGPT. 

I forhold til samsvar og etterlevelse er det viktig at man unnlater å sende inn informasjon som er underlagt GDPR, og at man undersøke om svarene man får fra ChatGPT bryter noen opphavsrettigheter.  

Utfordringer rundt sikkerhet 

Sikkerhet er et annet problem knyttet til hvilke data vi sender til ChatGPT. Sikkerhet er primært knyttet til tre momenter.  

Det ene momentet går på deling av sensitiv informasjon. Dette kan være forretningskritiske hemmeligheter, strategiplaner, eller andre typer informasjon som ikke bør gå ut i offentligheten. Er informasjonen i tillegg børssensitiv kan deling via ChatGPT være direkte straffbart. Hva som kan være sensitivt er vanskelig å avgjøre. Selv ei liste over hvilke oppgaver som ligger i backloggen kan være sensitivt, da det kan gi indikasjoner om hva slags oppgaver organisasjonen vil sette søkelys på i tida framover. 

Det andre momentet går på deling av kodebase. Ved å sende inn reell kode kan konkurrenter få innblikk i hvordan programvaren er bygget opp. Det kan også gi fiendtlige aktører mulighet til å identifisere sikkerhetshull, med alle de konsekvenser det kan ha. 

Et tredje moment er risikoen for at man lures til å produsere ondsinnet kode, som kan brukes til å starte cyberangrep. For eksempel viser det seg at AI-språkmodeller er sårbare for enkle bakdørsangrep, som å plante en trojansk hest. Slik kode kan så utløses når som helst for å stjele informasjon eller ødelegge tjenester. 

Et råd i forhold til sikkerhet er å ikke sende inn data som man ikke ville snakket om over en lunsj med en kunde eller en konkurrent, eller å slå av logging av inputdata. All kode man henter ut ekstra nøye bør også undersøkes ekstra nøye for å se om den inneholder sikkerhetshull eller ondsinnet kode. 

Utfordringer rundt programvarekvalitet 

Mange utviklere benytter ChatGPT som verktøy når de programmerer. En vanlig teknikk er å be modellen lage en struktur basert på gitte kriterier. Dette kan bidra til å forkorte utviklingstiden betraktelig. 

Som med så mange andre ting har også denne medaljen en bakside. Ettersom språkmodellen frembringer kode basert på treningsdata fra mange ulike kodebaser uten å kjenne konteksten vil koden den returnerer ofte inneholde mange feil. Den kan også inneholde kjente og ukjente sikkerhetshull. Resultatet er ofte at den tiden man før brukte til å programmere løsningen i stedet brukes på å identifisere og rette bugs i koden. Da kan vinningen fort gå opp i spinningen.  

Men samtidig kan ChatGPT benyttes for å finne og identifisere kjente feil og sikkerhetshull.  Slik kan språkmodeller også være et verktøy for å øke programvarekvaliteten. 

Et råd i denne sammenhengen er å bruke ChatGPT til automatisering av rutineoppgaver, for eksempel ved å be den lage grunnstrukturer. Den kan også brukes for å be om tips og råd til biblioteker man kan bruke, eller spørre om den kan gi et eksempel på en algoritme som kan løse et gitt problem. Igjen er det essensielt at man ikke stoler på at svaret som modellen gir ikke nødvendigvis er den beste eller sikreste løsningen på problemet.  

 

Utviklere som diskuterer

«Før brukte jeg 90% av tiden på koding og 10% av tiden på debugging. Nå bruker jeg 10% av tiden på koding og 90% av tiden på debugging.» - uttalelse fra utvikler i en retrospektiv 

Konklusjon 

Kunstig intelligens generelt og ChatGPT spesielt kan sees på som tveeggede sverd. Disse verktøyene har enorme muligheter, men for å utnytte potensialet som teknologien gir med full effekt må man vite hvordan teknologien fungerer, hvilke fallgruver som finnes, hva som er implikasjonene og hvordan man kan redusere eller bøte på problemene.  

Mange bedrifter og organisasjoner mangler en slik forståelse. Da bør man søke hjelp hos en aktør som kan hjelpe de med dette, og som kan gi opplæring og kompetanseoverføring innenfor dette temaet. 

 

Kilder / anbefalt lesning: 

Techtarget - what is ChatGPT?

SCIAM - You can probably beat ChatGPT at these math branteasers

Open AI - New ways to manage your data in ChatGPT

Advokat bladet - kampen om opp opphavsrett i AI-ærean

Aimpro Soft - ChatGPT The Security Risks You Need to Know About

University of Sheffield - Security threats in AIs such as ChatGPT revealed by researchers 

 

Kontakt