Blogg

Grønnsakssuppen ChatGPT

Når jeg snakker med elever og studenter, får jeg inntrykk av at mange tror ChatGPT er en slags avansert google. Det er ikke riktig. Men å forklare nøyaktig hva en språkmodell er, uten å gå i detaljer, kan være utfordrende. Og selv med alle detaljene, er det ikke sikkert at man forstår nytten, begrensningene og utfordringene som følger med.

I slike tilfeller kan det være nyttig med en analogi, og i denne bloggposten vil jeg presentere min (hittils) yndlingsanalogi for hva en språkmodell er: en grønnsakssuppe.

Gjennom denne analogien finner en slags forklaring på flere ting, blant annet:

  • Hvordan språkmodellene er forskjellige fra søkemotorer som google
  • Hvordan man skriver gode ledetekster
  • Hva "temperatur" er i denne konteksten, og hvorfor man ikke kan stole 100% på det en språkmodell sier

Grønnsakssuppa

I en grønnsakssuppe heller man i mange ulike ingredienser, setter kjelen på komfyren, slår på varmen, rører om en gang i blant og forsyner seg når maten er tilstrekkelig varm og blanda.

En språkmodell er som en grønnsakssuppe, bare at ingrediensene ikke er grønnsaker. Ingrediensene er ord og tekst.

En språkmodell fungere på samme måte, ved at man gir den mye tekst som input, rører det sammen og ut kommer ferdigrørt tekst som språkmodellen ser på som en naturlig fortsettelse av det den har blitt gitt til nå.

Dette forklarer hvorfor språkmodellene ikke nødvendigvis bryr seg om du staver alt riktig - eller hvilken rekkefølge du gir den teksten du jobber med. Rekkefølge har noe å si, men stort sett går alt i den samme gryta.

Ingrediensene

Det viktigste når man skal lage god grønnsakssuppe inkludert, er å ha bra ingredienser. I tilfellet språkmodeller, er ingrediensene konteksten du gir den for å utføre oppgaven. Jo mer presis, og tydelig, du klarer å være i hva du ønsker at den skal gjøre, jo bedre.

Hvordan bli en bra kokk? Prøv deg fram!

Det viktigste for å bli en god kokk er trening. Derfor er det viktig å prøve seg fram. Har du hatt i nok salt? Har du gitt språkmodellen en god rolle? Har du

Kokebøker

Det finnes mange kokebøker for god framspørring. Her er en slik kokebok: KROM.

Kontekst: Dette er alt språkmodellen ikke vet, men burde vite for å besvare spørsmålet ditt.

Rolle: Du bør gi språkmodellen en tydelig rolle. Den kan være en lærer, en elev, eller kanskje en kjent politiker?

Oppgave: Har du et konkret mål for hva du ønsker å få ut av språkmodellen? Kanskje vil du ha en punktliste? En historie? En tidslinje? Jo mer presist du klarer å formulere deg, jo bedre vil suppa smake.

Mål: Hvorfor vil du har grønnsakssuppe? Er du sulten? Vil du bare ha noe digg? Skal suppa være sunn? På samme måte må du spørre deg hva hensikten med at du spør språkmodellen om hjelp er. Fortell den! "Målet er at jeg skal lære mest mulig," "målet er bare å idemyldre litt," eller "målet er å overbevise noen om å selge meg bilen deres."

Temperatur, og hvorfor du aldri kan stole på grønnsakssuppa

Under panseret på språkmodeller, så ligger det en innstilling som man kan endre på, som kalles for temperaturen. Temperatur brukes for å kontrollere hvor forutsigbar svaret du får er - jo lavere temperatur - jo mer forutsigbar. Jo høyere temperatur - jo mer kreativ. Dersom temperaturen blir for høy, kan språkmodellen bli litt vel kreativ.

Temperatur = 0

Første gang jeg spør

Andre gang jeg spør

Temperatur = 1

Første gang jeg spør

Andre gang jeg spør

Temperatur = 2

Første gang jeg spør

Andre gang jeg spør

Bruk grønnsakssuppen til å tenke, ikke til å få svar på faktuelle spørsmål.

Som vi ser gir lavere temperatur mer forutsigbarhet, men mindre kreativitet. Det er ganske åpenbart at vi ikke kan gå til språkmodeller for å finne sannhet.

When I talk with pupils and students, I get the impression that many think ChatGPT is a kind of advanced Google. That's not right. But explaining exactly what a language model is, without going into detail, can be challenging. And even with all the details, it's not certain you'll understand the usefulness, limitations and challenges that come with it.

In such cases an analogy can be useful, and in this blog post I want to present my (so far) favourite analogy for what a language model is: a vegetable soup.

Through this analogy you get a kind of explanation for several things, including:

  • How language models differ from search engines like Google
  • How to write good prompts
  • What "temperature" is in this context, and why you can't trust 100% of what a language model says

The vegetable soup

In a vegetable soup you pour in lots of different ingredients, put the pot on the stove, turn on the heat, stir it now and then, and serve yourself once the food is sufficiently warm and mixed.

A language model is like a vegetable soup, except the ingredients aren't vegetables. The ingredients are words and text.

A language model works the same way: you give it lots of text as input, it stirs it all together, and out comes freshly-stirred text that the language model regards as a natural continuation of what it has been given so far.

This explains why language models don't necessarily care whether you spell everything correctly — or in what order you give it the text you're working with. Order matters somewhat, but for the most part everything goes into the same pot.

The ingredients

The most important thing when making good vegetable soup — this included — is having good ingredients. In the case of language models, the ingredients are the context you give it to carry out the task. The more precise and clear you manage to be about what you want it to do, the better.

How do you become a good cook? Experiment!

The most important thing for becoming a good cook is practice. That's why it's important to experiment. Have you added enough salt? Have you given the language model a good role? Have you

Cookbooks

There are many cookbooks for good prompting. Here is one such cookbook: CROM.

Context: This is everything the language model doesn't know but ought to know in order to answer your question.

Role: You should give the language model a clear role. It could be a teacher, a student, or maybe a well-known politician?

Objective: Do you have a concrete goal for what you want to get out of the language model? Maybe you want a bullet-point list? A story? A timeline? The more precisely you manage to phrase it, the better the soup will taste.

Motive: Why do you want vegetable soup? Are you hungry? Do you just want something tasty? Should the soup be healthy? In the same way, you have to ask yourself what the purpose is behind asking the language model for help. Tell it! "The goal is for me to learn as much as possible," "the goal is just to brainstorm a bit," or "the goal is to convince someone to sell me their car."

Temperature, and why you can never trust the vegetable soup

Under the hood of language models there's a setting you can change, called the temperature. Temperature is used to control how predictable the answer you get is — the lower the temperature, the more predictable. The higher the temperature, the more creative. If the temperature gets too high, the language model can get a little too creative.

Temperature = 0

First time I ask

Second time I ask

Temperature = 1

First time I ask

Second time I ask

Temperature = 2

First time I ask

Second time I ask

Use the vegetable soup to think, not to get answers to factual questions.

As we can see, a lower temperature gives more predictability but less creativity. It's fairly obvious that we can't turn to language models to find the truth.