Highlight the potential benefits of Neural Networks.

Logo
Logo

Jan 01, 2025

Ai, Neural

Hyperparametere i promptingprosessen

AI's Potential
AI's Potential
AI's Potential

Nysjerrig på hvordan du balanserer kreativitet og nøyaktighet i AI-generert innhold?

Selv små justeringer i en AI-modells innstillinger kan ha stor innvirkning på den genererte teksten. Å finne den rette balansen mellom kreativitet og presisjon krever en dyp forståelse av hvordan ulike innstillinger påvirker modellens oppførsel. Denne artikkelen gir innsikt i hvordan slike justeringer fungerer, og utforsker hvordan de kan forbedre modellens evne til å løse problemer og gi presise svar på spørsmål.

En forståelse av hyperparametere som Temperatur og Top P er avgjørende for å forstå promptingprosessen. Disse hyperparameterne (altså parametere som styrer måten prompten behandles av ‘systemet’) styrer måten autofullføring fungerer.

Du vil ofte høre Temperatur og Top P beskrevet som en kontroll for "tilfeldighet"

Det er et ordtak som sier "det er bedre med en enkel forklaring enn en komplisert sannhet". Men når det gjelder å forstå hvordan språkmodeller fungerer, blir de enkle forklaringene ofte så unøyaktige at de gjør mer skade enn nytte. Det er litt som å forklare hvordan en bil fungerer ved å si "du skrur på bilen, og så kjører den". Teknisk sett er det riktig, men det hjelper deg ikke å forstå hva som egentlig skjer under panseret


  • Temperatur varierer vanligvis fra 0 til omkring 2 (ingen hard grense, men praktiske begrensninger). Standardverdien er 1 i API og playground, den ligger på rundt 0,65-0,8 i ChatGPT.



  • Top P går fra 0 til 1 med 1 som standardverdi.


La oss se nærmere på dette. Jeg kommer til å forenkle litt, men målet er å gi deg en forståelse som er både presis og nyttig, ikke bare lett å huske.

Forestill deg forfatteren Nora som skriver setninger. Hun har en stor sekk full av ord, og hvert ord har en viss sannsynlighet for å passe inn basert på det hun allerede har skrevet.

Når Nora skal velge det neste ordet, justerer hun hvor eventyrlysten hun føler seg ved å stille inn en "Temperatur". Med lav Temperatur er hun forsiktig og velger ord som passer best og er mest sannsynlige. Med høy Temperatur er hun mer vågal og vurderer også ord som kanskje ikke er like åpenbare, men som kan gi setningen en uventet vri.

I tillegg bestemmer hun hvor mange ord hun vil vurdere ved å sette en "Top P"-verdi. Hun sorterer ordene etter hvor godt de passer, fra de mest til minst sannsynlige. Deretter velger hun ut de ordene som sammen utgjør en viss prosentandel av den totale sannsynligheten. Dette blir hennes utvalg å velge fra. (Antallet ord som inkluderes ved justering av Top-P er dynamisk og avhenger direkte av sannsynlighetene til de tilgjengelige ordene.)

La oss ta et praktisk eksempel, hvis Nora skriver:

"No, Johnny, Steve didn't jump off a bridge. That was just a figure of speech. I'm glad you're _____”

Med en Temperatur på 1 og Top P på 1 vil de mulige neste ordene og deres sannsynlighet se slik ut:



Med høyere Temperatur og høyere Top P, åpner hun opp for flere muligheter og kan ende opp med ord som "excited" eller "following", noe som gir setningen en humoristisk eller overraskende avslutning.

Feks: "No, Johnny, Steve didn't jump off a bridge. That was just a figure of speech. I'm glad you're excited” - Ikke helt passende, men kan være morsomt.

Slik påvirker Temperaturen hvor konservativ eller kreativ Nora er i ordvalget sitt, mens Top P bestemmer hvor mange av de mest sannsynlige ordene hun vurderer. Sammen hjelper disse innstillingene henne med å finne den perfekte balansen mellom forutsigbarhet og originalitet i setningene hun skaper.

La oss se hva som skjer hvis vi nedjusterer Temperatur til 0.6 (Top P står fortsatt uendret på 1)

Da får vi følgende sannsynligheter på ordene:




  • Sannsynlige ord blir enda mer sannsynlige: Ord som allerede har høy sannsynlighet blir enda mer sannsynlige når Temperaturen senkes.

  • Mindre sannsynlige ord blir enda mindre sannsynlige: Ord med lavere sannsynlighet får sine sannsynligheter ytterligere redusert.

  • Ingen ord utelukkes her: Selv om sannsynlighetene justeres, blir ingen ord fullstendig fjernet fra vurderingen; det er bare sannsynligheten for at de velges som endres.(Ved ekstremt lav Temperatur som for eksempel 0.2, kan noen ord ende opp med en sannsynlighet på null på grunn av numerisk underflow, noe som gjør dem utilgjengelige for utvelgelse under sampling. Selv om de teknisk sett ikke fjernes fra ‘poolen’.)


Da har vi sett et eksempel på effekten av og nedjustere Temperaturen, men hva skjer hvis vi skrur den opp til 1 igjen, deretter nedjusterer Top P til 0.6?

Da ser det slik ut:



Da er det kun tre tilgjengelige ord, ikke den lange listen vi hadde tidligere med en stor spredning på sannsynlighet.

I utgangspunktet skal den legge opp sannsynlighetene fra toppen av listen. Og fortsetter å legge til ord inntil den kumulative sannsynligheten når eller overstiger Top P terskelen. Med en Top P på 0.6 vil det være minst 60%

Hvis vi ser på eksempelet over så:

- Etter "concerned": kumulativ sannsynlighet = 46,317 %

- Etter "interested": kumulativ sannsynlighet = 83,354 % (over 60 %)

Ved noen anledninger(avhengig av språkmodellen) som sett over, kan en ekstra token bli med.

Mulige årsaker:


  • Implementasjonsdetaljer i Top P sampling: Modellen inkluderer ordet som får den kumulative sannsynligheten til å overstige Top P terskelen.

  • Numeriske avrundingsfeil: Små numeriske forskjeller kan føre til at ekstra ord inkluderes.

  • Minimum antall tokens: Modellen kan være designet for å alltid inkludere et minimum antall ord for å sikre variasjon.

  • Justeringer for bedre tekstflyt: Modellen inkluderer flere ord for å sikre at teksten gir mening og flyter naturlig.

  • Intern sannsynlighetsfordeling i modellen: Modellen justerer sannsynlighetene basert på kontekst, noe som påvirker hvilke ord som inkluderes.


La oss skru Top P tilbake til 1 og justere temperaturen til 0



Okey, her ser dere bare et ord. Teknisk sett så står alle de samme ordene dere så tidligere her også men med en sannsynlighet på null på grunn av numerisk underflow, noe som gjør dem utilgjengelige for utvelgelse under sampling.

Forfatteren Nora er fullstendig begrenset når hun skal hente opp ord fra sekken. Hun kan KUN gripe det absolutt beste ordet.

Dette er grunnen til at vi sier at modellen er "deterministisk" når Temperaturen er satt til null. Outputen er helt bestemt av innholdet i prompten du gir. Dette er super nyttig for testing av prompts. Du trenger bare å kjøre en prompt én gang ved temperatur 0 for å vite hvordan den konsekvent vil oppføre seg under disse forholdene. MEN. Mange vil si at du bør teste primært ved 0. At tilfeldigheten ved høyere temperaturer kan gjøre evaluering av prompts mer utfordrende. At du ikke kan bedømme promptens effektivitet nøyaktig med for mye tilfeldig variasjon. Den "tilfeldige" naturen til resultatene kan være utfordrende for de som foretrekker forutsigbarhet.

Meen…

de tar feil.


Vurder dette eksemplet:

Prompt: "Hvis fem maskiner tar fem minutter å lage fem enheter, hvor lang tid vil det ta hundre maskiner å lage hundre enheter?"

Med lav Temperatur (Temperatur = 0):

Modellen kan svare:

"Det vil ta hundre minutter for hundre maskiner å lage hundre enheter."

Med høyere Temperatur (Temperatur = 1):

Modellen kan svare:

"Det vil ta fem minutter for hundre maskiner å lage hundre enheter."


Hvorfor gir modellen feil svar ved lav Temperatur?

Statistisk bias:


  • Ved lav Temperatur fokuserer modellen på de mest sannsynlige svarene basert på mønstre den har lært fra treningsdataene.

  • Mange mennesker gjør intuitivt feilen ved å anta at hvis fem maskiner tar fem minutter for fem enheter, vil hundre maskiner ta hundre minutter for hundre enheter.

  • Modellen gjengir dette vanlige feilslutningen fordi det er det mest statistisk sannsynlige svaret.



Hvorfor gir modellen riktig svar ved høyere Temperatur?

Økt Variasjon:


  • Ved høyere Temperatur justeres sannsynlighetsfordelingen for de neste tokens slik at mindre sannsynlige alternativer får større sjanse til å bli valgt.

  • Dette gjør at modellen kan generere svar som avviker fra de mest sannsynlige mønstrene den har lært fra treningsdataene, og dermed komme frem til det korrekte svaret.


For mange valg kan naturligvis også ha en nedside og motsatt effekt. Derfor er det viktig å forstå hvordan hyperparametere, spesielt Temperatur og Top P, påvirker språkmodellens output. Dette er særlig relevant i kontekster der presisjon er kritisk, eller når man ønsker å balansere mellom kreativitet og faktabaserte svar.


Praktiske Tips

Top P har begrenset effekt ved Temperaturer under omtrent 0,8-1,0. Ved ekstreme verdier (under ca. 0,1) kan Top P påvirke output selv ved lavere Temperaturer, men generelt er effekten minimal. Temperatur, derimot, har alltid en merkbar innvirkning.

For å oppnå mer forutsigbare og sannsynlige resultater, reduser Temperaturen. Lavere Temperatur resulterer i mer konservative og faktaorienterte svar. Verdier under ca. 0,35 gir meget konservative svar, mens verdier under 0,1 produserer ekstremt deterministiske resultater. Ved Temperatur 0 vil modellen konsekvent velge det mest sannsynlige ordet.

Temp:


  • 0 = Konsekvent og forutsigbar. Pålitelig, men kan oppfattes som kjedelig. Veldig faktaorientert.

  • 0.55-.8 = Ligner på ChatGPTs balanserte tilnærming.

  • 1 = Standardinnstilling i Playground. Ofte foretrukket for en god balanse mellom kreativitet og sammenheng.

  • 1.2 = Ekstremt kreativ. Anbefales å begynne å redusere Top P ved denne verdien.

  • 1.6 = Kan resultere i usammenhengende eller overdrevent fantasifull tekst, med mindre Top P reduseres til omkring 0.18 eller lavere.


Høyere verdier = Risiko for meningsløs eller uforståelig output.

Top P:


  • 0 = Velger nesten utelukkende det mest sannsynlige ordet.

  • <.2 = Svært selektiv. Egnet for høy temperatur for å balansere kreativitet med sammenheng.

  • 1 = Ingen begrensning på ordvalg, gir maksimal variasjon.


Høy Temp + lav Top P = Høy grad av tilfeldighet i ordvalg, kombinert med driv mot sammenheng og mening. Ideell for lyrikk, poesi, ordspill og kreativ skriving.


Det finnes andre relevante parametere som


  • Top-K

  • strålesøk


og mer...

Disse parametrene kan påvirke tekstgenerering på ulike måter, ofte ved å balansere mellom diversitet og kvalitet i outputen. De er ikke alltid tilgjengelige i alle grensesnitt, og deres effektivitet kan variere avhengig av oppgaven.

Men de får vi ta en annen gang!


Fun fact:

Hvis du bare setter [Temp = 0] i begynnelsen av en prompt- limt inn i ChatGPT, vil du faktisk oppleve mindre variasjon. Men dette er på et overfladisk nivå og endrer ikke de faktiske sampling-parametrene.

Shape

Spør oss om mulighetene med AI. Vi hjelper deg å finne de beste løsningene for din bedrift

Ta kontakt

Finn ut hvordan vi kan hjelpe deg og implementere AI.

We are always ready to help you and answer your
questions

Ta kontakt

Finn ut hvordan vi kan hjelpe deg og implementere AI.

Shape

Spør oss om mulighetene med AI. Vi hjelper deg å finne de beste løsningene for din bedrift

Ta kontakt

Finn ut hvordan vi kan hjelpe deg og implementere AI.