Created at : 2025-04-11 18:23
Auther: Soo.Y


๐Ÿ“๋ฉ”๋ชจ

Day1 ์ž๋ฃŒ

Prompt Engineering | Kaggle Day 1 - Prompting Day 1 - Evaluation and structured output

Prompt engineering

LLM์€ ์ผ์ข…์˜ ์˜ˆ์ธก ์—”์ง„์ด๋‹ค. ์ž…๋ ฅ๋˜๋Š” ์—ฐ์†๋œ ํ…์ŠคํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์Œ์— ์˜ค๋Š” ๋‹จ์–ด(ํ† ํฐ)์„ ํ•˜๋‚˜์”ฉ ์˜ˆ์ธกํ•œ๋‹ค. ์˜ˆ์ธก๋œ ํ† ํฐ์€ ์ž…๋ ฅ ๋’ค์— ์ถ”๊ฐ€๋˜์–ด ๋‹ค์Œ ํ† ํฐ์„ ์˜ˆ์ธกํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๋ชจ๋“  ์˜ˆ์ธก์€ ๋ชจ๋ธ์ด ํ›ˆ๋ จ ์ค‘์— ๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋ž€?

ํ”„๋กฌํ”„ํŠธ(prompt) - ๋ชจ๋ธ์—๊ฒŒ ์ž‘์—…์„ ์ง€์‹œํ•˜๋Š” ์ž…๋ ฅ ๋ฌธ์žฅ

  • ํ”„๋กฌํ”„ํŠธ๋Š” LLM์ด ์–ด๋–ค ์‘๋‹ตใ„ท์„ ์ƒ์„ฑํ• ์ง€ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•œ๋‹ค.
  • ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ž˜ ์„ค๊ณ„๋ ์ˆ˜๋ก ๋” ์ •ํ™•ํ•˜๊ณ  ์œ ์šฉํ•œ ์ถœ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด๋ž€?

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง = LLM์ด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ž˜ ์ƒ์„ฑํ•˜๋„๋กํ”„๋กฌํ”„ํŠธ๋ฅผ ์„ค๊ณ„ ๋ฐ ์ตœ์ ํ™”ํ•˜๋Š” ๊ณผ์ • ์ฃผ์š” ์ž‘์—…

  • ๊ณ ํ’ˆ์งˆ์˜ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„
  • ํ”„๋กฌํ”„ํŠธ ๊ธธ์ด ์ตœ์ ํ™”
  • ๋ฌธ์ฒด ๋ฐ ๊ตฌ์กฐ ์กฐ์ •
  • ๋‹ค์–‘ํ•œ ์‹œ๋„์™€ ์‹คํ—˜์„ ํ†ตํ•ด ๊ฐ€์žฅ ์ ํ•ฉํ•œ ํ˜•ํƒœ ์ฐพ๊ธฐ

ํ”„๋กฌํ”„ํŠธ๋กœ ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋“ค

ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด LLM์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘์—… ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ž‘์—… ์ข…๋ฅ˜์„ค๋ช…
ํ…์ŠคํŠธ ์š”์•ฝ๊ธด ๋ฌธ์žฅ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝ
์ •๋ณด ์ถ”์ถœ๋ฌธ์žฅ์—์„œ ํŠน์ • ์ •๋ณด ๋ฝ‘์•„๋‚ด๊ธฐ
์งˆ์˜์‘๋‹ต (QA)์งˆ๋ฌธ์— ๋‹ต๋ณ€ ์ƒ์„ฑ
ํ…์ŠคํŠธ ๋ถ„๋ฅ˜๊ฐ์ • ๋ถ„๋ฅ˜, ์ฃผ์ œ ๋ถ„๋ฅ˜ ๋“ฑ
์–ธ์–ด/์ฝ”๋“œ ๋ฒˆ์—ญ์˜์–ด โ†’ ํ•œ๊ตญ์–ด, Python โ†’ Java ๋“ฑ
์ฝ”๋“œ ์ƒ์„ฑ/์„ค๋ช…/์ถ”๋ก ์ฝ”๋“œ ์ž‘์„ฑ, ์ฃผ์„ ์ถ”๊ฐ€, ๋™์ž‘ ์„ค๋ช… ๋“ฑ

ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ ์‹œ ์œ ์˜์‚ฌํ•ญ

  • ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์ด ๋”ฐ๋ผ ์ตœ์ ํ™” ์ „๋žต์ด ๋‹ค๋ฆ„
    • Gemini, GPT, Claude, Gemma, LLaMA ๋“ฑ
  • ๋ชจ๋ธ ์„ค์ •๊ฐ’(์˜จ๋„, ํ† ํฐ ์ˆ˜, Top-p ๋“ฑ)๋„ ํ•จ๊ป˜ ์กฐ์ ˆํ•˜๋ฉด ํšจ๊ณผ์ 

LLM output configuration

๋ชจ๋ธ์„ ์„ ํƒํ•œ ํ›„์—”? ๋ชจ๋ธ์„ ์„ ํƒํ–ˆ๋‹ค๋ฉด, ์ด์ œ ๋ชจ๋ธ ์„ค์ •์„ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ LLM์€ ์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋‹ค์–‘ํ•œ ์„ค์ • ์˜ต์…˜์„ ์ œ๊ณตํ•œ๋‹ค. ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŠธ ์—”์ €๋‹ˆ์–ด๋ง์„ ์œ„ํ•ด์„œ๋Š” ์ด ์„ค์ •๋“ค์„ ๊ณผ์—ฝ(task)์— ๋งž๊ฒŒ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

Output length

์ถœ๋ ฅ ๊ธธ์ด(Output length)์€ ์ƒ์„ฑํ•  ํ† ํฐ์˜ ์ตœ๋Œ€ ์ˆ˜๋ฅผ ์ •ํ•˜๋Š” ์„ค์ •์ด๋‹ค.

์™œ ์ค‘์š”ํ•œ๊ฐ€? ์ถœ๋ ฅ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก

  • LLM์˜ ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง€๊ณ 
  • ์—๋„ˆ์ง€ ์†Œ๋น„ ์ฆ๊ฐ€
  • ์‘๋‹ต ์‹œ๊ฐ„ ์ง€์—ฐ
  • ์šด์˜ ๋น„์šฉ ์ƒ์Šน ๋ฐ˜๋Œ€๋กœ ์ถœ๋ ฅ ๊ธธ์ด๊ฐ€ ์ค„์ธ๋‹ค๊ณ  ํ•ด์„œ ๋ชจ๋ธ์ด ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ธ€์„ ์“ฐ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. โ†’ ๋‹จ์ง€, ์ •ํ•ด์ง„ ํ† ํฐ ์ˆ˜์— ๋„๋‹ฌํ•˜๋ฉด ๋ฉˆ์ถœ ๋ฟ์ด๋‹ค.

ํ”„๋กฌํ”„ํŠธ์™€์˜ ๊ด€๊ณ„

  • ๋งŒ์•ฝ ์งง์€ ์‘๋‹ต์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๋‹จ์ˆœํžˆ ์ถœ๋ ฅ ๊ธธ์ด๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿด ๋•Œ๋Š” ํ”„๋กฌํ”„ํŠธ ์ž์ฒด๋„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผ ์›ํ•˜๋Š” ๊ธธ์ด์˜ ์‘๋‹ต์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

ReAct ๋“ฑ์˜ ๊ธฐ๋ฒ•์—์„œ๋Š”?

  • ์ผ๋ถ€ ํ”„๋กฌํ”„ํŠธ ์ „๋žต์—์„œ๋Š” ์›ํ•˜๋Š” ์‘๋‹ต ์ดํ›„์—๋„ LLM์ด ๋ถˆํ•„์š”ํ•œ ํ† ํฐ์„ ๊ณ„์† ์ƒ์„ฑํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
  • ์ด๋•Œ๋Š” ์ถœ๋ ฅ ๊ธธ์ด ์ œํ•œ ์„ค์ •์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

Sampling controls

LLM์€ ์–ด๋–ป๊ฒŒ ํ† ํฐ์„ ์ƒ์„ฑํ• ๊นŒ? LLM์€ ๋‹ค์Œ ํ† ํฐ์„ ํ•˜๋‚˜๋งŒ ์ •ํ™•ํžˆ ์˜ˆ์ธกํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , ๋ชจ๋“  ํ† ํฐ์— ๋Œ€ํ•ด ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค.

  • ๊ฐ ํ† ํฐ์€ ๋‹ค์Œ์— ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ™•๋ฅ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  • ๊ทธ ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ ํ•˜๋‚˜์˜ ํ† ํฐ์„ ์ƒ˜ํ”Œ๋งํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. โ†’ ์ฆ‰, ๋ฌด์ž‘์œ„์„ฑ์ด ๋ฐ˜์˜๋œ ์˜ˆ์ธก์ด๋‹ค.

LLM์˜ ์ƒ˜ํ”Œ๋ง ๋ฐฉ์‹์€ ์ฃผ๋กœ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์„ค์ •์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. Temperature(์˜จ๋„)
  2. Top-K
  3. Top-P

Temperature

์˜จ๋„(Temperature)๋Š” ๋‹ค์Œ ํ† ํฐ์„ ์„ ํƒํ•  ๋•Œ ๋ฌด์ž‘์œ„์„ฑ(randomness)์˜ ์ •๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์„ค์ •์ด๋‹ค. LLM์€ ๊ฐ ํ† ํฐ์— ๋Œ€ํ•ด ์˜ˆ์ธก ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์˜จ๋„๋Š” ์ด ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋‚ ๊นŒ๋กญ๊ฒŒ ๋˜๋Š” ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์กฐ์ •ํ•ด์„œ, ๊ฒฐ๊ณผ๊ฐ€ ๋” ๊ฒฐ์ •์ ์ด๊ฑฐ๋‚˜ ์ฐฝ์˜์ ์ด ๋˜๋„๋ก ์œ ๋„ํ•œ๋‹ค.

์˜จ๋„ ๊ฐ’์— ๋”ฐ๋ฅธ ํŠน์ง•

  • 0(zero) : ์™„์ „ํžˆ ๊ฒฐ์ •์ (deterministic)์œผ๋กœ ํ•ญ์ƒ ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์˜ ํ† ํฐ์„ ์„ ํƒํ•จ. ๋‹จ, ๋‘ ํ† ํฐ์ด ๋™์ผํ•œ ์ตœ๊ณ  ์˜ˆ์ธก ํ™•๋ฅ ์„ ๊ฐ€์งˆ ๊ฒฝ์šฐ, ๋™์  ํ•ด๊ฒฐ ๋ฐฉ์‹์— ์˜ํ•ด ์˜จ๋„ 0์ผ ๋•Œ๋„ ํ•ญ์ƒ ๋™์ผํ•œ ์ถœ๋ ฅ์„ ์–ป์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ตœ๋Œ“๊ฐ’์— ๊ฐ€๊นŒ์šด ์˜จ๋„๋Š” ๋” ๋งŽ์€ ๋ฌด์ž‘์œ„ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜จ๋„๊ฐ€ ๋†’์•„์งˆ์ˆ˜๋ก ๋ชจ๋“  ํ† ํฐ์ด ๋‹ค์Œ์— ์˜ˆ์ธก๋  ํ† ํฐ์œผ๋กœ ๋™์ผํ•œ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค.

Gemini์—์„œ์˜ ์˜จ๋„๋Š” Softmax์˜ T์™€ ์œ ์‚ฌํ•จ

์–ธ์ œ ์–ด๋–ค ์˜จ๋„๋ฅผ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

์‚ฌ์šฉ ๋ชฉ์ ์ถ”์ฒœ ์˜จ๋„
์ •๋‹ต์ด ์ •ํ•ด์ง„ ๊ณผ์—… (QA, ๋ถ„๋ฅ˜ ๋“ฑ)0 ~ 0.3
์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”, ์ผ๋ฐ˜ ์‘๋‹ต0.7 ~ 0.9
์ฐฝ์˜์ ์ธ ๊ธ€์“ฐ๊ธฐ, ์Šคํ† ๋ฆฌ ์ƒ์„ฑ0.9 ~ 1.3

Top-K and top-P

LLM์ด ๋‹ค์Œ ํ† ํฐ์„ ์˜ˆ์ธกํ•  ๋•Œ ํ™•๋ฅ ์ด ๋†’์€ ํ›„๋ณด๋“ค ์ค‘์—์„œ๋งŒ ์„ ํƒํ•˜๋„๋ก ์ œํ•œํ•˜๋Š” ๊ธฐ๋ฒ•๋“ค์ด๋‹ค.

Top-K ์ƒ˜ํ”Œ๋ง

  • ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ K๊ฐœ์˜ ํ† ํฐ๋งŒ ํ›„๋ณด๋กœ ์‚ฌ์šฉ
  • ๊ทธ ์•ˆ์—์„œ ๋ฌด์ž‘์œ„๋กœ 1๊ฐœ ์„ ํƒ

Top-K ๊ฐ’ K = 1 : Greedy decoding (๋ฌด์กฐ๊ฑด ํ™•๋ฅ  1์œ„ ํ† ํฐ ์„ ํƒ) K ์ž‘์„์ˆ˜๋ก : ๋œ ์ฐฝ์˜์ , ๋” ์ •ํ™•ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์‘๋‹ต K ํด์ˆ˜๋ก : ๋” ๋‹ค์–‘ํ•œ ํ‘œํ˜„, ์ฐฝ์˜์„ฑ ์ฆ๊ฐ€

Top-P ์ƒ˜ํ”Œ๋ง

  • ๋ˆ„์  ํ™•๋ฅ ์ด P ์ดํ•˜๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ํ™•๋ฅ ์ด ๋†’์€ ํ† ํฐ๋“ค์„ ์œ ๋™์ ์œผ๋กœ ์„ ํƒ

์˜ˆ:

  • P = 0.9 โ†’ ์ƒ์œ„ ๋„ํฐ๋“ค์˜ ๋ˆ„์  ํ™•๋ฅ ์ด 90%์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ํ›„๋ณด๊ตฐ ์ƒ์„ฑ
  • ์ด ์ค‘ ๋ฌด์ž‘์œ„๋กœ 1๊ฐœ ์„ ํƒ

Top-P ๊ฐ’

  • P=0 : Greedy decoding
  • P ์ž‘์„์ˆ˜๋ก : ๋ณด์ˆ˜์ , ๋‹จ์ •์ ์ธ ๊ฒฐ๊ณผ
  • P ํด์ˆ˜๋ก : ์œ ์—ฐํ•˜๊ณ  ์ฐฝ์˜์ , ๋‹ค์–‘ํ•œ ํ›„๋ณด ๊ณ ๋ ค(P = 1์ด๋ฉด ์ „์ฒด ํ† ํฐ ์ค‘ ์„ ํƒ ๊ฐ€๋Šฅ)

Top-K, Top-P ๋ฌด์—‡์„ ์จ์•ผ ํ• ๊นŒ?

  • Top-K๋Š” ์ •ํ•ด์ง„ ์ˆ˜(k๊ฐœ)๋งŒ ๊ณ ๋ คํ•จ
  • Top-P๋Š” ๋ˆ„์  ํ™•๋ฅ (P) ๊ธฐ์ค€์œผ๋กœ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ›„๋ณด ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์ง โ†’ Top-P๊ฐ€ ๋” ์œ ์—ฐํ•˜๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

Tip

  • ๋‘ ๊ธฐ๋ฒ•์€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด๋„ ์ข‹๋‹ค. โ†’ ์˜ˆ : Top-K : 50 and Top-P : 0.95

โœ… ์š”์•ฝ ๋น„๊ตํ‘œ

ํ•ญ๋ชฉTop-KTop-P (Nucleus Sampling)
๊ธฐ์ค€ํ™•๋ฅ  ์ƒ์œ„ K๊ฐœ์˜ ํ† ํฐ๋ˆ„์  ํ™•๋ฅ ์ด P ์ดํ•˜์ธ ํ† ํฐ๋“ค
๊ณ ์ •/์œ ๋™๊ณ ์ •๋œ ๊ฐœ์ˆ˜์œ ๋™์ ์ธ ๊ฐœ์ˆ˜
K/P ์ž‘์„ ๋•Œ๋” ์ •ํ™•ํ•˜๊ณ  ๋ณด์ˆ˜์ ์ธ ์ถœ๋ ฅ๋” ์ •์ œ๋œ ์˜ˆ์ธก
K/P ํด ๋•Œ๋” ์ฐฝ์˜์ ์ด๊ณ  ๋‹ค์–‘ํ•œ ์ถœ๋ ฅ๋” ์œ ์—ฐํ•˜๊ณ  ํ’๋ถ€ํ•œ ์–ธ์–ด ์ƒ์„ฑ ๊ฐ€๋Šฅ
K=1 or P=0Greedy decoding (๊ฐ€์žฅ ํ™•๋ฅ  ๋†’์€ ํ† ํฐ๋งŒ ์‚ฌ์šฉ)

๐Ÿงพ LLM ์ƒ˜ํ”Œ๋ง ์„ค์ • ์š”์•ฝ ์นด๋“œ

์„ค์ • ํ•ญ๋ชฉ์—ญํ• ๊ฐ’์ด ๋‚ฎ์„ ๋•Œ๊ฐ’์ด ๋†’์„ ๋•ŒํŠน์ง• ์š”์•ฝ
๐ŸŒก๏ธ Temperature๋ฌด์ž‘์œ„์„ฑ ์กฐ์ ˆ๋” ๊ฒฐ์ •์ ์ด๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ
(์ •ํ™•, ์ผ๊ด€)
๋” ์ฐฝ์˜์ ์ด๊ณ  ๋‹ค์–‘์„ฑ ์žˆ๋Š” ๊ฒฐ๊ณผ
(์˜ˆ์ธก ๋ถˆ๊ฐ€, ์‹คํ—˜์ )
ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋‚ ์นด๋กญ๊ฒŒ/๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋งŒ๋“ฆ
๐Ÿ”ข Top-K์ƒ์œ„ K๊ฐœ ์ค‘ ์„ ํƒ์ƒ์œ„ ๋ช‡ ๊ฐœ๋งŒ ์„ ํƒ โ†’ ๋ณด์ˆ˜์ ์„ ํƒ ํญ ๋„“์Œ โ†’ ์ฐฝ์˜์ ๊ณ ์ •๋œ ๊ฐœ์ˆ˜๋งŒ ํ›„๋ณด๋กœ ์‚ฌ์šฉ
๐ŸŽฏ Top-P
(Nucleus Sampling)
๋ˆ„์  ํ™•๋ฅ  P ์ด๋‚ด์—์„œ ์„ ํƒ์ƒ์œ„ ํ™•๋ฅ  ํ† ํฐ๋งŒ ์„ ํƒ โ†’ ์•ˆ์ •์ ๋‹ค์–‘ํ•œ ํ›„๋ณด ํฌํ•จ โ†’ ํ’๋ถ€ํ•œ ํ‘œํ˜„๋ˆ„์  ํ™•๋ฅ  ๊ธฐ์ค€, ๋™์  ํ›„๋ณด ์ˆ˜

โœ… Greedy Decoding ์กฐ๊ฑด

๋ฐฉ์‹์„ค์ •
Temperature = 0๋ฌด์กฐ๊ฑด ํ™•๋ฅ  1์œ„ ์„ ํƒ
Top-K = 11๊ฐœ๋งŒ ํ›„๋ณด
Top-P = 0๋ˆ„์  ํ™•๋ฅ ์ด 0 ๋„˜์œผ๋ฉด ์ปท โ†’

๋ชจ๋‘ ๊ฒฐ์ •์ (deterministic) ๊ฒฐ๊ณผ ์ƒ์„ฑ


๐Ÿง  ์‚ฌ์šฉ ํŒ

์‚ฌ์šฉ ๋ชฉ์ ์ถ”์ฒœ ์„ค์ •
์ •๋‹ต์ด ์žˆ๋Š” ์ž‘์—… (๋ถ„๋ฅ˜, ์š”์•ฝ, QA ๋“ฑ)Temperature = 00.3
Top-K = 10
20
Top-P = 0.8~0.9
์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”Temperature = 0.70.9
Top-K = 40
50
Top-P = 0.9~0.95
์ฐฝ์˜์ ์ธ ๊ธ€์“ฐ๊ธฐTemperature = 1.0 ์ด์ƒ
Top-K = 100 ์ด์ƒ
Top-P = 0.95~1.0

Putting it all together

Temperature, Top-K, Top-P๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑํ•  ํ† ํฐ ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ• ์ง€๋Š” ์‚ฌ์šฉ ๋ชฉ์ ๊ณผ ์›Œํ•˜๋Š” ์ถœ๋ ฅ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ด ์„ค์ •๋“ค์€ ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์„ ํƒํ•œ ๋ชจ๋ธ์ด ์ด ์ƒ˜ํ”„๋ง ์„ค์ •๋“ค์„ ์–ด๋–ป๊ฒŒ ํ•จ๊ป˜ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

์„ค์ •๋“ค์ด ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

  • Temperature, Top-K, Top-P๊ฐ€ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ
    • ๋ชจ๋ธ์€ Top-K ๋ฐ Top-P ๊ธฐ์ค€์„ ๋ชจ๋‘ ํ†ต๊ณผํ•œ ํ† ํฐ๋“ค์„ ํ›„๋ณด๋กœ ์„ค์ •ํ•œ ๋’ค, Temperature ๊ฐ’์„ ์ ์šฉํ•ด ๊ทธ ํ›„๋ณด๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค.
  • Top-K ๋˜๋Š” Top-P๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ
    • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๋‹น ์กฐ๊ฑด๋งŒ ์ ์šฉํ•ด ํ† ํฐ์„ ์„ ํƒํ•œ๋‹ค.
  • Temperature๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
    • Top-K ๋ฐ/๋˜๋Š” Top-P ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜๋Š” ํ† ํฐ๋“ค ์ค‘ ๋ฌด์ž‘์œ„๋กœ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ๋‹ค์Œ ํ† ํฐ์„ ์ƒ์„ฑํ•œ๋‹ค.

๊ทน๋‹จ์ ์ธ ์„ค์ • ๊ฐ’์˜ ์˜ํ–ฅ

์ƒ˜ํ”Œ๋ง ์„ค์ • ๊ฐ’์ด ๊ทน๋‹จ์ ์œผ๋กœ ์„ค์ •๋˜๋ฉด, ๊ทธ ์„ค์ •์ด ๋‹ค๋ฅธ ์„ค์ •์„ ๋ฌด๋ ฅํ™”ํ•˜๊ฑฐ๋‚˜ ์˜๋ฏธ ์—†๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

Temperature ๊ด€๋ จ

  • Temperature = 0์ผ ๊ฒฝ์šฐ
    • Top-K์™€ Top-P๋Š” ๋ฌด์˜๋ฏธํ•ด์ง„๋‹ค.
    • ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ ํ† ํฐ์ด ๋ฌด์กฐ๊ฑด ์„ ํƒ๋œ๋‹ค.
  • Temperature๊ฐ€ ๋งค์šฐ ๋†’์€ ๊ฐ’(์˜ˆ: 1์ด์ƒ, 10๋Œ€ ์ˆ˜์น˜)์ผ ๊ฒฝ์šฐ
    • Temperature ์ž์ฒด๊ฐ€ ๋ฌด์˜๋ฏธํ•ด์ง€๊ณ , Top-K/Top-P ์กฐ๊ฑด๋งŒ ๋งŒ์กฑํ•˜๋ฉด ์™„์ „ํžˆ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ๋‹ค.

Top-K ๊ด€๋ จ

  • Top-K = 1์ผ ๊ฒฝ์šฐ
    • Temperature์™€ Top-P๋Š” ๋ฌด์˜๋ฏธํ•ด์ง„๋‹ค.
    • ๊ฐ€์žฅ ํ™•๋ฅ  ๋†’์€ 1๊ฐœ ํ† ํฐ๋งŒ ํ›„๋ณด๊ฐ€ ๋˜๋ฏ€๋กœ, ํ•ญ์ƒ ๊ทธ ํ† ํฐ์ด ์„ ํƒ๋œ๋‹ค.
  • Top-K๊ฐ€ ๋งค์šฐ ํฐ ๊ฐ’(์˜ˆ: ๋ชจ๋ธ ์ „์ฒด ์–ดํœ˜ ์ˆ˜)์ผ ๊ฒฝ์šฐ:
    • ํ™•๋ฅ ์ด 0์ด ์•„๋‹Œ ๋ชจ๋“  ํ† ํฐ์ด ํ›„๋ณด๊ฐ€ ๋˜๋ฉฐ, ์‹ค์งˆ์ ์œผ๋กœ ์„ ํƒ์—์„œ ์ œ์™ธ๋˜๋Š” ํ† ํฐ์ด ์—†์Œ

Top-P ๊ด€๋ จ

  • Top-P = 0์ผ ๊ฒฝ์šฐ
    • ๋Œ€๋ถ€๋ถ„์˜ ๊ตฌํ˜„์—์„œ ๊ฐ€์žฅ ํ™•๋ฅ  ๋†’์€ ๋‹จ ํ•˜๋‚˜์˜ ํ† ํฐ๋งŒ ํ›„๋ณด๊ฐ€ ๋จ
    • Temperature ๋ฐ Top-K๋Š” ๋ฌด์˜๋ฏธํ•ด์ง
  • Top-P = 1์ผ ๊ฒฝ์šฐ
    • ํ™•๋ฅ ์ด 0์ด ์•„๋‹Œ ๋ชจ๋“  ํ† ํฐ์ด ํ›„๋ณด๊ฐ€ ๋˜๋ฉฐ, ์‹ค์งˆ์ ์œผ๋กœ ์ œ๊ฑฐ๋˜๋Š” ํ† ํฐ ์—†์Œ

๐ŸŽฏ ์ถ”์ฒœ ์‹œ์ž‘์  (์„ค์ • ์˜ˆ์‹œ)

๋ชฉ์ ์ถ”์ฒœ ์„ค์ •
๊ท ํ˜• ์žกํžŒ ๊ฒฐ๊ณผ (์ ๋‹นํžˆ ์ฐฝ์˜์ ์ด๊ณ  ๋…ผ๋ฆฌ์ ์ธ ์‘๋‹ต)Temperature = 0.2
Top-P = 0.95
Top-K = 30
์ฐฝ์˜์„ฑ ๊ฐ•์กฐTemperature = 0.9
Top-P = 0.99
Top-K = 40
์ •ํ™•์„ฑ ๊ฐ•์กฐ (๋…ผ๋ฆฌ์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋“ฑ)Temperature = 0
(Top-K, Top-P๋Š” ๋ฌด์˜๋ฏธํ•ด์ง)
๋œ ์ฐฝ์˜์ ์ธ ์‘๋‹ต ํฌ๋ง ์‹œTemperature = 0.1
Top-P = 0.9
Top-K = 20

์ฃผ์œ„! ์„ค์ •์„ ๋” ์ž์œ ๋กญ๊ฒŒ ํ• ์ˆ˜๋ก ๋ชจ๋ธ์ด ๋œ ๊ด€๋ จ์„ฑ ์žˆ๋Š” ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•  ์œ„ํ—˜๋„ ์ปค์ง„๋‹ค.

๋ฐ˜๋ณต ๋ฃจํ”„ ํ˜„์ƒ(Repetition Loop Bug)

LLM ์‘๋‹ต์ด ๊ฐ™์€ ๋‹จ์–ด ๋˜๋Š” ๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋๋‚˜๋Š” ํ˜„์ƒ, ์ฆ‰ ์ฑ„์›€๋ง(Filler word)์ด ๊ธธ๊ฒŒ ์ด์–ด์ง€๋Š” ๋ฒ„๊ทธ๋ฅผ ๊ฒฝํ—˜ํ•œ ์  ์žˆ๋‚˜์š”? ์ด๊ฒƒ์ด ๋ฐ”๋กœ Repetition Loop Bug ์ฆ‰ ๋ชจ๋ธ์ด ๋ฐ˜๋ณต์ ์ธ ๊ตฌ์กฐ์— ๊ฐ‡ํžˆ๋Š” ์ผ๋ฐ˜์ ์ธ ํ˜„์ƒ์ด๋‹ค. ์ด ํ˜„์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ค์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

Temperature๊ฐ€ ๋‚ฎ์„ ๋•Œ(๊ณผ๋„ํ•œ ๊ฒฐ์ •์„ฑ)

  • ๋ชจ๋ธ์ด ํ•ญ์ƒ ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์ธ ๊ฒฝ๋กœ๋งŒ ๊ณ ์ง‘ํ•˜๊ฒŒ ๋˜๊ณ  ์ด์ „ ์ถœ๋ ฅ๊ณผ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ๋กœ๋กœ ๋น ์ง€๊ฒŒ ๋œ๋‹ค.

Temperature๊ฐ€ ๋†’์„ ๋•Œ(๊ณผ๋„ํ•œ ๋ฌด์ž‘์œ„์„ฑ)

  • ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ ๋‹จ์–ด๊ฐ€ ์šฐ์—ฐํžˆ ์ด์ „ ๋ฌธ์žฅ์„ ๋‹ค์‹œ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์Œ
  • ํ›„๋ณด ํ† ํฐ ์ˆ˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก, ์ด์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐˆ ๊ฐ€๋Šฅ์„ฑ๋„ ์ปค์ง โ†’ ์ˆœํ™˜ ๋ฃจํ”„์— ๋น ์ง€๊ฒŒ ๋จ

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  • Temperature, Top-K, Top-P ๊ฐ’์„ ์„ธ์‹ฌํ•˜๊ฒŒ ์กฐ์ •ํ•˜์—ฌ ๊ฒฐ์ •์„ฑ๊ณผ ๋ฌด์ž‘์œ„์„ฑ ์‚ฌ์ด์˜ ๊ท ํ˜•์ ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

Prompting techniques

LLM์€ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด๋„๋ก ํŠœ๋‹๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ LLM์€ ์™„๋ฒฝํ•œ ์กด์žฌ๋Š” ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ  ๊ตฌ์ฒด์ ์ผ์ˆ˜๋ก LLM์ด ์ ์ ˆํ•œ ๋‹ค์Œ ํ…์ŠคํŠธ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ๋” ๋„์›€์ด ๋œ๋‹ค.

๋˜ํ•œ, LLM์ด ์–ด๋–ป๊ฒŒ ํ•™์Šต๋˜๊ณ  ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ทธ์— ๋งž์ถฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ํŠน์ • ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๋” ์ •ํ™•ํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์š”์†Œ๋“ค์ด ํ•„์š”ํ•œ์ง€๋ฅผ ์ดํ•ดํ–ˆ์œผ๋‹ˆ, ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.

General prompting / zero shot

์ œ๋กœ์ƒท(Zero-shot) ํ”„๋กฌํ”„ํŠธ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ์˜ ํ”„๋กฌํ”„ํŠธ์ด๋‹ค. ์ด ๋ฐฉ์‹์€ ๋‹จ์ˆœํžˆ ์ž‘์—…์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์‹œ์ž‘ํ•  ํ…์ŠคํŠธ๋งŒ LLM์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค. ์ด ์ž…๋ ฅ์€ ์งˆ๋ฌธ, ์ด์•ผ๊ธฐ์˜ ์‹œ์ž‘, ์ง€์‹œ๋ฌธ ๋“ฑ ์–ด๋–ค ํ˜•ํƒœ๋“  ๊ฐ€๋Šฅํ•˜๋‹ค. ์ œ๋กœ์ƒท์ด๋ผ๋Š” ์ด๋ฆ„์€ ์˜ˆ์‹œ๊ฐ€ ์ „ํ˜€ ์—†๋‹ค๋Š” ๋œป์ด๋‹ค.

์‹ค์Šต ์˜ˆ์‹œ(Vertex AI Studio ์‚ฌ์šฉ)

์˜ˆ๋ฅผ ๋“ค์–ด Vertext AI์˜ Vertex AI Studio(์–ธ์–ด์šฉ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ํ™˜๊ฒฝ์ด ์ œ๊ณต๋œ๋‹ค. ์•„๋ž˜ ํ‘œ์—๋Š” ์˜ํ™” ๋ฆฌ๋ทฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ œ๋กœ์ƒท ํ”„๋กฌํ”„ํŠธ์˜ ์˜ˆ์‹œ๊ฐ€ ๋‚˜์™€ ์žˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ๋ฌธ์„œํ™” Tip ์œ„์™€ ๊ฐ™์€ ํ‘œ ํ˜•ํƒœ๋กœ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค. ํ”„๋กฌํ”„ํŠธ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „๊นŒ์ง€ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜์ •๊ณผ ์‹คํ—˜์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋ฏ€๋กœ, ๊ตฌ์กฐํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ณผ์ •์„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์˜ˆ์‹œ ํ”„๋กฌํ”„ํŠธ์˜ ํฌ์ธํŠธ

  • ๋ฌธ์žฅ์— disturbing(๋ถˆํŽธํ•œ)๊ณผ masterpiece(๊ฑธ์ž‘)๋ผ๋Š” ์ƒ๋ฐ˜๋œ ๋‹จ์–ด๊ฐ€ ํ•จ๊ป˜ ํฌํ•จ๋˜์–ด ์žˆ์–ด ๋ชจ๋ธ์—๊ฒŒ๋Š” ์กฐ๊ธˆ ๋” ์–ด๋ ค์šด ๋ถ„๋ฅ˜ ์ž‘์—…์ด ๋œ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„: One-shot / Few-shot

  • ๋งŒ์•ฝ ์ œ๋กœ์ƒท ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ํ”„๋กฌํ”„ํŠธ์— ์˜ˆ์‹œ๋ฅผ ํ•œ๋‘ ๊ฐœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿฐ ๋ฐฉ์‹์ด ๋ฐ”๋กœ ์›์ƒท(one-shot) ๋˜๋Š” ํ“จ์‚ฟ(few-shot) ํ”„๋กฌํ”„ํŒ…์œผ๋กœ ์ด์–ด์ง„๋‹ค.

One-shot & few-shot

AI ๋ชจ๋ธ์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ, ์˜ˆ์‹œ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋„์›€์ด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ˆ์‹œ๋Š” ๋ชจ๋ธ์ด ๋ฌด์—‡์„ ์š”๊ตฌํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ์›ํ•˜๋Š” ์ถœ๋ ฅ ๊ตฌ์กฐ๋‚˜ ํŒจํ„ด์„ ๋”ฐ๋ฅด๋„๋ก ์œ ๋„ํ•˜๋Š” ๋ฐ ํšจ๊ณผ์ ์ด๋‹ค.

One-shot ํ”„๋กฌํ”„ํŒ…

  • ์˜ˆ์‹œ 1๊ฐœ๋งŒ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹
  • ์ด๋ฆ„์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ์˜ ์ƒท์œผ๋กœ ๋ชจ๋ธ์ด ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์„ ๋‹จ ํ•˜๋‚˜ ๋ณด์—ฌ์ฃผ๋Š” ํ”„๋กฌํ”„ํŒ…
  • ๋ชจ๋ธ์€ ๊ทธ ์˜ˆ์‹œ๋ฅผ ๋ชจ๋ฐฉ(imitate)ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰

Few-shot ํ”„๋กฌํ”„ํŒ…

  • 2๊ฐœ ์ด์ƒ์˜ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ๋ชจ๋ธ์ด ๋”ฐ๋ผ์•ผ ํ•  ๋ช…ํ™•ํ•œ ํŒจํ„ด์„ ํ•™์Šตํ•œ๋‹ค.
  • One-shot๊ณผ ์›๋ฆฌ๋Š” ๊ฐ™์ง€๋งŒ, ์˜ˆ์‹œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ์ด ํŒจํ„ด์„ ๋” ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๋Š” ์‘๋‹ต์„ ์ƒ์„ฑํ•  ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค.

Few-shot์—์„œ ํ•„์š”ํ•œ ์˜ˆ์‹œ ์ˆ˜๋Š”?

์˜ˆ์‹œ ๊ฐœ์ˆ˜๋Š” ์•„๋ž˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์กฐ๊ฑด์„ค๋ช…
๐Ÿงฉ ์ž‘์—…์˜ ๋ณต์žก๋„๋ณต์žกํ• ์ˆ˜๋ก ๋” ๋งŽ์€ ์˜ˆ์‹œ ํ•„์š”
โœจ ์˜ˆ์‹œ์˜ ํ’ˆ์งˆ๊ณ ํ’ˆ์งˆ ์˜ˆ์‹œ์ผ์ˆ˜๋ก ์ ์€ ์ˆ˜๋กœ๋„ ๊ฐ€๋Šฅ
๐Ÿง  ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ๊ณ ์„ฑ๋Šฅ ๋ชจ๋ธ์ผ์ˆ˜๋ก ์ ์€ ์˜ˆ์‹œ๋กœ๋„ ํ•™์Šต ๊ฐ€๋Šฅ
๐Ÿ”  ์ž…๋ ฅ ๊ธธ์ด ์ œํ•œ์˜ˆ์‹œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์ „์ฒด ์ž…๋ ฅ ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ์Œ

๐Ÿ“Œ ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” 3~5๊ฐœ์˜ ์˜ˆ์‹œ๊ฐ€ ๊ถŒ์žฅ๋˜์ง€๋งŒ, ์ž‘์—…์— ๋”ฐ๋ผ ๋” ๋งŽ๊ฑฐ๋‚˜ ์ ๊ฒŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parse a customer's pizza order into valid JSON:
 
EXAMPLE:
I want a small pizza with cheese, tomato sauce, and pepperoni.  
JSON Response:  
{
  "size": "small",
  "type": "normal",
  "ingredients": [["cheese", "tomato sauce", "peperoni"]]
}
 
EXAMPLE:
Can I get a large pizza with tomato sauce, basil and mozzarella  
JSON Response:  
{
  "size": "large",
  "type": "normal",
  "ingredients": [["tomato sauce", "bazel", "mozzarella"]]
}
 
Now, I would like a large pizza, with the first half cheese and mozzarella.  
And the other tomato sauce, ham and pineapple.  
JSON Response:
{
  "size": "large",
  "type": "half-half",
  "ingredients": [["cheese", "mozzarella"], ["tomato sauce", "ham", "pineapple"]]
}
 

์˜ˆ์‹œ ์„ ํƒ ์‹œ ์œ ์˜์‚ฌํ•ญ

  • ์˜ˆ์‹œ๋Š” ๋ฐ˜๋“œ์‹œ ๊ณผ์—…๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ด์–ด์•ผ ํ•œ๋‹ค.
  • ์˜ˆ์‹œ๋Š” ๋‹ค์–‘์„ฑ ์žˆ๊ฒŒ, ์ž˜ ์ž‘์„ฑ๋œ ๋ฌธ์žฅ์œผ๋กœ, ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ™•ํ•˜๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ์˜ˆ์‹œ ์ค‘ ์ž‘์€ ์‹ค์ˆ˜ ํ•˜๋‚˜๋งŒ ์žˆ์–ด๋„, ๋ชจ๋ธ์ด ํ˜ผ๋ž€์„ ๊ฒช์–ด ์›ํ•˜์ง€ ์•Š๋Š” ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฃ์ง€ ์ผ€์ด์Šค ํฌํ•จํ•˜๊ธฐ

  • ๋‹ค์–‘ํ•œ ์ž…๋ ฅ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๋Š” ์ถœ๋ ฅ์„ ์›ํ•œ๋‹ค๋ฉด, ์˜ˆ์‹œ์— ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
  • ์—ฃ์ง€ ์ผ€์ด์Šค๋ž€? ์ผ๋ฐ˜์ ์ด์ง€ ์•Š๊ฑฐ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ž…๋ ฅ์ด์ง€๋งŒ ๋ชจ๋ธ์ด ์—ฌ์ „ํžˆ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

System, contextual and role prompting

์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ(system prompting), ์ปจํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ(contextual prompting), ์—ญํ•  ํ”„๋กฌํ”„ํŠธ(role prompting)๋Š” LLM์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฒ•๋“ค์ด๋‹ค. ์ด๋“ค์€ ๋ชจ๋‘ ๋ชจ๋ธ์ด ์–ด๋–ค ์‹์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ• ์ง€ ์œ ๋„ํ•˜์ง€๋งŒ, ๊ฐ๊ฐ ์ดˆ์ ์ด ๋‹ค๋ฅธ๋‹ค.

  1. ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ
    • ๋ชจ๋ธ์˜ ์ „์ฒด ๋ชฉ์ ๊ณผ ๋™์ž‘ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•œ๋‹ค.
    • โ€œ๋ชจ๋ธ์ด ์ „๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค ์—ญํ• ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€โ€๋ฅผ ์ •์˜ํ•œ๋‹ค.
    • ์˜ˆ
      • ๋„ˆ๋Š” ์˜์–ด ๋ฌธ์žฅ์„ ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ฒˆ์—ญ๊ฐ€์•ผ
      • ๋„ˆ๋Š” ์‚ฌ์šฉ์ž์˜ ๋ฆฌ๋ทฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” AI์•ผ
  2. ์ปจํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ
    • ํ˜„์žฌ ๋Œ€ํ™”๋‚˜ ์ž‘์—…์— ๊ตฌ์ฒด์ ์ธ ๋ฐฐ๊ฒฝ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
    • ์š”์ฒญ์˜ ๋‰˜์•™์Šค๋‚˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.
    • ์˜ˆ
      • ์ด ์˜ํ™” ๋ฆฌ๋ทฐ๋Š” 10๋Œ€๊ฐ€ ์ž‘์„ฑํ•œ ๊ฒƒ์ด๋ฉฐ, ๊ฐ์ • ๋ถ„์„์„ ์š”์ฒญ๋ฐ›์•˜์–ด
      • ์ด ๋ฌธ์žฅ์„ 1800๋…„๋Œ€ ๊ณ ์ „ ๋ฌธํ•™์—์„œ ๋ฐœ์ทŒ๋œ ๊ฒƒ์ด์•ผ
  3. ์—ญํ•  ํ”„๋กฌํ”„ํŠธ
    • ๋ชจ๋ธ์—๊ฒŒ ํŠน์ • ์ธ๋ฌผ์ด๋‚˜ ์ •์ฒด์„ฑ์„ ๋ถ€์—ฌํ•œ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ์˜ ์–ด์กฐ, ์Šคํƒ€์ผ, ์ง€์‹ ์ˆ˜์ค€ ๋“ฑ์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ
      • ๋„ˆ๋Š” ์œ ๋ช…ํ•œ ์„ธํ”„์•ผ. ์š”๋ฆฌ ๋ ˆ์‹œํ”ผ๋ฅผ ์„ค๋ช…ํ•ด์ค˜.
      • ๋„ˆ๋Š” AI ์˜์‚ฌ์•ผ. ์ฆ์ƒ ๊ธฐ๋ฐ˜ ์ง„๋‹จ์„ ๋„์™€์ค˜

์„œ๋กœ ์„ž์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ์„ธ๊ฐ€์ง€๋Š” ๋•Œ๋•Œ๋กœ ์„œ๋กœ ๊ฒน์น  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ญํ• ์„ ์„ค์ •ํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋™์‹œ์— ๋ฐฐ๊ฒฝ ์ •๋ณด(์ปจํ…์ŠคํŠธ)๋ฅผ ๋‹ด๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ ์œ ํ˜•์„ ๊ตฌ๋ถ„ํ•ด์„œ ์„ค๊ณ„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์žˆ๋‹ค.

  • ํ”„๋กฌํ”„ํŠธ์˜ ๋ชฉ์ ์ด ๋” ๋ช…ํ™•ํ•ด์ง€๊ณ ,
  • ์กฐํ•ฉ์ด ๋” ์œ ์—ฐํ•ด์ง€๋ฉฐ,
  • ์–ด๋–ค ์š”์†Œ๊ฐ€ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ๋ถ„์„ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

System prompting

ํ‘œ3์—์„œ๋Š” ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์˜ ์˜ˆ์‹œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋‚˜๋Š” ์ถœ๋ ฅ์„ ์–ด๋–ป๊ฒŒ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ง€์นจ์„ ๋ช…ํ™•ํžˆ ์ง€์ •ํ–ˆ๋‹ค.

  • ๋” ๋†’์€ ์ฐฝ์˜์„ฑ์„ ์œ ๋„ํ•˜๊ธฐ ์œ„ํ•ด temperature ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผฐ๊ณ 
  • token ์ œํ•œ๋„ ๋Š˜๋ ธ๋‹ค. ํ•˜์ง€๋งŒ ์ถœ๋ ฅ ํ˜•์‹์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ง€์‹œ๋ฅผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋ธ์€ ๋ถˆํ•„์š”ํ•œ ํ…์ŠคํŠธ ์—†์ด ์ง€์ •ํ•œ ํ˜•์‹๋Œ€๋กœ๋งŒ ์‘๋‹ต์„ ์ƒ์„ฑํ–ˆ๋‹ค.

์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์˜ ์—ญํ•  ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋ž€ ์ด๋ฆ„์€ ์‹ค์ œ๋กœ ์‹œ์Šคํ…œ์—๊ฒŒ ์ถ”๊ฐ€ ์ž‘์—…์„ ๋ถ€์—ฌํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ํ˜ธํ™˜๋˜๋Š” ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ƒ์„ฑ
  • ์ถœ๋ ฅ์ด ํŠน์ • ๊ตฌ์กฐ๋‚˜ ํ˜•์‹(์˜ˆ: JSON, table ๋“ฑ)์„ ๋”ฐ๋ฅด๋„๋ก ์œ ๋„

์˜ˆ์‹œ - JSON ํ˜•์‹ ์ถœ๋ ฅ(ํ‘œ4) ํ‘œ 4์—์„œ๋Š” ๋ชจ๋ธ์ด JSON ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋„๋ก ์œ ๋„ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜•์‹์€ ํŠนํžˆ ๋ฐ์ดํ„ฐ ์ถ”์ถœ ๊ณผ์ œ์—์„œ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

JSON ์ถœ๋ ฅ์˜ ์žฅ์ 

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ˆ˜๋™์œผ๋กœ JSON์„ ์ƒ์„ฑํ•  ํ•„์š” ์—†์Œ
  • ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ
  • ์˜ˆ : datetime ๊ฐ์ฒด๋ฅผ ์‹œ๊ฐ„์ˆœ ํ˜•ํƒœ๋กœ ๋ฐ›๊ธฐ ์‰ฌ์›€
  • ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์  : ๋ชจ๋ธ์ด ๊ตฌ์กฐํ™”๋œ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๋„๋ก ๊ฐ•์ œํ•˜๋ฏ€๋กœ ํ™˜๊ฐ(hallucination)์„ ์ค„์ด๋Š” ๋ฐ ํฐ ํšจ๊ณผ

์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์˜ ๋˜ ๋‹ค๋ฅธ ์žฅ์ : ์•ˆ์ „์„ฑ ์ œ์–ด

  • ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋Š” ์ถœ๋ ฅ์˜ ํ†ค์ด๋‚˜ ์–ด์กฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐ๋„ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.
  • ์˜ˆ
"You should be respectful in your answer."

์ด์™€ ๊ฐ™์€ ํ•œ ์ค„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ชจ๋ธ์ด ์ƒ์„ฑํ•˜๋Š” ์‘๋‹ต์„ ๋” ์ •์ค‘ํ•˜๊ณ , ๋น„ํญ๋ ฅ์ ์ด๋ฉฐ, ํŽธํ–ฅ ์—†๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

Role prompting

์—ญํ•  ํ”„๋กฌํ”„ํŠธ๋Š” ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์ƒ์„ฑํ˜• AI ๋ชจ๋ธ์—๊ฒŒ ํŠน์ • ์—ญํ• (Role)์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์—ญํ• ์„ ๋ถ€์—ฌํ•˜์ง€๋งŒ, ๋ชจ๋ธ์ด ๊ทธ ์—ญํ• ์— ๋งž์ถฐ ๋” ๊ด€๋ จ์„ฑ ์žˆ๊ณ  ์ •๋ณด์„ฑ ์žˆ๋Š” ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ์‘๋‹ต์˜ ์–ด์กฐ, ๋‚ด์šฉ, ๋ฐฉ์‹์ด ์—ญํ• ์— ๋”ฐ๋ผ ๋‹ฌ๋ฆฌ์ง€๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ์‹œ

  • ์ฑ… ํŽธ์ง‘์ž (Book editor)
  • ์œ ์น˜์› ์„ ์ƒ๋‹˜ (Kindergarten teacher)
  • ๋™๊ธฐ๋ถ€์—ฌ ๊ฐ•์‚ฌ (Motivational speaker)

์—ญํ•  ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์‘๋‹ต ์ฐจ์ด

  • ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ๋ผ๋„, ์˜ˆ๋ฅผ ๋“ค์–ด ์—ญํ• ์„ โ€œ์ง€๋ฆฌ ๊ต์‚ฌโ€๋กœ ๋ฐ”๊พธ๋ฉด, ๋ชจ๋ธ์˜ ์‘๋‹ต์€ ์ง€๋ฆฌ ๊ต์œก ์ค‘์‹ฌ์˜ ์„ค๋ช…์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค.
  • ์ด์ฒ˜๋Ÿผ ์—ญํ• ์„ ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ชจ๋ธ์˜ ์ „๋ฌธ์„ฑ, ๋งํˆฌ, ํ‘œํ˜„ ๋ฐฉ์‹์ด ๋ˆˆ์— ๋„๊ฒŒ ๋‹ฌ๋ผ์ง„๋‹ค.

์—ญํ•  ํ”„๋กฌํ”„ํŠธ์˜ ํšจ์™€ ์—ญํ• ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๋ชจ๋ธ์—๊ฒŒ ์–ด๋–ค ํ†ค, ์Šคํƒ€์ผ, ์ „๋ฌธ์„ฑ ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ• ์ง€์— ๋Œ€ํ•œ ์„ค๊ณ„๋„๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์Œ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

  • ์ถœ๋ ฅ์˜ ํ’ˆ์งˆ
  • ์‘๋‹ต์˜ ์ ์ ˆ์„ฑ
  • ๊ฒฐ๊ณผ์˜ ํšจ๊ณผ์„ฑ

์ถ”์ฒœ ์Šคํƒ€์ผ ๋ชฉ๋ก ๋‹ค์Œ์€ ๋‹ค์–‘ํ•œ ์—ญํ•  ์Šคํƒ€์ผ ์ค‘ ํšจ๊ณผ์ ์ด๋ผ๊ณ  ์—ฌ๊ฒจ์ง€๋Š” ์˜ˆ์‹œ๋“ค์ด๋‹ค.

  • Confrontational (์ง์„ค์ ์ด๊ณ  ๋…ผ์Ÿ์ ์ธ)
  • Descriptive (๋ฌ˜์‚ฌ ์ค‘์‹ฌ)
  • Direct (์ง์ ‘์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•œ)
  • Formal (๊ฒฉ์‹ ์žˆ๋Š”)
  • Humorous (์œ ๋จธ๋Ÿฌ์Šคํ•œ)
  • Influential (์˜ํ–ฅ๋ ฅ ์žˆ๋Š”)
  • Inspirational (์˜๊ฐ์„ ์ฃผ๋Š”)
  • Persuasive (์„ค๋“๋ ฅ ์žˆ๋Š”)

Contextual prompting

์ปจํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŒ…(Contextual Prompting)์€ ํ”„๋กฌํ”„ํŠธ ์•ˆ์— ๋ฐฐ๊ฒฝ ์ •๋ณด๋‚˜ ์ƒํ™ฉ(context)์„ ํ•จ๊ป˜ ์ œ๊ณตํ•˜์—ฌ ๋ชจ๋ธ์ด ์‚ฌ์šฉ์ž์˜ ์˜๋„๋ฅผ ๋” ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ , ๋” ๊ด€๋ จ์„ฑ ๋†’์€ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

๋ชฉ์ 

  • AI์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋ฐฐ๊ฒฝ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ฃผ๋ฉด, ๋ชจ๋ธ์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋” ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์‹ค์ œ ์ƒํ™ฉ์— ๋งž๋Š” ์ •ํ™•ํ•œ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

Step-back prompting

์Šคํ…๋ฐฑ(Step-back) ํ”„๋กฌํ”„ํŒ…์€ LLM์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•์œผ๋กœ, ์ง€๊ธˆ ๋‹น์žฅ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ๋กœ ๋ฐ”๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ , ๋จผ์ € ๊ทธ์™€ ์—ฐ๊ด€๋œ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์„ ๋ชจ๋ธ์— ๋˜์ ธ ๊ทธ ์ผ๋ฐ˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„์˜ ์‹ค์ œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์™œ โ€œStep-backโ€์ด ํ•„์š”ํ•œ๊ฐ€?

  • ์ด โ€œํ•œ ๊ฑธ์Œ ๋ฌผ๋Ÿฌ์„œ๊ธฐ(step-back)โ€ ๊ณผ์ •์€ LLM์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์ „, ๊ด€๋ จ๋œ ๋ฐฐ๊ฒฝ์ง€์‹๊ณผ ์‚ฌ๊ณ ๊ณผ์ •์„ ํ™œ์„ฑํ™”ํ•˜๊ฒŒ ๋„์™€์ค€๋‹ค.
  • ๋•๋ถ„์— ๋ชจ๋ธ์€ ๋” ์ •ํ™•ํ•˜๊ณ  ๊นŠ์ด ์žˆ๋Š” ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

ํšจ๊ณผ์™€ ์ด์ 

  • ๋ฐฐ๊ฒฝ ์ง€์‹ ํ™œ์„ฑํ™” : ๋ชจ๋ธ์ด ๋ณด์œ ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋…์„ ๋จผ์ € ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ์œ ๋„
  • ๋น„ํŒ์  ์‚ฌ๊ณ  ๊ฐ•ํ™” : ๋ชจ๋ธ์ด ๋‹จ์ˆœ ์‘๋‹ต๋ณด๋‹ค ๋” ๋…ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋กœ ์‚ฌ๊ณ ํ•˜๊ฒŒ ํ•จ
  • ์ฐฝ์˜๋ ฅ ํ–ฅ์ƒ : ๋” ๋„“์€ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•ด ์ƒˆ๋กญ๊ณ  ์œ ์šฉํ•œ ๋ฐฉ์‹์œผ๋กœ ์ง€์‹์„ ์ ์šฉ
  • ํŽธํ–ฅ ์™„ํ™” : ๊ตฌ์ฒด์ ์ธ ์ •๋ณด ๋Œ€์‹  ์ผ๋ฐ˜ ์›์น™์— ์ง‘์ค‘ํ•จ์œผ๋กœ์จ ํŽธํ–ฅ์„ ์ค„์ž„

๐Ÿ“Š Step-back Prompting ์˜ˆ์‹œ ๋น„๊ต (ํ‘œ 8 vs ํ‘œ 9)

โœ… ํ‘œ 8: ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ (๊ธฐ๋ณธ ์ ‘๊ทผ ๋ฐฉ์‹)
ํ•ญ๋ชฉ๋‚ด์šฉ
๐ŸŽฏ Goal1์ธ์นญ ์ŠˆํŒ… ๊ฒŒ์ž„์˜ ์ƒˆ๋กœ์šด ๋ ˆ๋ฒจ์„ ์œ„ํ•œ ์Šคํ† ๋ฆฌ๋ผ์ธ ์ž‘์„ฑ
๐Ÿง  PromptWrite a one paragraph storyline for a new level of a first-person shooter video game that is challenging and engaging.
๐Ÿ”ง ์„ค์ •Model: gemini-pro / Temperature: 1 / Token Limit: 1024 / Top-K: 40 / Top-P: 0.8
๐Ÿ“ Output๋„์‹ฌ์—์„œ ๋งค๋ณต ๊ณต๊ฒฉ โ†’ ๊ณจ๋ชฉ๊ณผ ํํ—ˆ ๊ฑด๋ฌผ ๋ŒํŒŒ โ†’ ์  ์ œ๊ฑฐ ๋ฐ ์€์‹  โ†’ ํ•จ์ •๊ณผ ์—„ํ๋ฌผ ํ™œ์šฉ โ†’ ์ ์˜ ๊ณต๊ฒฉ ๊ณ„ํš์„ ํƒ์ง€ ํ›„ ์‹œ๊ฐ„ ๋‚ด์— ๋ณธ๋ถ€๋กœ ๋ณต๊ท€

โ–ถ๏ธ ์ฆ‰๊ฐ์ ์ธ ์š”์ฒญ โ†’ ์ง์ ‘ ์ƒ์„ฑ,
ํ•˜์ง€๋งŒ ์•„์ด๋””์–ด์˜ ์ฐฝ์˜์„ฑ์ด๋‚˜ ๋‹ค์–‘์„ฑ ์ธก๋ฉด์—์„  ์ œํ•œ์ ์ผ ์ˆ˜ ์žˆ์Œ.

โœ… ํ‘œ 9: Step-back ํ”„๋กฌํ”„ํŠธ
ํ•ญ๋ชฉ๋‚ด์šฉ
๐ŸŽฏ PromptBased on popular first-person shooter action games, what are 5 fictional key settings that contribute to a challenging and engaging level storyline in a first-person shooter video game?
๐Ÿ“ Output
  1. ๋ฒ„๋ ค์ง„ ๊ตฐ์‚ฌ ๊ธฐ์ง€ โ€“ ๋Œ์—ฐ๋ณ€์ด ๋ณ‘์‚ฌ์™€ ๋กœ๋ด‡์ด ์žˆ๋Š” ํฌ์ŠคํŠธ ์•„ํฌ์นผ๋ฆฝ์Šค ๋ฐฐ๊ฒฝ
  2. ์‚ฌ์ด๋ฒ„ํŽ‘ํฌ ๋„์‹œ โ€“ ์ฒจ๋‹จ ๊ธฐ์ˆ ๊ณผ ํ•ดํ‚น, ๋ฐ€์ง‘๋œ ๋„์‹œ ๊ณต๊ฐ„
  3. ์™ธ๊ณ„์ธ ์šฐ์ฃผ์„  โ€“ ์ค‘๋ ฅ ์—†์Œ, ์™ธ๊ณ„ ์ƒ๋ช…์ฒด์™€์˜ ์กฐ์šฐ
  4. ์ข€๋น„ ๋„์‹œ โ€“ ํผ์ฆ๊ณผ ๊ทผ์ ‘ ์ „ํˆฌ ์ค‘์‹ฌ์˜ ์ƒ์กด
  5. ํ•ด์ € ์—ฐ๊ตฌ์†Œ โ€“ ์ž ์ˆ˜, ์€์‹ , ๋ฌผ์† ๊ดด๋ฌผ๋“ค ํšŒํ”ผ

โ–ถ๏ธ ๋จผ์ € ์ผ๋ฐ˜์ ์ธ ๋งฅ๋ฝ์„ ๋ชจ๋ธ์—๊ฒŒ ์ œ์‹œํ•œ ๋’ค, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„ ํ”„๋กฌํ”„ํŠธ์— ํ™œ์šฉ ๊ฐ€๋Šฅ

๐Ÿง  ํšจ๊ณผ ๋น„๊ต ์š”์•ฝ
ํ•ญ๋ชฉ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ (ํ‘œ 8)Step-back ํ”„๋กฌํ”„ํŠธ (ํ‘œ 9)
์ ‘๊ทผ ๋ฐฉ์‹๋ฐ”๋กœ ์Šคํ† ๋ฆฌ ์ž‘์„ฑ ์š”์ฒญ๋จผ์ € ๋ฐฐ๊ฒฝ ์•„์ด๋””์–ด ์ˆ˜์ง‘ ํ›„ ์‚ฌ์šฉ
์ฐฝ์˜์„ฑ๋น„๊ต์  ๋‹จ์ผํ•œ ํ๋ฆ„๋‹ค์–‘ํ•œ ์„ค์ •๊ณผ ๊ตฌ์กฐ ์ฐฝ์ถœ ๊ฐ€๋Šฅ
์ •๋ณด ํ™œ์šฉ์ œํ•œ์ ๋ชจ๋ธ์˜ ์ž ์žฌ ์ง€์‹ ์ ๊ทน ํ™œ์šฉ
์‘๋‹ต ๋‹ค์–‘์„ฑ์ค‘๊ฐ„๋†’์Œ
์‘๋‹ต ํ’ˆ์งˆ์‹ค์šฉ์ ์ด๋‚˜ ํ‰๋ฒ”ํ•  ์ˆ˜ ์žˆ์Œํ’๋ถ€ํ•˜๊ณ  ๋…์ฐฝ์ ์ธ ๋ฐฐ๊ฒฝ ์ œ์‹œ ๊ฐ€๋Šฅ
โœ… ๊ฒฐ๋ก : Step-back Prompting์˜ ๊ฐ•์ 
  • ๋ชจ๋ธ์ด ์ผ๋ฐ˜์ ์ธ ์›์น™์ด๋‚˜ ๋ฐฐ๊ฒฝ์ง€์‹์„ ๋จผ์ € ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ์œ ๋„ํ•˜๋ฉด
    ๐Ÿ‘‰ ๋” ์ •ํ™•ํ•˜๊ณ  ์ฐฝ์˜์ ์ธ ๊ฒฐ๊ณผ ์ƒ์„ฑ ๊ฐ€๋Šฅ

  • ๊ฒฐ๊ณผ์ ์œผ๋กœ, Step-back ํ”„๋กฌํ”„ํŒ…์€
    ๋‹จ์ˆœ ์ƒ์„ฑ ์š”์ฒญ๋ณด๋‹ค ๋” ๋›ฐ์–ด๋‚œ ์•„์ด๋””์–ด์™€ ํ†ต์ฐฐ์„ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

Chain of Thought(CoT)

Chain of Thought(CoT) ํ”„๋กฌํ”„ํŒ…์€ LLM์˜ ์ถ”๋ก  ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ์ถ”๋ก  ๊ณผ์ •(reasoning steps)์„ ์ƒ์„ฑํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ LLM์ด ๋” ์ •ํ™•ํ•œ ์ •๋‹ต์„ ๋‚ด๋†“์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

CoT ๊ธฐ๋ฒ•์ด ์œ ์šฉํ•œ ์ด์œ 

  • ํŠนํžˆ ๋ณต์žกํ•œ ์ž‘์—…์—์„œ๋Š” zero-shot๋งŒ์œผ๋กœ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, few-shot ํ”„๋กฌํ”„ํŒ…๊ณผ CoT๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

CoT์˜ ์žฅ์ 

  • ์‰ฝ๊ณ  ํšจ๊ณผ์  : ๋ณ„๋„ ๋ฏธ์„ธ์กฐ์ • ์—†์ด๋„, ๊ธฐ๋ณธ LLM์œผ๋กœ ๊ฐ€๋Šฅ
  • ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ ํ–ฅ์ƒ : ์ค‘๊ฐ„ ์ถ”๋ก  ๊ณผ์ •์„ ํ†ตํ•ด ์–ด๋””์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ํŒŒ์•… ๊ฐ€๋Šฅ
  • ๋ฒ„์ „ ๊ฐ„ ํ˜ธํ™˜์„ฑ : ๋‹ค๋ฅธ LLM ๋ฒ„์ „์—์„œ๋„ ์ถœ๋ ฅ ์ผ๊ด€์„ฑ ์œ ์ง€ ๊ฐ€๋Šฅ
  • ๋ณต์žกํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ : ๋‹จ๊ณ„๋ณ„ ์‚ฌ๊ณ ๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ, ๋…ผ๋ฆฌ ๋ฌธ์ œ์—์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

CoT์˜ ๋‹จ์ 

  • ๋น„์šฉ ์ฆ๊ฐ€ : ์ถ”๋ก  ๊ณผ์ •์ด ๊ธธ์–ด์ ธ์„œ ํ† ํฐ ์ˆ˜ ์ฆ๊ฐ€ โ†’ ๋น„์šฉ, ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€
  • ์‘๋‹ต ๊ธธ์ด ์ฆ๊ฐ€ : ๋ชจ๋“  ๋‹จ๊ณ„๊ฐ€ ์ถœ๋ ฅ์— ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ถœ๋ ฅ์ด ๋” ๊น€

์˜ˆ์‹œ๋กœ ๋ณด๋Š” CoT์˜ ํšจ๊ณผ

ํ‘œ 11 : CoT์—†์ด ๋‹จ์ˆœ ์ •๋‹ต๋งŒ ์š”์ฒญํ•œ ๊ฒฝ์šฐ

Prompt

When I was 3 years old, my partner was 3 times my age. Now, I am 20 years old. How old is my partner?

Output

63 years old โ† โŒ ํ‹€๋ฆฐ ๋‹ต

ํ‘œ 12: Zero-shot CoT ์ ์šฉ ์˜ˆ

Prompt

When I was 3 years old, my partner was 3 times my age. Now I am 20 years old. How old is my partner?
Letโ€™s think step by step.

Output (์š”์•ฝ)

  1. ๋‚ด๊ฐ€ 3์‚ด์ผ ๋•Œ, ํŒŒํŠธ๋„ˆ๋Š” 3 ร— 3 = 9์‚ด
  2. ์ดํ›„ ๋‚˜๋Š” 17์‚ด์ด ๋” ๋งŽ์•„์กŒ๊ณ 
  3. ํŒŒํŠธ๋„ˆ๋„ ๋˜‘๊ฐ™์ด 17์‚ด ๋” ๋‚˜์ด ๋จน์Œ โ†’ 9 + 17 = 26์‚ด

๐ŸŸข ์ตœ์ข… ์ •๋‹ต: 26์„ธ โ† ์ •ํ™•!

ํ‘œ 13: One-shot CoT ์ ์šฉ ์˜ˆ

Prompt

Q: When my brother was 2 years old, I was double his age. Now I am 40 years old. How old is my brother? Letโ€™s think step by step. A: ๋‚˜์ด ์ฐจ๋Š” 2์„ธ. ์ง€๊ธˆ ๋‚˜๋Š” 40์‚ด โ†’ ๋™์ƒ์€ 38์‚ด.

Q: When I was 3 years old, my partner was 3 times my age. Now, I am 20 years old. How old is my partner? Letโ€™s think step by step. A:

Output (์ƒ๋žต ์š”์•ฝ)
โ†’ ํŒŒํŠธ๋„ˆ๋Š” 26์„ธ

๐Ÿ“Œ ํ•œ ๊ฐ€์ง€ ์˜ˆ์‹œ๋ฅผ ๋จผ์ € ๋ณด์—ฌ์ฃผ๋ฉด ๋ชจ๋ธ์ด ์œ ์‚ฌํ•œ ์‚ฌ๊ณ  ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๊ธฐ ์‰ฌ์›Œ์ง

CoT๊ฐ€ ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ƒํ™ฉ

  • ์ˆ˜ํ•™ ๋ฌธ์ œ, ๋…ผ๋ฆฌ ์ถ”๋ก , ๋‹จ๊ณ„๋ณ„ ์ฝ”๋”ฉ, ํ…์ŠคํŠธ ์ƒ์„ฑ
  • ์˜ˆ:
    • ์ฝ”๋“œ ์ƒ์„ฑ ์‹œ โ†’ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‹จ๊ณ„๋ณ„๋กœ ๋ถ„ํ•ด
    • ์ƒํ’ˆ ์„ค๋ช… ์ƒ์„ฑ ์‹œ โ†’ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ๊ฐ€์ •๋“ค์„ ํ•˜๋‚˜์”ฉ ์œ ๋„
    • ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ์‹œ โ†’ ์ž…๋ ฅ โ†’ ์ „์ฒ˜๋ฆฌ โ†’ ์ถœ๋ ฅ ํฌ๋งท ๋‹จ๊ณ„๋กœ ๋ถ„๋ฆฌ

๊ฒฐ๋ก ์ ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๋ง๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, Chain of Thought๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Self-consistency

๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ์€ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ œ์—์„œ ์ธ์ƒ์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์˜€์ง€๋งŒ, ์ถ”๋ก  ๋Šฅ๋ ฅ์€ ์—ฌ์ „ํžˆ ๋ชจ๋ธ ํฌ๊ธฐ๋งŒ์œผ๋กœ ๊ทน๋ณตํ•˜๊ธฐ ์–ด๋ ค์šด ์ œํ•œ์ ์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค. ์•ž์„œ ์„ค๋ช…ํ•œ CoT ํ”„๋กฌํ”„ํŒ…์—์„œ๋Š” ๋ชจ๋ธ์ด ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์˜ ์ค‘๊ฐ„ ์ถ”๋ก  ๊ณผ์ •์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ CoT๋Š” ์ฃผ๋กœ Greedy decoding(๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์˜ ํ† ํฐ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹)์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถœ๋ ฅ ๋‹ค์–‘์„ฑ๊ณผ ์ฐฝ์˜์„ฑ์ด ์ œํ•œ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

Self-consistency๋ž€? Self-consistency(๊ฐ€์ง€ ์ผ๊ด€์„ฑ)๋Š” ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ถ”๋ก  ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ๋‹ค์ˆ˜๊ฒฐ ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ฐ€์žฅ ์ผ๊ด€๋œ ์ •๋‹ต์„ ์„ ํƒํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์ฆ‰, ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ชจ๋ธ์— ์ž…๋ ฅํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‘๋‹ต์„ ๋ฐ›๊ณ , ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•œ ์ •๋‹ต์„ ์ตœ์ข… ๋‹ต์œผ๋กœ ์ฑ„ํƒํ•œ๋‹ค.

**Self-Consistency ํ”„๋กฌํ”„ํŒ… ์ ˆ์ฐจ **

  1. ๋‹ค์–‘ํ•œ ์ถ”๋ก  ๊ฒฝ๋กœ ์ƒ์„ฑ
    • ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ชจ๋ธ์— ์ „๋‹ฌ
    • Temperature ๊ฐ’์„ ๋†’๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ฒฝ๋กœ์™€ ๊ด€์ ์„ ์œ ๋„
  2. ๊ฐ ์‘๋‹ต์—์„œ ์ตœ์ข… ์ •๋‹ต ์ถ”์ถœ
    • ์‘๋‹ต๋งˆ๋‹ค ๋ชจ๋ธ์ด ๋„์ถœํ•œ ์ตœ์ข… ํŒ๋‹จ ๊ฐ’์„ ์ถ”์ถœ
  3. ๋‹ค์ˆ˜๊ฒฐ ๋ฐฉ์‹์œผ๋กœ ์ตœ์ข… ์ •๋‹ต ๊ฒฐ์ •
    • ๊ฐ€์žฅ ๋นˆ๋„๊ฐ€ ๋†’์€ ๋‹ต๋ณ€์„ ์ตœ์ข… ์ •๋‹ต์œผ๋กœ ๊ฐ„์ฃผ

Self-Consistency ์ ์šฉ๋ฒ•

  • ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ชจ๋ธ์— ์ „๋‹ฌ
  • ์˜ˆ๋ฅผ ๋“ค์–ด 5~10ํšŒ ๋ฐ˜๋ณต
  • ๊ฐ ๊ฒฐ๊ณผ์—์„œ ๋‚˜์˜จ ์ตœ์ข… ํŒ๋‹จ๋งŒ ์ถ”์ถœ
    • ์˜ˆ: โ€œIMPORTANTโ€, โ€œNOT IMPORTANTโ€
  • ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜จ ๊ฒฐ๊ณผ ์„ ํƒ

์™œ ์ด ๊ธฐ๋ฒ•์ด ํ•„์š”ํ•œ๊ฐ€?

  • ์˜ˆ์‹œ ์ด๋ฉ”์ผ์— ์นœ๊ทผํ•œ ๋งํˆฌ, ์œ ๋จธ, ์—ญ์„ค์ ์ธ ํ‘œํ˜„๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • ์–ด๋–ค LLM์€ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ์œ ์พŒํ•œ ๋ฆฌ๋ทฐ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ณ  ๋ณด์•ˆ ์œ„ํ˜‘์œผ๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • Self-consistency๋Š” ์ด๋Ÿฌํ•œ ์• ๋งคํ•œ ์ƒํ™ฉ์—์„œ ๋ชจ๋ธ์˜ ์‘๋‹ต ์•ˆ์ •์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋œ๋‹ค.

Tree of Thoughts(ToT)

ToT๋Š” ๋‹จ์ˆœํžˆ ํ•œ ์ค„๋กœ ์ด์–ด์ง€๋Š” ์‚ฌ๊ณ  ๊ฒฝ๋กœ(CoT) ๋Œ€์‹ , ๋‹ค์–‘ํ•œ ์‚ฌ๊ณ  ๊ฒฝ๋กœ๋ฅผ ๋™์‹œ์— ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก LLM์„ ์œ ๋„ํ•œ๋‹ค.

Tree of Thoughts๋ž€? ํ•˜๋‚˜์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์‚ฌ๊ณ  ํ๋ฆ„์„ ๋‚˜๋ฌด ๊ตฌ์กฐ(tree)๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ๊ฐ๊ฐ์˜ thought๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ํ–ฅํ•œ ์ค‘๊ฐ„ ์–ธ์–ด ์‹œํ€€์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์ด โ€œ์ƒ๊ฐโ€๋“ค์€ โ€œ๋…ธ๋“œ(node)โ€œ๋กœ ์‚ผ์•„, ๋‹ค์–‘ํ•œ ๊ฒฝ๋กœ๋กœ ๋ธŒ๋žœ์นญํ•˜๋ฉฐ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•œ๋‹ค.
  • ๋ชจ๋ธ์€ ํŠน์ • ๊ฒฝ๋กœ์— ์–ฝ๋งค์ด์ง€ ์•Š๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์˜ ์‚ฌ๊ณ  ํ๋ฆ„์„ ๋ณ‘๋ ฌ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์ ์—์„œ ๋‹จ์ผ ์„ ํ˜• ํ๋ฆ„์„ ๋”ฐ๋ฅด๋Š” CoT๋ณด๋‹ค ํ›จ์”ฌ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๊ตฌ์กฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

ToT๊ฐ€ ์ ํ•ฉํ•œ ์ƒํ™ฉ

  • ๋ณต์žกํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ : ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์ด๋‚˜ ํ•ด์„์ด ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ
  • ํƒ์ƒ‰ ๊ธฐ๋ฐ˜ ๋ฌธ์ œ : ์ตœ์  ๊ฒฝ๋กœ, ์ „๋žต ์ˆ˜๋ฆฝ, ์กฐํ•ฉ์  ๋ฌธ์ œ
  • ๋Œ€ํ™” ์„ค๊ณ„ : ์‚ฌ์šฉ์ž ๋ชฉ์ ์„ ํŒŒ์•…ํ•ด ์—ฌ๋Ÿฌ ํ›„๋ณด ์‘๋‹ต ์ƒ์„ฑ ํ›„ ํ‰๊ฐ€ ๊ฐ€๋Šฅ
  • ๊ฒŒ์ž„, ์ถ”๋ก , ํ”Œ๋ž˜๋‹ : Tree ๊ตฌ์กฐ๋‚˜ ์‚ฌ๊ณ  ํ™•์žฅ์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋„๊ตฌ๊ฐ€ ๋˜๋Š” ๋ฌธ์ œ๋“ค

ReAct(reason & act)

Automatic Prompt Engineering

Code prompting

Prompts for writing code

Prompts for explaining code

Prompts for translating code

Prompts for debugging and reviewing code

What about multimodal prompting?

Best Practices

Provide examples

Design with simplicity

Be specific about the output

Use Instructions over Constraints

Control the max token length

Use variables in prompts

Experiment with input formats and writing styles

For few-shot prompting with classification taks, mix up the classes

Adapt to model updates

Experiment with output formats

JSON Repair

Working with Schemas

Experiment together with other prompt engineers

CoT Best practices

Document the various prompt attempts


๐Ÿ“œ์ถœ์ฒ˜(์ฐธ๊ณ  ๋ฌธํ—Œ)


๐Ÿ”—์—ฐ๊ฒฐ ๋ฌธ์„œ