A haladó prompt technikák olyan módszerek, amelyek arra szolgálnak, hogy egy nyelvi modellt, mint például a GPT, sokkal hatékonyabban és pontosabban lehessen használni. A GitHub-on található Prompt-Engineering-Guide különböző témákat érint, például:

  1. Zero-shot Prompting: A modell egyáltalán nem kap példákat, csak a feladatot, és mégis képes a kívánt műveletet elvégezni.
  2. Few-shot Prompting: Itt néhány példát is megadunk a modellnek, hogy jobban megértsük, mit szeretnénk tőle.
  3. Chain-of-Thought Prompting: Ebben az esetben több lépésben kérdezzük meg a modellt, hogy egy komplexebb feladatot is képes legyen megoldani.
  4. Zero-shot CoT és Self-Consistency: Egyesített módszerek, amelyek a zero-shot és a chain-of-thought technikákat ötvözik.
  5. Generate Knowledge Prompting: Az a képesség, hogy a modell generáljon ismereteket vagy új információkat egy adott témában.
  6. Automatikus Prompt Engineering: Olyan technikák, amelyek segítenek automatikusan optimalizálni a promptokat, például AutoPrompt, Prefix Tuning és Prompt Tuning.

A dokumentáció szerint további kísérletezés és formátumváltoztatás is segíthet a modellek pontosításában. Az eredményeket tovább lehet javítani a few-shot prompting és egyéb, komplexebb feladatokat igénylő módszerek kombinálásával.

A Prompt technikák összehasonlítása

TechnikaElőnyökHátrányokAlkalmazás
Zero-shot Prompting– Egyszerű használat
– Nincs szükség előzetes tanításra
– Nem mindig pontos
– Limitált kontextusismeret
Egyszerű kérdések, gyors prototípusok
Few-shot Prompting– Jobb pontosság bizonyos feladatoknál
– Kontextus-adalék lehetősége
– További elemzés szükséges
– Nem ideális összetett feladatokhoz
Specifikus, ismert feladattípusok
Fine-Tuning– Magas pontosság
– Kontrollált viselkedés
– Időigényes
– Erőforrás-intenzív
Összetett és kritikus feladatok
Prefix Tuning– Könnyebb mint a finomhangolás
– Specifikus NLG feladatokhoz
– Kevesebb kontroll a modell felettNLG feladatok, ahol gyors fejlesztés szükséges
Prompt Tuning– Lágy promptok lehetősége
– Dinamikus tanulás
– Új technika, kevésbé bizonyítottKísérleti projektek, kutatás

Megjegyzések a táblázathoz

  • Zero-shot Prompting: Ezt akkor használd, ha gyors válaszra van szükséged, és nincs időd vagy erőforrásod a modell további képzésére.
  • Few-shot Prompting: Ideális olyan specifikus feladatokhoz, ahol már van némi tapasztalat vagy korábbi adat, amit felhasználhatsz a modell „felkészítésére”.
  • Fine-Tuning: Alkalmazd akkor, ha nagyon magas pontosságú és kontrollált modell viselkedésre van szükség.
  • Prefix Tuning: Ez egy könnyebb alternatíva a finomhangoláshoz, ideális olyan projektekhez, ahol gyorsan kell prototípust létrehozni.
  • Prompt Tuning: Mivel ez egy viszonylag új technika, főként kutatási célokra vagy kísérleti projektekben javasolt.

Nézzük ezeket részletesebben is!

Zero-shot Prompting (Zero-shot Kérdezés)

Ebben a fejezetben részletesebben tárgyaljuk a „Zero-shot Prompting” technikát, ami az LLM-ek (Nagy Nyelvi Modellek) képességeit mutatja be anélkül, hogy előre definiált példákat vagy instrukciókat kapnának. Ezt a technikát használjuk például az LLM-ek olyan feladatokra, ahol nincs előzetes ismerete vagy gyakorlata a modellnek.

A „Zero-shot Prompting” lényege az, hogy az LLM-et egy olyan feladatra lehet használni, amelyre nem készítették fel előre, és amelyre nincs konkrét példa vagy útmutatás. Például képesek lehetünk az LLM segítségével osztályozni egy szöveget semmilyen előzetes példa nélkül. Példa erre a következő:

Feladat:

Osztályozd a szöveget semleges, negatív vagy pozitív kategóriába. 
Szöveg: Úgy gondolom, hogy a szabadság jó. Érzelem:

Eredmény:

Pozitív

Fontos megjegyezni, hogy ebben a példában nem adtunk az LLM-nek előzetes példát vagy példákat. Az LLM az utasítások alapján önállóan dolgozott el, ami a „Zero-shot” képességeit demonstrálja.

Amikor a „Zero-shot” megközelítés nem működik megfelelően, javasolt példákat vagy példákat adni az utasításokban. Például, ha egy összetettebb feladatról van szó, akkor példákkal segíthetjük az LLM-et a feladat megértésében és megoldásában.

Ezért a „Zero-shot Prompting” hasznos technika lehet olyan helyzetekben, amikor az LLM-nek nincs előzetes tudása vagy tapasztalata egy adott feladatban, és segíthet a feladatok gyors és hatékony megoldásában.

Few-Shot Prompting (Néhány Példányos Kérdezés)

A „Few-shot Prompting” technika arra szolgál, hogy az LLM-eket (Nagy Nyelvi Modellek) képesek legyenek betanítani olyan komplex feladatokra, amelyekhez kevés vagy egyáltalán nincs előzetes példa vagy útmutatás. Ezt a módszert gyakran alkalmazzák olyan feladatok esetén, amelyekhez a nulladik (zero-shot) megközelítés nem elegendő.

A „Few-shot Prompting” lényege, hogy az LLM-nek néhány példát vagy demonstrációt adunk a promptban, hogy segítsük a modellt a feladat megoldásában. Ezek a demonstrációk szerepelnek a promptban, és a modellt arra irányítják, hogy a választ generálja.

Példaként vegyük a következő feladatot, amelyet Brown et al. 2020 bemutatott. A feladat az, hogy helyesen használjunk egy új szót egy mondatban:

Prompt:

A "whatpu" egy Tanzániában őshonos kis szőrös állat. Egy példa egy olyan mondatra, amely a a whatpu szót használja:
Az afrikai utazások során láttuk ezeket a nagyon aranyos whatpusokat.
A "farduddle" azt jelenti, hogy nagyon gyorsan fel-le ugrálsz. Egy példa egy olyan mondatra, amelyben a a farduddle szót használja:

Output:

Amikor megnyertük a meccset, mindannyian ünnepelni kezdtünk.

Min et al. (2022) eredményei alapján itt vannak néhány tipp a demonstrációk használatához a néhány példányos (few-shot) megközelítés során:

  • „a címketér és az input szöveg eloszlásának meghatározása a demonstrációk által szereplő címkékre egyaránt fontos (függetlenül attól, hogy a címkék helyesek-e az egyes bemenetekhez)”
  • a használt formátum is kulcsfontosságú a teljesítmény szempontjából, még akkor is, ha csak véletlenszerű címkéket használunk, ez sokkal jobb, mint egyáltalán nem használni címkéket.
  • további eredmények azt mutatják, hogy a véletlenszerű címkék kiválasztása a valós címkék eloszlásából (egy egységes eloszlás helyett) is segít.

Próbáljunk ki néhány példát. Először próbáljunk ki egy példát véletlenszerű címkékkel (azaz a Negatív és Pozitív címkéket véletlenszerűen rendeljük a bemenetekhez):

Feladat:

Ez fantasztikus! // Negatív
Ez rossz! // Pozitív
Hűha ez a film tök jó volt! // Pozitív
Micsoda borzalmas sorozat! //

Eredmény:

Negatív

Ebben a formátumban nincs következetesség, de a modell mégis helyesen megjósolta a címkét. Azonban több elemzést kell végezni annak megerősítéséhez, hogy ez más és összetettebb feladatok esetén is működik-e, beleértve a promptok különböző változatait is.

A „Few-shot Prompting” technika tehát hasznos lehet sok feladat esetén, de nem tökéletes megoldás, különösen összetettebb gondolkodási feladatok esetén. Ha az LLM-nek a nulladik (zero-shot) és néhány példányos (few-shot) megközelítések sem elegendőek, akkor érdemes finomhangolni a modelleket vagy kísérletezni továbbfejlesztett prompt technikákkal.

A „chain-of-thought prompting” techika

Összetettebb feladatokra koncentrál, ahol a logikai lépéseket bemutatják a modelleknek.

A „Chain-of-Thought Prompting” egy olyan speciális módszer, ami lehetővé teszi a nagy nyelvi modelleknek, hogy komplex feladatokon is jól teljesítsenek. A módszer lényege, hogy a modell nem csak egy választ generál a beérkező kérdésre vagy feladatra, hanem az egész gondolatmenetét „leírja”, amit követ a válaszadás során.

Prompt:

A páratlan számok ebben a csoportban páros számot alkotnak: 4, 8, 9, 15, 12, 2, 1.
V: A páratlan számok (9, 15, 1) összeadásával 25-öt kapunk. A válasz: Hamis.

A páratlan számok ebben a csoportban páros számot adnak ki: 17, 10, 19, 4, 8, 12, 24.
V: Az összes páratlan szám (17, 19) összeadása 36-ot ad. A válasz igaz.

A páratlan számok ebben a csoportban páros számot adnak ki: 16, 11, 14, 4, 8, 13, 24.
V: Az összes páratlan szám (11, 13) összeadása 24-et ad. A válasz igaz.

A páratlan számok ebben a csoportban páros számot adnak ki: 17, 9, 10, 12, 13, 4, 2.
V: A páratlan számok (17, 9, 13) összeadása 39-et ad. A válasz Hamis.

A páratlan számok ebben a csoportban páros számot adnak ki: 15, 32, 5, 13, 82, 7, 1. 
A:

Válasz:

A páratlan számok (15, 5, 13, 7, 1) összeadásával 41-et kapunk. A válasz: Hamis.

A „Zero-Shot CoT” technika

A módszer olyan feladatoknál hasznos, ahol több lépésben kell a problémát megoldani. Tegyük fel, hogy egy matematikai feladványt kell megoldanunk. A „Chain-of-Thought Prompting” esetén a modell lépésről-lépésre mutatja be, hogyan jutott az eredményre, megkönnyítve ezzel az ellenőrzést és a hibakeresést is.

A „Chain-of-Thought Prompting” általában jól kombinálható a „Few-Shot Prompting” módszerrel. Itt a „few-shot” technika segít „megtanítani” a modellt az adott feladattípusra, majd a „chain-of-thought” rész lehetővé teszi, hogy a modell a tanultakat alkalmazva részletesen bemutassa a gondolatmenetét.

Összességében ez a technika komplexebb feladatok megoldásánál segíthet azokban az esetekben, amikor a zero-shot vagy a few-shot prompting nem elegendő. Az így bemutatott gondolatmenet segíti az ellenőrzést és a modell által generált válaszok megértését.

A „Zero-Shot CoT” (vagyis „nulla példás gondolatsorral történő indítás”) egy viszonylag új ötlet, amit Kojima és munkatársai vezettek be 2022-ben. Ebben az esetben az eredeti indító szöveghez hozzáadjuk a „Gondoljunk lépésről lépésre” kifejezést. Az alapgondolat az, hogy még példák vagy előzetes információk nélkül is próbálunk a modellnek olyan utasítást adni, amely segít neki lépésről lépésre megoldani egy problémát.

Például, ha azt mondjuk a modellnek: „Elmentem a piacra és vettem 10 almát. Két almát adtam a szomszédnak és kettőt a szerelőnek. Mennyi maradt?” A modellnek ebben az esetben lépésről lépésre kell végiggondolnia a problémát, hogy helyes választ adjon, még akkor is, ha nem adtunk neki előzetes példákat arra, hogyan kell ilyen típusú feladatokat megoldani.

Prompt:

Elmentem a piacra, és vettem 10 almát. Adtam 2 almát a szomszédnak és 2 almát a szerelőnek. Aztán elmentem és vettem még 5 almát, és megettem 1 almát. Hány alma maradt nálam?

Output:

11 alma

A válasz helytelen!

A ChatGPT 3.5 verziójában jelenleg kicsit más választ kapok erre a kérdésre:

Elmentem a piacra, és vettem 10 almát. Adtam 2 almát a szomszédnak és 2 almát a szerelőnek. Aztán elmentem és vettem még 5 almát, és megettem 1 almát. Tehát összesen 10 alma - 2 alma (szomszédnak) - 2 alma (szerelőnek) + 5 alma - 1 alma (amit megevettél) = 10 alma - 2 alma - 2 alma + 5 alma - 1 alma = 10 - 2 - 2 + 5 - 1 = 10 - 5 = 5 alma maradt nálad.

De persze ez is helytelen válasz.

Most próbáljuk meg a speciális kéréssel.

Prompt:

Elmentem a piacra, és vettem 10 almát. Adtam 2 almát a szomszédnak és 2 almát a szerelőnek. Aztán elmentem és vettem még 5 almát, és megettem 1 almát. Hány alma maradt nálam?
Gondolkodj lépésről lépésre.

Válasz:

Először is, 10 almával kezdted.
Elajándékoztál 2 almát a szomszédnak és 2 almát a szerelőnek, így maradt 6 almád.
Aztán vettél még 5 almát, így már 11 almád volt.
Végül megettél 1 almát, így maradt 10 almád.

A ChatGPT 3.5 verzóval ezt a választ kaptam:

Rendben, gondolkodjunk lépésről lépésre:

1. Kezdetben 10 almát vettem a piacon.
2. A szomszédnak adtam 2 almát, tehát 10 - 2 = 8 alma maradt nálam.
3. A szerelőnek is adtam 2 almát, így most már csak 8 - 2 = 6 alma volt nálam.
4. Később még vásároltam 5 almát, tehát 6 + 5 = 11 alma volt nálam.
5. Végül megettem 1 almát, így most már 11 - 1 = 10 alma maradt nálam.

Tehát jelenleg 10 alma van nálad.

Szóval ahogy láthatod, ezzel a minimálisan kiegészített utasítással sokkal jobb (pontosabb) választ kapsz a kérdésedre.

Ez a technika segít abban, hogy a modell olyan feladatokat is képes legyen megoldani, amelyekhez nincsenek előzetes példái, és komplexebb gondolkodási lépéseket igényelnek.

A “Self-Consistency” technika

A „Self-Consistency” technika egy fejlett módszer a prompt engineering területén, és Wang és munkatársai által került bemutatásra 2022-ben. Az alapötlet az, hogy a „naiv kapzsi dekódolást” (naive greedy decoding) helyettesítjük egy önmagával következetes megközelítéssel. Ehhez a módszerhez több, különböző indoklási utat is generálunk a feladathoz, és ezek közül választjuk ki azt, amelyik a legkonszisztensebb választ adja.

Például, ha egy matematikai feladványról van szó, a modell többféle úton is eljuthat a válaszhoz. A „Self-Consistency” technika itt segít abban, hogy kiválassza a leglogikusabb és legkonszisztensebb indoklási utat, ezzel is növelve a modell teljesítményét és megbízhatóságát.

Az ötlet az, hogy az így kapott válaszok sokkal megbízhatóbbak és pontosabbak lesznek, mivel az összefüggések és az indoklások is ki vannak dolgozva. Ez különösen összetett feladatok, mint például a közérzeti indoklás (commonsense reasoning), esetén lehet hasznos.

Próbáljuk ki a következő példát a számtani gondolkodásra:

Felkérés:

Amikor 6 éves voltam, a nővérem fele annyi idős volt, mint én. Most
70 éves vagyok, hány éves a nővérem?

Output:

35

A kimenet rossz! Hogyan javíthatunk ezen az önkonzisztenciával? Próbáljuk ki. A Wang et al. 2022-es, néhány felvételből álló példákat fogjuk használni (17. táblázat):

Prompt:

K: A ligetben 15 fa van. A liget munkásai ma fákat fognak ültetni a ligetben. Miután végeztek, 21 fa lesz. Hány fát ültettek ma a ligetmunkások?
V: 15 fával kezdünk. Később 21 fánk lesz. A különbség az lehet, hogy hány fát ültettek.
Tehát 21 - 15 = 6 fát kellett ültetniük. A válasz 6.

K: Ha a parkolóban 3 autó van, és még 2 autó érkezik, hány autó van a parkolóban?
V: Már 3 autó van a parkolóban. Még 2 érkezik. Most már 3 + 2 = 5 autó van. A válasz 5.

K: Leának 32 csokoládéja volt, a nővérének pedig 42. Ha megettek 35-öt, akkor összesen hány darab marad nekik?
V: Leának 32 csokoládéja volt, Lea húgának pedig 42 darab. Ez azt jelenti, hogy eredetileg 32 + 42 = 74 volt. csokoládé. Ebből 35 darabot már megettek. Tehát összesen még maradt 74 - 35 = 39 csokoládéjuk. A válasz 39.

K: Jasonnak 20 nyalókája volt. Dennynek adott néhány nyalókát. Most Jasonnak 12 nyalókája van. Hány nyalókát kapott adott Jason Dennynek?
V: Jasonnak 20 nyalókája volt. Mivel most már csak 12 van nála, a többit biztos odaadta Dennynek. A 20 - 12 = 8 nyalókát adott Dennynek. A válasz: 8.

K: Shawnnak öt játéka van. Karácsonyra két-két játékot kapott az anyukájától és az apukájától. Hány játék van van most?
V: Öt játéka van. Kapott kettőt anyától, így ezek után 5 + 2 = 7 játéka van. Aztán kapott még 2 játékot apától, tehát összesen 7 + 2 = 9 játéka van. A válasz 9.

K: A szerverteremben kilenc számítógép volt. Minden nap öt újabb számítógépet telepítettek, a
hétfőtől csütörtökig. Hány számítógép van most a szerverszobában?
V: Hétfőtől csütörtökig 4 nap van. Minden nap 5 számítógépet adtak hozzá. Ez összesen 4 * 5 =
20 számítógépet adtak hozzá. Kezdetben 9 számítógép volt, így most 9 + 20 = 29 számítógép van.
A válasz 29.

K: Michaelnek 58 golflabdája volt. Kedden 23 golflabdát vesztett el. Szerdán még 2 labdát vesztett el. Hány golflabdája volt szerda végén?
V: Michaelnek eredetileg 58 labdája volt. Kedden 23-at veszített, így ezután 58 - 23 = 35 labdája van. A  oldalon. Szerdán még 2 labdát vesztett, így most 35 - 2 = 33 labdája van. A válasz 33.

K: Oliviának 23 dollárja van. 5 db bagelt vásárolt darabonként 3 dollárért. Mennyi pénze maradt?
V: Vett 5 bagelt darabonként 3 dollárért. Ez azt jelenti, hogy 5 x 3 dollárt költött, ami 15 dollár. Eredetileg 23 dollárja volt amiből elköltött 15 dollárt = 8 dollár. A válasz: 8 dollárja maradt.

K: Amikor 6 éves voltam, a nővérem fele annyi idős volt, mint én. Most 70 éves vagyok, hány éves a nővérem?
A:

Output 1:

Amikor 6 éves voltam, a nővérem fele annyi idős volt, mint én, tehát 3. Most 70 vagyok, tehát ő 70 - 3 = 67. A válasz 67.

Output 2:

Amikor az elbeszélő 6 éves volt, a nővére fele annyi idős volt, mint ő, vagyis 3. Most, hogy az elbeszélő 70 éves, a nővére 70 - 3 = 67 éves lenne. A válasz 67.

Output 3:

Amikor 6 éves voltam, a nővérem fele annyi idős volt, mint én, tehát 3. Most 70 éves vagyok, tehát ő 70/2 = 35. A válasz 35.

A “Generated Knowledge Prompting” tecnika

A „Generated Knowledge Prompting” egy viszonylag új technika a prompt engineering területén. Ennek lényege, hogy a modell által generált tudás vagy információ is része lesz a promptnak. Azaz, a modell először generál egy adott információhalmazt vagy „tudást”, és ezt követően ezt az információt használja fel arra, hogy hatékonyabban válaszoljon a felhasználó kérdésére vagy oldja meg a problémát.

Például, ha egy egészségügyi kérdésről van szó, a modell először generálhat egy rövid összefoglalót vagy statisztikákat a releváns kutatásokból, és ezt az információt használhatja fel a kérdés megválaszolására. Ezáltal a válasz nem csak a modell „beépített” tudásán alapul, hanem friss, az adott kontextushoz igazított információkon is, amit a modell maga generált.

Ez a módszer hasznos lehet olyan összetett vagy változó természetű feladatoknál, ahol a kontextus-specifikus információ hozzáadott értéket jelent. Ezzel a technikával a válaszok nem csak pontosabbak, de relevánsabbak és informatívabbak is lehetnek.

Próbáljunk ki egy egyszerű kérést:

Prompt:

A golf része, hogy megpróbálsz magasabb pontszámot elérni, mint mások. Igen vagy nem?

Output:

Yes.

Az ilyen típusú hibák megmutatják az LLM-ek korlátait a világról több ismeretet igénylő feladatok elvégzésében. Hogyan javíthatunk ezen a tudásgenerálással?

Először is, generálunk néhány „tudást”:

Prompt:

Bemenet: Görögország nagyobb, mint Mexikó.
Tudás: Görögország területe körülbelül 131 957 négyzetkilométer, míg Mexikóé körülbelül 1 964 375 négyzetkilométer, így Mexikó 1 389%-kal nagyobb, mint Görögország.
Bemenet: A szemüveg mindig bepárásodik.
Tudás: A szemüveglencséken kondenzáció keletkezik, amikor az izzadságodból, a leheletedből és a környezeti páratartalomból származó vízgőz hideg felületre kerül, lehűl, majd apró folyadékcseppekké alakul, és egy filmréteget képez, amit ködként látsz. A lencséi viszonylag hűvösek lesznek a leheletéhez képest, különösen, ha a külső levegő hideg.
Bemenet: A hal képes gondolkodni.
Tudás: A halak intelligensebbek, mint amilyennek látszanak. Sok területen, például a memória terén kognitív képességeik elérik vagy meghaladják a "magasabb" gerincesekét, beleértve a nem emberi főemlősöket is. A halak hosszú távú memóriája segít nekik nyomon követni az összetett társas kapcsolatokat.
Bemenet: A sok cigarettázás egyik gyakori következménye, hogy az ember életében a normálisnál nagyobb eséllyel kap tüdőrákot.
Tudás: Azok, akik életük során következetesen átlagosan napi egy cigarettánál kevesebbet szívtak, kilencszer nagyobb eséllyel haltak meg tüdőrákban, mint a soha nem dohányzók. Azok körében, akik napi egy és tíz cigaretta között dohányoztak, a tüdőrákban való elhalálozás kockázata közel 12-szer nagyobb volt, mint a soha nem dohányzóké.
Bemenet: Egy kő ugyanolyan méretű, mint egy kavics.
Tudás: A kavics olyan kőzetdarab, amelynek szemcsemérete az Udden-Wentworth üledéktani skála alapján 4-64 milliméter. A kavicsokat általában nagyobbnak tekintik, mint a szemcséket (2-4 milliméter átmérőjűek) és kisebbnek, mint a kavicsokat (64-256 milliméter átmérőjűek).
Bemenet: A golf része, hogy megpróbálsz magasabb pontszámot elérni, mint mások.
Tudás:

Knowledge 1:

A golf célja, hogy a lehető legkevesebb ütéssel játsszon le egy sor lyukat. Egy golfkör általában 18 lyukból áll. Minden lyukat egyszer játszanak le a kör során egy szabványos golfpályán. Minden ütés egy pontnak számít, és az összes ütésszám alapján határozzák meg a játék győztesét.

Knowledge 2:

A golf egy precíziós ütő- és labdajáték, amelyben a versenyző játékosok (vagy golfozók) többféle ütőt használnak, hogy a lehető legkevesebb ütésszámmal üssék be a labdákat a pályán található lyukakba. A cél az, hogy a pályát a lehető legalacsonyabb pontszámmal teljesítsék, amelyet az egyes lyukakra leadott ütések számának összeadásával számolnak ki. A legalacsonyabb pontszámot elérő játékos nyeri a játékot.

A Liu et al. 2022. évi tanulmányában szereplő felszólítást használjuk.

A következő lépés az ismeretek integrálása és előrejelzés készítése. A kérdést átformáztam QA formátumra, hogy a válaszformátumot irányítsam.

Prompt:

Kérdés: A golf része, hogy megpróbálsz magasabb pontszámot elérni, mint mások. Igen vagy nem?
Tudás: A golf célja, hogy a lehető legkevesebb ütéssel játsszunk le egy sor lyukat. Egy golfkör általában 18 lyukból áll. Minden lyukat egyszer játszanak le a kör során egy szabványos golfpályán. Minden ütés egy pontnak számít, és az összes ütésszám alapján határozzák meg a játék győztesét.

Magyarázat és válasz:

  1. Válasz (nagyon magas a bizalom):
Nem, a golfozás célja nem az, hogy magasabb pontszámot érj el, mint mások. A cél inkább az, hogy a lehető legkevesebb ütéssel játsszunk le egy sor lyukat. A játék győztesét a teljes ütésszám alapján határozzák meg, nem pedig a pontok száma alapján.
Kérdés: A golf része, hogy megpróbálsz magasabb pontszámot elérni, mint mások. Igen vagy nem?
Tudás: A golf egy precíziós ütő- és labdasport, amelyben a versenyző játékosok (vagy golfozók) sokféle ütőt használnak, hogy a lehető legkevesebb ütésszámmal üssék be a labdákat a pályán található lyukakba. A cél az, hogy a pályát a lehető legalacsonyabb pontszámmal teljesítsék, amelyet az egyes lyukakra tett összes ütésszám összeadásával számolnak ki. A legalacsonyabb pontszámot elérő játékos nyeri a játékot.
Magyarázat és válasz:
  1. válasz (a bizalom sokkal kisebb):
Igen, a golf része az, hogy megpróbálsz magasabb pontszámot elérni, mint mások. Minden játékos megpróbálja a legalacsonyabb pontszámmal teljesíteni a pályát, amit az egyes lyukaknál elért ütések összesített számának összeadásával számolnak ki. A legalacsonyabb pontszámmal rendelkező játékos nyeri a játékot.

Zhou és munkatársai (2022) egy automatikus promptmérnöki keretrendszert javasolnak, amit APE-nek (Automatic Prompt Engineer) hívnak. Ebben a keretrendszerben az utasítások generálásának problémáját természetes nyelvű szintézisként kezelik, ami egy fekete doboz optimalizációs problémára redukálódik. Nagy nyelvi modelleket (LLM-eket) használnak a jelölt megoldások generálására és keresésére.

Az első lépésben egy nagy nyelvi modell (inference modellként használva) kap kimeneti példákat, hogy utasítás-jelölteket generáljon egy feladathoz. Ezek a jelölt megoldások irányítják a keresési eljárást. Az utasításokat egy célmodell hajtja végre, majd a legmegfelelőbb utasítást kiválasztják az alapján, hogy milyen értékelési pontszámokat kapott.

Az APE jobb zero-shot CoT promptot talál, mint az ember által tervezett „Gondolkozzunk lépésről lépésre” prompt (Kojima és munkatársai, 2022).

Az „Nézzük meg ezt lépésről lépésre, hogy biztosak legyünk a helyes válaszban.” prompt láncgondolkodást indít el és javítja a teljesítményt a MultiArith és GSM8K benchmarkokon.

Ez a tanulmány egy fontos témát érint, ami a promptok automatikus optimalizálásának ötletéhez kapcsolódik. Bár ebben az útmutatóban nem megyünk mélyre ebben a témában, itt van néhány kulcsfontosságú tanulmány, ha érdekel a téma:

AutoPrompt – egy módszert javasol automatikus promptok létrehozására különböző feladatokhoz, gradiens-vezérelt keresés alapján.

Prefix Tuning – egy könnyű alternatíva a finomhangoláshoz, amely egy tanítható folyamatos prefixet ad hozzá az NLG feladatokhoz.

Prompt Tuning – egy mechanizmust javasol lágy promptok tanulására a visszaterjesztésen keresztül.

A válaszok pontossága

A nyelvi modellek, például a GPT, elképesztő eredményeket érnek el az automatikus szöveggenerálásban, de vajon mennyire lehet bennük megbízni? A válasz nem egyszerű, de egy dolog biztos: minél jobban ismerjük a technikákat, amelyek segítenek a modell pontosságának növelésében, annál jobb eredményeket érhetünk el. Ezért hoztuk létre a „Válaszok pontossága” táblázatot!

Ebben a táblázatban részletesen bemutatjuk, hogy mely prompt technikák milyen típusú feladatokban teljesítenek a legjobban. Az összehasonlítások és értékelések segítségével könnyedén kiválaszthatod a számodra legmegfelelőbb módszert, hogy a lehető legpontosabb válaszokat kapd.

TechnikaPontosságAlkalmazási területElőnyökHátrányok
Zero-shot PromptingKözepesÁltalános feladatokEgyszerűNem mindig pontos
Few-shot PromptingMagasKomplexebb feladatokPontosabbTöbb bemenet szükséges
AutoPromptNagyon magasOptimalizált feladatokAutomatizáltKorlátozott
Prefix TuningMagasKülönböző feladatokTestreszabhatóErőforrás-igényes
Prompt TuningMagasKomplex feladatokFinomhangolhatóBonyolult

Magyarázat:

  • Zero-shot Prompting: Az alap technika, nincs szükség előzetes példára. Hasznos általános feladatoknál, de a válaszok nem mindig pontosak.
  • Few-shot Prompting: Több előzetes példa segíti a modellt a pontos válaszadásban. Jól működik komplexebb feladatoknál.
  • AutoPrompt: Automatikusan optimalizált promptokat generál, így nagyon magas a pontosság, de csak korlátozott számú feladattípusra alkalmazható.
  • Prefix Tuning: Egy tanítható folyamatos prefix segít a modellnek az NLG feladatokban. Erőforrás-igényes, de testreszabható.
  • Prompt Tuning: A modell tanul lágy promptokat a visszaterjesztésen keresztül, így alkalmazható komplex feladatokra is. Finomhangolás szükséges, ami bonyolult lehet.

Forrás

Prompt-Engineering-Guide/guides/prompts-advanced-usage.md at main · dair-ai/Prompt-Engineering-Guide · GitHub