Krav og kriterier til en kontekst-basert tjeneste

Ved hjelp av kontekst-funksjonalitet gir man GPT-4 adgang til en forhåndsbestemt tekstkilde, slilk at den blir ekspert på et utvalgt kunnskapsområde. Skal man forklare kontekst-funksjonaliteten på enkleste måte, kan det mest av alt sammenlignes med indeksering av innhold til en søketjeneste, og deretter søk i innholdet i form av dialog med tjenesten.

For å forstå mer konkret hvordan en kontekstbasert tjeneste kan bidra til å skape nyttige verktøy for kunder, har vi forsøkt å sette ned noen krav og kriterier for å øke forståelsen for hvordan dette kan brukes og hvilke forutsetninger som må være til stede, hvis man ønsker å teste ut dette på eget datagrunnlag. Imidlertid, med den raske utviklingen innen dette feltet, kan disse kravene og kriteriene raskt endre seg.

Er man ikke utvikler med «hands on» kompetanse om hva GPT-4 og kontekst-funksjonaliteten kan bidra til,  kan det være vanskelig å vite hvordan man konkret øker kunnskapen rundt hva GPT-4 kan bidra med i egen bedrift. Ettersom kriteriene endres etter hva slags type data det er snakk om, og formålet med å bruke GPT-4,  er det ikke bare enkelt å komme med slike kriterier. Det er dog ikke snakk om veldig mange kriterier. Vel så viktig er kunnskap om prosessen og om hvordan teknologien fungerer.

Kunnskap om datagrunnlaget

Formålet med å koble GPT-4 mot egne data kan være likeså mangfoldig som datainnholdet det skal gi adgang til. Det generelle formålet med å benytte GPT-4 på egne data, vil ofte være å få bedre tilgang til innholdet eller å få tilgang til datagrunnlaget på en ny måte, for eksempel for å foreta nye former for analyser. Hvis innholdet er fordelt på ulike plasseringer, vil GPT-4 gi nye tilgangsmuligheter. Man kan da betrakte GPT-4 implementeringen for en kunnskapstjeneste som gir ny og mer avansert tilgang til innholdet.

Formålet kan også være av en mer spesifikk karakter som det kun er eieren av dataene som fullt ut kan forstå verdiene og mulighetene av. Ihvertfall uten å ha gjort andre kjent med hva innholdet består av. I så fall, vil det ofte bare være den med kjennskapet til dataene som kan vurdere hvilke konkrete formål man kan ha med å ta i bruk GPT-4 og konkretisere de spesifikke formålene med tjenesten. Dette er informasjon det er viktig å vite noe om, for å kunne vurdere hva som er mulighetene og hva som vil fungere.

Elementære krav

En av tilnærmingene som går igjen gang på gang, er beskrivelsen av dataene. Hva slags type data er det snakk om? Er det tekst, tall eller en kombinasjon av begge? Hvordan er dataene oppbevart? Hvilke filtyper er det snakk om? Selv om GPT-4 kan analysere mange slags formater, spiller det en rolle for hvordan man bygger tjenesten. Det forutsetter også at man har tilgang til alle GPT-4 funksjonaliteter. Pr dags dato er analyse av video og bilde ikke på plass, men det ser ut til at i hvert fall bildefunksjonalitet snart kan bli inkludert.

Det viktigste kravet til innholdet er at det er tekst, fortrinnsvist i form av naturlig språk og i et tekstbasert filformat. Det kan være .txt, pdf, word-basert eller excelfiler, også lenker til nettsider. Når det gjelder tallbaserte data er det mer usikkert hvor grensene går her for hva som vil fungere i praksis. GPT-4 kan bomme på utregninger, dog kan man i en prompt spesifisere konkret en type utregning som skal foretas.

Rammene for hvor mye data som kan inkluderes er fremdeles noe begrenset. Dog blir disse stadig utvidet av OpenAI og visstnok foreligger det snart en utvidelse som vil gi mulighet for 128k tokens som i følge OpenAI selv tilsvarer en bok på 300 sider. Dagens grense er på 32k tokens. Men utfordringen med datamengder kan allerede håndteres ved hjelp av Retrieval Augmented Generation. Men det må testes hvor bra dette fungerer i praksis.

Konsistens

Manglende konsistens i datainnholdet vil ofte være et problem i eldre data eller data som er lagret over tid av forskjellige personer. Man kan tenke seg at man har brukt ulike begreper og betegnelser i omtale av saker og temaer. Årstall og datoformater kan være skrevet på ulike måter. Innholdet kan bestå av flere ulike språk. Til sammen utgjør denne type inkonsistens i datagrunnlaget det vanskeligere å gjenfinne data senere. Men med en språkmodell øker sannsynligheten for at data kan gjenfinnes og analyseres på tvers av denne type utfordringer.

Strukturerte data vs. ustrukturerte data

Strukturerte data er organisert ut fra forhåndsdefinerte kriterier, for eksempel som excelfiler med data i tabeller og variabler eller med relasjoner i SQL-databaser. Ustrukturerte data er tekst fra eposter, artikler, rapporter eller andre tekstbaserte dokumenter.

Det er nettopp med ustrukturerte data at språkmodellene kommer til sin rett, fordi de er lært opp på naturlig språk. Men ofte vil det være tale om et datagrunnlag, gjerne fra flere kilder, hvor innholdet består av både strukturerte og ustrukturerte data. Selv internt i et dokument kan man ofte finne både strukturert og ustrukturerte data. Det er bare å se for seg en rapport med referanse til tabeller. Heller ikke dette vil være noen utfordring for GPT-4, selv om det sannsynligvis forutsetter at tabeller ikke er lagt inn som bildefiler.

Når det kommer til strukturerte data, må man også vurdere om det finnes andre metoder som kan fungere bedre enn språkmodeller, siden språkmodeller først og fremst vil fungere på naturlig språk og altså ustrukturerte data.

Klargjøring av data før prosessering

Derimot er det stor sannsynlighet for at man må foreta en opprydning i dataene før de kan klargjøres for Kontekst og AI. Dette vil ofte være en manuell prosess, selv om man med rett kompetanse ofte kan automatisere prosesser i noe grad, avhengig av hva slags type opprydning det er snakk om. Veldig ofte er det snakk om at data må ryddes opp i og må bearbeides før det er brukbart. For eksempel å luke ut uvesentlige tekstdeler som ikke er relevante at tar opp dataplass i innholdsmengden.

Man kan tenke seg at det er et epostarkiv eller tekstinnhold fra nettsider, hvor deler av innholdet er navigasjonstekst eller lenketekst eller andre irrelevante tekstgjentakelser. Det kan også være snakk om at data må krypteres eller kamufleres av personvernhensyn. En annen mulig klargjøringsprosess kan være å måtte flytte eller samle dataene på et sted, men det avhenger av hvordan dataene oppbevares i dag. Man må også tenke igjennom hvem som skal ha adgang til dataene og hvordan det praktiske brukergrensesnittet skal se ut. Dette avhenger av formålet med prosessen og hva man vil ha ut av dataene. Det er viktig å presisere at kvaliteten på datagrunnlaget er viktig og vil påvirke resultatet, samtidig som er det interessant å teste hvor grensene går her.

Prompting og instrukskonstruksjon

Den innebygde promptingen vil uansett definere mer konkret hvordan dataene skal behandles. Det er her snakk om en ytterligere presisering av hvordan GPT-4 skal behandle dataene i forhold til de spørsmålene den får. For eksempel, å definere hva den skal svare om den ikke finner et svar i konteksten. Skal den i så fall besvare på bakgrunn av sine generelle data, eller er det viktig å klargjøre at den mangler de rette dataene for å kunne gi riktig svar? Dette vil gjerne avhenge av hva slags type tjeneste man bygger.

I tillegg må brukeren av systemet sette seg inn i hvordan man best stiller spørsmål om dataene. Også dette vil kreve tilvenning og tilpasning for brukeren av tjenesten.
Så langt har vi mer erfaring med hvordan GPT-4 besvarer på bakgrunn av ustrukturerte data, altså naturlig språk, enn vi har med tabellbaserte datamengder.

Det er imidlertid sannsynlig at språkmodellens evne til å gi riktige svar vil avhenge av flere faktorer, inkludert hvor godt modellen er trent, kvaliteten på tabelldataene og kompleksiteten i oppgaven. Noen språkmodeller kan være bedre egnet for spesifikke oppgaver enn andre. Det er også viktig å utføre evaluering og validering av resultatene for å bekrefte nøyaktigheten og påliteligheten av svarene som genereres av språkmodellen.

Med andre ord, er det umulig å garantere at svarene alltid vil være korrekte. Det er derfor forbundet med risiko å benytte språkmodeller til oppgaver, hvor det er umulig å ettergå svarene manuelt i etterkant, og hvor det også medfører etiske utfordringer hvis svarene er feil.

Bevisstgjøring rundt mulighetene og økt kompetanse

For å vite nøyaktig hva som må gjøres, må man altså vite hvordan dataene ser ut, og man må vite noe om hva man ønsker å få ut av dataene. Kanskje har man bare hypoteser om hvordan dataene kan utnyttes. I så fall må man sammen diskutere seg frem til hvilke muligheter som foreligger. For å få best nytte av en slik tjeneste, bør man også sette seg inn i hvordan den fungerer. Man må simpelthen lære seg mer om hvordan GPT-4 og andre språkmodeller fungerer og hvordan man best stiller spørsmålene som gir de beste svarene. Det vil derfor være en god ide å øke egen kompetanse på dette området både i forkant av en implementeringsprosess og i etterkant. Det finnes etter hvert mange gode kilder for å lære mer.  

Er der områder hvor det er etisk uforsvarlig å la GPT-4 være en kunnskapsassistent?

Ettersom teknologien befinner seg i en eksperimenteringsfase, er det klokt å utvise forsiktighet når det gjelder valg av data man tester på. For å teste og skape større kunnskap om riktige rammebetingelser og hva som fungerer vil det være fornuftig å starte med ufarlige data. Man trenger heller ikke inkludere veldig store mengder data i første omgang.

Det er dessuten en god ide at man selv leser seg opp på muligheter og risiko, slik at man bygger kompetanse ut fra eget ståsted, bransje- og bedriftstilhørighet. Dermed vil man selv bli i stand til å se mer konkret hvilke kriterier som er relevante ut fra det datagrunnlaget det er snakk om og det formålet man har med å ta i bruk GPT-4.