Prompt engineering

De seneste moderne fremgangsmåter i promptingeniørarbeid: En omfattende guide

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Promptingeniørarbeid, kunsten og vitenskapen å lage promter som fremkaller ønskede svar fra LLM-er, har blitt et viktig forsknings- og utviklingsområde.

Fra å forbedre resonanseevner til å muliggjøre enkel integrasjon med eksterne verktøy og programmer, er de seneste fremgangene i promptingeniørarbeid åpnet opp nye grenser i kunstig intelligens. Under diskuterer vi de siste avanserte teknikkene og strategiene som former fremtiden for promptingeniørarbeid.

Promptingeniørarbeid

Promptingeniørarbeid

Avanserte promteknikker for komplekse problemløsning

Mens CoT-promting har vist seg å være effektivt for mange resonansetasker, har forskere utforsket mer avanserte promteknikker for å løse enda mer komplekse problemer. En slik tilnærming er Least-to-Most-promting, som bryter ned et komplekst problem i mindre, mer håndterbare underproblemer som løses uavhengig og deretter kombineres for å nå den endelige løsningen.

En annen innovativ teknikk er Tree of Thoughts (ToT)-promting, som tillater LLM-en å generere flere resonanselinjer eller “tanker” parallelt, evaluere sin egen fremgang mot løsningen og gå tilbake eller utforske alternative stier som nødvendig. Denne tilnærmingen utnytter søkealgoritmer som breadth-first eller depth-first search, og muliggjør at LLM-en kan engasjere seg i lookahead og backtracking under problemløsingsprosessen.

Integrering av LLM-er med eksterne verktøy og programmer

Mens LLM-er er usedvanlig kraftfulle, har de innebygde begrensninger, som for eksempel evnen til å få tilgang til oppdatert informasjon eller utføre presise matematiske resonanser. For å løse disse begrensningene har forskere utviklet teknikkene som muliggjør LLM-er å integrere med eksterne verktøy og programmer.

Et bemerkelsesverdig eksempel er Toolformer, som lærer LLM-er å identifisere scenarier som krever bruk av eksterne verktøy, spesifisere hvilket verktøy som skal brukes, gi relevant innputt og inkorporere verktøyet sitt utgang i den endelige responsen. Denne tilnærmingen innebærer å konstruere en syntetisk treningsdatasett som demonstrerer korrekt bruk av ulike tekst-til-tekst-API-er.

En annen innovativ ramme, Chameleon, tar en “plug-and-play”-tilnærming, som tillater en sentral LLM-basert kontroller å generere naturligspråklige programmer som komponerer og kjører en rekke verktøy, inkludert LLM-er, visningsmodeller, nettlesere og Python-funksjoner. Denne modulære tilnærmingen muliggjør Chameleon å løse komplekse, multimodale resonansetasker ved å utnytte styrkene til ulike verktøy og modeller.

Grundleggende promteknikker

Zero-Shot-Promting

Zero-shot-promting innebærer å beskrive oppgaven i promten og be modellen om å løse den uten noen eksempler. For eksempel, for å oversette “ost” til fransk, kan en zero-shot-prompt være:

Oversett følgende engelsk ord til fransk: ost.

Dette er en enkel tilnærming, men kan være begrenset av oppgavens beskrivelsesambiguitet.

Few-Shot-Promting

Few-shot-promting forbedrer zero-shot ved å inkludere flere eksempler på oppgaven. For eksempel:

Oversett følgende engelske ord til fransk:
1. eple => eple
2. hus => hus
3. ost => ost

Denne metoden reduserer ambiguiteten og gir en mer tydelig veiledning for modellen, ved å utnytte LLM-ens evne til å lære i kontekst.

Instruksjons-Promting

Instruksjons-promting beskriver uttrykkelig den ønskede utgangen, som er spesielt effektivt med modeller som er trent til å følge instruksjoner. For eksempel:

Oversett ordet "ost" til fransk. Den korrekte oversettelsen er "ost."

Modeller som GPT-4 er blitt finjustert til å følge slike instruksjoner nøyaktig.

Avanserte promteknikker

Forbedring av resonanseevner med Chain-of-Thought-promting

En av de mest betydelige gjennombruddene i promptingeniørarbeid har vært utviklingen av Chain-of-Thought (CoT)-promting. Denne teknikken har som mål å fremkalle og forbedre resonanseevnene til LLM-er, ved å oppmuntre dem til å generere en steg-for-steg tankeprosess eller rasjonalitet før de gir den endelige svaret.

Venstre: Tradisjonelle metoder for å promte LLM-er avhenger av generiske innputt (0-shot CoT) eller nødvendige merketeksempler (few-shot CoT). Høyre: Den nye tilnærmingen promter LLM-er til å selvopprette relevante eksempler før problemløsning, og fjerner behovet for merking samtidig som den tilpasser eksemplene til hvert unikt problem

Venstre: Tradisjonelle metoder for å promte LLM-er avhenger av generiske innputt (0-shot CoT) eller nødvendige merketeksempler (few-shot CoT). Høyre: Den nye tilnærmingen promter LLM-er til å selvopprette relevante eksempler før problemløsning, og fjerner behovet for merking samtidig som den tilpasser eksemplene til hvert unikt problem

CoT-promting fungerer ved å presentere LLM-en med eksempler som inkluderer ikke bare innputt og utgang, men også de mellomliggende resonansetrinnene eller “tanker” som leder til løsningen. Ved å lære av disse eksemplene kan LLM-en deretter generere sin egen tankeprosess når den presenteres med nye problemer, og forbedre sin evne til å løse komplekse resonansetasker.

Eksempel:

Innputt: Natalie har 3 epler, og hun ønsker å dele dem likt med sine 2 venner. Hvor mange epler vil hver person få? Tankeprosess: Okay, la oss bryte det ned steg for steg:

  1. Natalie har 3 epler
  2. Hun ønsker å dele dem likt med 2 venner
  3. Det er 3 personer i alt (Natalie og hennes 2 venner)
  4. For å dele eplene likt, deler vi det totale antallet epler (3) på antallet personer (3)
  5. 3 delt på 3 er 1
  6. Derfor vil hver person få 1 eple. Utgang: Hver person vil få 1 eple.

Ved å uttrykkelig generere tankeprosessen, har LLM-er som GPT-3 og Codex demonstrert betydelige forbedringer i aritmetiske, sundhets- og symbolske resonansetasker.

Selvkonsekvens

Selvkonsekvens forbedrer påliteligheten av CoT-promting ved å generere flere tankeprosesser og ta en flertallsavgjørelse på den endelige svaret. Denne metoden reduserer impekten av enkelt feilaktig resonanselinje.

Least-to-Most-Promting

Least-to-most-promting bryter ned komplekse problemer i enklere underproblemer, løser hver enkelt sekvensielt og bruker konteksten av tidligere løsninger til å informere påfølgende trinn. Denne tilnærmingen er gunstig for flertrinns resonansetasker.

Seneste fremgang i promptingeniørarbeid

Promptingeniørarbeid utvikler seg raskt, og flere innovative teknikkene har oppstått for å forbedre ytelsen til store språkmodeller (LLM-er). La oss utforske noen av disse avanserte metodene i detalj:

Auto-CoT (Automatisk Chain-of-Thought-Promting)

Hva det er: Auto-CoT er en metode som automatiserer genereringen av resonanser for LLM-er, og fjerner behovet for manuelt konstruerte eksempler. Denne teknikken bruker zero-shot Chain-of-Thought (CoT)-promting, hvor modellen guiders til å tenke steg for steg for å generere sin egen resonanser.
Hvordan det fungerer:

  1. Zero-Shot CoT-Promting: Modellen gis en enkel prompt som “La oss tenke steg for steg” for å oppmuntre detaljert resonanser.
  2. Mangfold i demonstrasjoner: Auto-CoT velger diverse spørsmål og genererer resonanser for disse spørsmålene, og sikrer en variasjon av problemtyper og resonansmønster.

Fordeler:

  • Automatisering: Reduserer den manuelle innsatsen som kreves for å lage resonansedemonstrasjoner.
  • Ytelse: På ulike resonansetasker har Auto-CoT matchet eller overgått ytelsen til manuell CoT-promting.

Kompleksitetsbasert Promting

Hva det er: Denne teknikken velger eksempler med den høyeste kompleksiteten (dvs. flest resonansetrinn) til å inkludere i promten. Den har som mål å forbedre modellens ytelse på oppgaver som krever flere resonansetrinn.
Hvordan det fungerer:

  1. Eksempelvalg: Promter velges basert på antallet resonansetrinn de inneholder.
  2. Kompleksitetsbasert konsistens: Under dekoding, samles flere resonanser inn og flertallsavgjørelse tas fra de mest komplekse resonansene.

Fordeler:

  • Forbedret ytelse: Betring av nøyaktigheten på flertrinns resonansetasker.
  • Robusthet: Effektiv selv under ulike promptfordelinger og støyende data.

Progressiv-Hint-Promting (PHP)

Hva det er: PHP forbedrer modellens svar iterativt ved å bruke tidligere genererte rasjonaliteter som hint. Denne metoden utnytter modellens tidligere svar til å guide den mot det korrekte svaret gjennom flere iterasjoner.
Hvordan det fungerer:

  1. Initialt svar: Modellen genererer et basis-svar ved å bruke en standardprompt.
  2. Hint og forbedringer: Dette basis-svaret brukes deretter som en hint i påfølgende promter for å forbedre svaret.
  3. Iterativ prosess: Denne prosessen fortsetter til svaret stabiliseres over påfølgende iterasjoner.

Fordeler:

  • Nøyaktighet: Betydelige forbedringer i resonansens nøyaktighet.
  • Effisiens: Reduserer antallet prøvebaner som trengs, og forbedrer dermed beregnings-effisiensen.

Decomponert Promting (DecomP)

Hva det er: DecomP bryter ned komplekse oppgaver i enklere underoppgaver, hver håndtert av en spesifikk prompt eller modell. Denne modulære tilnærmingen muliggjør en mer effektiv håndtering av intrikate problemer.
Hvordan det fungerer:

  1. Oppgave-dekomponering: Hovedproblemet deles inn i enklere underoppgaver.
  2. Underoppgave-håndtering: Hver underoppgave håndteres av en dedikert modell eller prompt.
  3. Modulær integrasjon: Disse håndtererne kan optimaliseres, erstattes eller kombineres etter behov for å løse det komplekse problemet.

Fordeler:

  • Fleksibilitet: Enkelt å feilsøke og forbedre spesifikke underoppgaver.
  • Skalbarhet: Håndterer oppgaver med lange kontekster og komplekse underoppgaver effektivt.

Hypoteser-til-Teorier (HtT)-Promting

Hva det er: HtT bruker en vitenskapelig oppdagelsesprosess hvor modellen genererer og verifiserer hypoteser for å løse komplekse problemer. Denne metoden involverer å lage en regelbibliotek fra verifiserte hypoteser, som modellen bruker for å resonere.
Hvordan det fungerer:

  1. Induksjonsstadiet: Modellen genererer potensielle regler og verifiserer dem mot trenings eksempler.
  2. Regelbibliotek-opprettelse: Verifiserte regler samles for å danne et regelbibliotek.
  3. Deduksjonsstadiet: Modellen anvender disse reglene på nye problemer, og bruker regelbiblioteket til å guide sin resonanser.

Fordeler:

  • Nøyaktighet: Reduserer sannsynligheten for feil ved å basere seg på en verifisert sett av regler.
  • Overførbarhet: De lærte reglene kan overføres over ulike modeller og problemformer.

Verktøy-forbedrede promteknikker

Toolformer

Toolformer integrerer LLM-er med eksterne verktøy via tekst-til-tekst-API-er, og tillater modellen å bruke disse verktøyene for å løse problemer den ellers ikke kunne. For eksempel kunne en LLM bruke en regnemaskin-API for å utføre aritmetiske operasjoner.

Chameleon

Chameleon bruker en sentral LLM-basert kontroller til å generere et program som komponerer og kjører en rekke verktøy for å løse komplekse resonansetasker. Denne tilnærmingen utnytter en bred sett av verktøy, inkludert visningsmodeller og nettlesere, for å forbedre problemløsningsevnen.

GPT4Tools

GPT4Tools finjusterer åpne LLM-er til å bruke multimodale verktøy via en selv-instruert tilnærming, og demonstrerer at også ikke-proprietary modeller kan effektivt utnytte eksterne verktøy for å forbedre ytelsen.

Gorilla og HuggingGPT

Både Gorilla og HuggingGPT integrerer LLM-er med spesialiserte dyp-læringsmodeller tilgjengelige online. Disse systemene bruker en gjenkalling- og koordineringsprosess for å løse komplekse oppgaver som involverer flere modeller.

Program-aided språkmodeller (PAL-er) og tanker-program (PoT-er)

I tillegg til å integrere med eksterne verktøy, har forskere utforsket måter å forbedre LLM-ers problemløsningsevne ved å kombinere naturlig språk med programmeringskonstruksjoner. Program-aided språkmodeller (PAL-er) og tanker-program (PoT-er) er to slike tilnærminger som utnytter kode for å forbedre LLM-ens resonanser.

PAL-er promter LLM-en til å generere en rasjonalitet som veksler mellom naturlig språk og kode (f.eks. Python), som deretter kan kjøres for å produsere den endelige løsningen. Denne tilnærmingen løser en vanlig feil-situasjon hvor LLM-er genererer korrekt resonanser, men produserer et feilaktig endelig svar.

Liknende, PoT-er bruker en symbolsk matematisk bibliotek som SymPy, og tillater LLM-en å definere matematiske symboler og uttrykk som kan kombineres og evaluere ved å bruke SymPy sin løs-funksjon. Ved å delegere komplekse beregninger til en kode-tolker, muliggjør disse teknikkene å skille resonanser fra beregninger, og tillater LLM-er å løse mer komplekse problemer effektivt.

Forståelse og utnyttelse av kontekstvinduer

LLM-ers ytelse avhenger sterkt av deres evne til å prosessere og utnytte konteksten som gis i promten. Forskere har undersøkt hvordan LLM-er håndterer lange kontekster og impekten av irrelevante eller distraherende informasjon på deres utgang.

Fenomenet “Lost in the Middle” understreker hvordan LLM-er tenderer til å fokusere mer på informasjonen i begynnelsen og slutten av konteksten, mens informasjonen i midten ofte oversees eller “tapes”. Denne innsikten har implikasjoner for promptingeniørarbeid, da nøye plassering av relevant informasjon innenfor konteksten kan ha en betydelig innvirkning på ytelsen.

En annen forskningsretning fokuserer på å mildne de negative effektene av irrelevante kontekster, som kan forverre LLM-ens ytelse betydelig. Teknikkene som selv-konsistens, eksplisitte instruksjoner om å ignorere irrelevante informasjon, og inkludering av eksempler som demonstrerer å løse problemer med irrelevante kontekster, kan hjelpe LLM-er til å fokusere på den mest pertinente informasjonen.

Forbedring av skriveevner med promteknikker

Mens LLM-er utmerker seg i å generere menneske-liknende tekst, kan deres skriveevner ytterligere forbedres ved å bruke spesialiserte promteknikker. En slik teknikk er Skeleton-of-Thought (SoT)-promting, som har som mål å redusere latent tiden for sekvensiell dekoding ved å etterligne menneskets skriveprosess.

SoT-promting innebærer å promte LLM-en til å generere en skjelett eller en ramme for svaret først, og deretter parallelt API-kall for å fylle inn detaljene for hver ramme-element. Denne tilnærmingen forbedrer ikke bare inferens-latensen, men kan også forbedre skrivekvaliteten ved å oppmuntre LLM-en til å planlegge og strukturere utgangen mer effektivt.

En annen promteknikk, Chain of Density (CoD)-promting, fokuserer på å forbedre informasjons-tettheten i LLM-genererte sammenfatninger. Ved å iterativt legge til entiteter i sammenfatningen mens lengden holdes konstant, tillater CoD-promting brukerne å utforske avveien mellom korthet og fullstendighet, og produsere mer informative og leselige sammenfatninger.

Fremvoksende retninger og fremtidsperspektiv

ChatGPT & Avansert Promptingeniørarbeid

Avansert Promptingeniørarbeid

Feltet promptingeniørarbeid utvikler seg raskt, og forskere utforsker kontinuerlig nye grenser og presser grensene for hva som er mulig med LLM-er. Noen fremvoksende retninger inkluderer:

  1. Aktiv Promting: Teknikkene som utnytter usikkerhetsbasert aktiv læring til å identifisere og annotere de mest nyttige eksemplene for å løse spesifikke resonansetasker.
  2. Flervalgs-Promting: Utvidelse av promteknikker til å håndtere flervalgs-innputt som kombinerer tekst, bilder og andre data-modaliteter.
  3. Automatisk Prompt-Generering: Utvikling av optimaliseringsteknikker for å automatisk generere effektive promter tilpasset spesifikke oppgaver eller domener.
  4. Tolknings- og Forklaringsgrad: Utforskning av promteknikker som forbedrer tolkningen og forklaringsgraden av LLM-utgang, og muliggjør bedre gjennomsiktighet og tillit til deres beslutningsprosesser.

Ettersom LLM-er fortsetter å utvikle seg og finner anvendelser i ulike domener, vil promptingeniørarbeid spille en avgjørende rolle i å låse opp deres fulle potensiale. Ved å utnytte de siste promteknikkene og strategiene, kan forskere og praktikere utvikle mer kraftfulle, pålitelige og oppgave-spesifikke AI-løsninger som presser grensene for hva som er mulig med naturlig språkbehandling.

Konklusjon

Feltet promptingeniørarbeid for store språkmodeller utvikler seg raskt, og forskere kontinuerlig presser grensene for hva som er mulig. Fra å forbedre resonanseevner med teknikkene som Chain-of-Thought-promting til å integrere LLM-er med eksterne verktøy og programmer, er de siste fremgangene i promptingeniørarbeid åpnet opp nye grenser i kunstig intelligens.

Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.