Skip to main content

๐ŸŽง Whitepaper Companion Podcast ์š”์•ฝ: Prompt Engineering for Kaggle


๐Ÿ“‘ ๋ชฉ์ฐจโ€‹

  1. ์†Œ๊ฐœ ๋ฐ ๋ชฉํ‘œ
  2. ์ถœ๋ ฅ ์ œ์–ด: ํ† ํฐ ๊ธธ์ด์™€ ์ƒ˜ํ”Œ๋ง
  3. ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ• ์ƒ์„ธ ์„ค๋ช…
  4. Prompt Engineering ๊ธฐ๋ฒ•
  5. ๊ณ ๊ธ‰ ์ถ”๋ก  ๊ธฐ๋ฒ•
  6. ์ฝ”๋“œ ํ”„๋กฌํ”„ํŠธ ํ™œ์šฉ
  7. ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธ
  8. ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค
  9. ๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ œ์–ธ

์†Œ๊ฐœ ๋ฐ ๋ชฉํ‘œโ€‹

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

์ถœ๋ ฅ ์ œ์–ด: ํ† ํฐ ๊ธธ์ด์™€ ์ƒ˜ํ”Œ๋งโ€‹

  • ์ถœ๋ ฅ ๊ธธ์ด(token limit)๋Š” ๋น„์šฉ, ์ฒ˜๋ฆฌ ์‹œ๊ฐ„, Kaggle ์ œํ•œ์— ์ง์ ‘ ์˜ํ–ฅ์„ ๋ฏธ์นจ.
  • ์งง์€ ์ถœ๋ ฅ์ด ํ•„์š”ํ•˜๋ฉด ํ”„๋กฌํ”„ํŠธ ์ž์ฒด๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํšจ๊ณผ์ .

์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ• ์ƒ์„ธ ์„ค๋ช…โ€‹

ํŒŒ๋ผ๋ฏธํ„ฐ์„ค๋ช…์‚ฌ์šฉ ์˜ˆ
Temperature๋ฌด์ž‘์œ„์„ฑ ์กฐ์ ˆ. ๋‚ฎ์„์ˆ˜๋ก ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ์ •ํ™•.0.0: ์ •ํ™•ํ•œ ์ฝ”๋“œ, 0.9: ์ฐฝ์˜์  ์•„์ด๋””์–ด
Top-k์ƒ์œ„ k๊ฐœ ๋‹จ์–ด ์ค‘ ์„ ํƒ1: ๊ฒฐ์ •์ , 30~40: ๋‹ค์–‘์„ฑ โ†‘
Top-pํ™•๋ฅ  ๋ˆ„์ ์œผ๋กœ ์ƒ์œ„ p๊นŒ์ง€์˜ ๋‹จ์–ด ์ œํ•œ (nucleus sampling)0.9~0.99: ๊ท ํ˜•์  ์ถœ๋ ฅ
์กฐํ•ฉ ์‚ฌ์šฉ ์ˆœ์„œ1. Top-k & Top-p โ†’ 2. Temperature๋กœ ์ตœ์ข… ์„ ํƒ
  • Repetition Loop Bug: ๋„ˆ๋ฌด ๋‚ฎ๊ฑฐ๋‚˜ ๋†’์€ temperature์—์„œ ์ถœ๋ ฅ ๋ฐ˜๋ณต ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ.

Prompt Engineering ๊ธฐ๋ฒ•โ€‹

1. Zero-shot Promptingโ€‹

  • ์„ค๋ช…๋งŒ ์ œ๊ณต, ์˜ˆ์‹œ ์—†์ด ์ˆ˜ํ–‰.
  • ๊ฐ„๋‹จํ•œ ํƒœ์Šคํฌ๋‚˜ ์ฝ”๋“œ ์กฐ๊ฐ ์š”์ฒญ ์‹œ ์‚ฌ์šฉ.

2. Few-shot / One-shot Promptingโ€‹

  • ์ž…๋ ฅ-์ถœ๋ ฅ ์˜ˆ์‹œ ์ œ๊ณต์œผ๋กœ ์ •ํ™•ํ•œ ํ˜•์‹ ๋ฐ ์Šคํƒ€์ผ ์œ ๋„.
  • Kaggle ์ œ์ถœ ํ˜•์‹(JSON ๋“ฑ)์— ๋งค์šฐ ์œ ์šฉ.
  • ์˜ˆ์‹œ ํ’ˆ์งˆ์ด ๊ฒฐ๊ณผ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นจ โ†’ ์—ฃ์ง€์ผ€์ด์Šค ํฌํ•จ ๊ถŒ์žฅ.

3. System Promptingโ€‹

  • ๋ชจ๋ธ์˜ ์ „๋ฐ˜์ ์ธ ์—ญํ• , ์ถœ๋ ฅ ํฌ๋งท ๋ช…์‹œ.
  • ์˜ˆ: โ€œ๋ชจ๋“  ์ถœ๋ ฅ์„ JSON์œผ๋กœ ์ƒ์„ฑํ•˜๋ผ.โ€

4. Role Promptingโ€‹

  • ๋ชจ๋ธ์—๊ฒŒ ํŠน์ • ์ธ๋ฌผ ์—ญํ• ์„ ๋ถ€์—ฌ.
  • ์˜ˆ: โ€œ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์ฒ˜๋Ÿผ ์„ค๋ช…ํ•˜๋ผ.โ€

5. Contextual Promptingโ€‹

  • ๊ตฌ์ฒด์ ์ธ ๋ฐฐ๊ฒฝ์ •๋ณด ์ œ๊ณต (์ฝ”๋“œ, ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋“ฑ).
  • ์˜ˆ: ๋””๋ฒ„๊น… ์‹œ ์‚ฌ์šฉ.

6. Step-back Promptingโ€‹

  • ์ง์ ‘์ ์ธ ์งˆ๋ฌธ ์ „, ์ผ๋ฐ˜ ๊ฐœ๋…์„ ๋จผ์ € ์งˆ๋ฌธ โ†’ ๋” ๋‚˜์€ ์‚ฌ๊ณ  ์œ ๋„.
  • ์˜ˆ: "์ข‹์€ ํ”ผ์ฒ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?" โ†’ "๋‚ด ๋ฐ์ดํ„ฐ์…‹์— ๋งž๋Š” ํ”ผ์ฒ˜ ์•„์ด๋””์–ด๋Š”?"

๊ณ ๊ธ‰ ์ถ”๋ก  ๊ธฐ๋ฒ•โ€‹

1. Chain-of-Thought (CoT)โ€‹

  • ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๋„๋ก ์œ ๋„.
  • ๋ณต์žกํ•œ ๋…ผ๋ฆฌ์  ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์œ ๋ฆฌ, ์˜ˆ: ์ˆ˜ํ•™ ๋ฌธ์ œ, ๋””๋ฒ„๊น….

2. Self-Consistencyโ€‹

  • ์—ฌ๋Ÿฌ ๋ฒˆ reasoning path ์ƒ์„ฑ โ†’ ๊ฐ€์žฅ ์ผ๊ด€๋œ ๋‹ต ์„ ํƒ.
  • ์ •๋‹ต ์‹ ๋ขฐ๋„ ์ƒ์Šน (๋‹ค์†Œ ๊ณ„์‚ฐ๋Ÿ‰ ์ฆ๊ฐ€).

3. Tree of Thoughts (ToT)โ€‹

  • CoT ํ™•์žฅํ˜•. ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ๋™์‹œ์— ํƒ์ƒ‰ํ•˜๊ณ  ๋ฐฑํŠธ๋ž˜ํ‚น๋„ ์ˆ˜ํ–‰.
  • ์ฐฝ์˜์  ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์œ ๋ฆฌ. ์˜ˆ: ๋‹ค์–‘ํ•œ ์ ‘๊ทผ์ด ํ•„์š”ํ•œ Kaggle ๋ฌธ์ œ.

4. ReAct (Reason + Act)โ€‹

  • ์ถ”๋ก ๊ณผ ํ–‰๋™์„ ๊ฒฐํ•ฉ. ์™ธ๋ถ€ ํˆด(API, ์ฝ”๋“œ ๋“ฑ)๊ณผ ์—ฐ๋™ ๊ฐ€๋Šฅ.
  • ์˜ˆ: ์ฝ”๋“œ ์‹คํ–‰ โ†’ ๊ฒฐ๊ณผ ๋ถ„์„ โ†’ ๋‹ค์Œ ๋ช…๋ น ๊ฒฐ์ •.

5. Automatic Prompt Engineering (APE)โ€‹

  • ๋ชจ๋ธ์ด ์Šค์Šค๋กœ ๋‹ค์–‘ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑ โ†’ ๊ทธ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜์—ฌ ์ตœ์ ํ™”.
  • ํ”„๋กฌํ”„ํŠธ ์‹คํ—˜ ์‹œ๊ฐ„ ์ ˆ์•ฝ ๊ฐ€๋Šฅ.

์ฝ”๋“œ ํ”„๋กฌํ”„ํŠธ ํ™œ์šฉโ€‹

1. ์ฝ”๋“œ ์ƒ์„ฑโ€‹

  • ํŠน์ • ์ž‘์—… ์„ค๋ช… โ†’ ์ฝ”๋“œ ์ƒ์„ฑ. ํ•ญ์ƒ ๊ฒ€ํ†  ๋ฐ ํ…Œ์ŠคํŠธ ํ•„์š”.

2. ์ฝ”๋“œ ์„ค๋ช…โ€‹

  • ์ฝ”๋“œ ๋ธ”๋ก์„ ๋„ฃ๊ณ  โ€œ์ด ์ฝ”๋“œ๊ฐ€ ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ค˜.โ€

3. ์ฝ”๋“œ ๋ฒˆ์—ญโ€‹

  • ์–ธ์–ด ๊ฐ„ ๋ฒˆ์—ญ (์˜ˆ: Bash โ†’ Python)

4. ๋””๋ฒ„๊น…โ€‹

  • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ + ์ฝ”๋“œ ์ œ๊ณต โ†’ ์›์ธ ๋ถ„์„ ๋ฐ ์ˆ˜์ •์•ˆ ์ œ์‹œ
  • ์ตœ์ ํ™” ์ œ์•ˆ๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธโ€‹

  • ํ…์ŠคํŠธ ์™ธ์—๋„ ์ด๋ฏธ์ง€, ์˜ค๋””์˜ค ๋“ฑ์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
  • ํ˜„์žฌ ๋ฐœ์ „ ์ค‘์ด๋ฉฐ Kaggle์˜ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ปดํŽ˜ํ‹ฐ์…˜์— ํ™œ์šฉ ๊ฐ€๋Šฅ์„ฑ โ†‘

๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šคโ€‹

ํ•ญ๋ชฉ์„ค๋ช…
์˜ˆ์‹œ ์ œ๊ณตOne-shot / Few-shot ์ ๊ทน ํ™œ์šฉ
๋ช…ํ™•์„ฑํ”„๋กฌํ”„ํŠธ๋Š” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ง๊ด€์ ์œผ๋กœ
์ถœ๋ ฅ ๋ช…์‹œ์›ํ•˜๋Š” ํฌ๋งท(JSON ๋“ฑ)์„ ๋ช…ํ™•ํžˆ ์ง€์‹œ
๊ธ์ •์  ๋ช…๋ นโ€œ์ด๊ฑธ ์“ฐ์ง€ ๋งˆโ€๋ณด๋‹ค โ€œ์ด๊ฒƒ๋งŒ ์‚ฌ์šฉโ€์ด ํšจ๊ณผ์ 
Max token ์ œํ•œ๋น„์šฉ๊ณผ ์ถœ๋ ฅ ๊ธธ์ด ์ œ์–ด
๋ณ€์ˆ˜ ์‚ฌ์šฉํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟํ™”๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๋‹ค์–‘ํ•œ ์ž…๋ ฅ ์‹คํ—˜์งˆ๋ฌธ, ๋ช…๋ น, ์„ค๋ช… ๋“ฑ ํ˜•ํƒœ ๋‹ค์–‘ํ™”
ํด๋ž˜์Šค ์ˆœ์„œ ์„ž๊ธฐ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ์—์„œ๋Š” ํด๋ž˜์Šค ํŽธํ–ฅ ๋ฐฉ์ง€
์ถœ๋ ฅ ํฌ๋งท ์‹คํ—˜CSV, JSON, ์Šคํ‚ค๋งˆ ๋“ฑ ๊ตฌ์กฐํ™”๋œ ๊ฒฐ๊ณผ ์œ ๋„
JSON Repair์˜ค๋ฅ˜ ์žˆ๋Š” JSON๋„ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
ํ˜‘์—…ํ”„๋กฌํ”„ํŠธ ์ „๋žต ๊ณต์œ  ๋ฐ ํ† ๋ก  ๊ถŒ์žฅ
๋ฌธ์„œํ™”๋ชจ๋“  ์‹œ๋„์™€ ๊ฒฐ๊ณผ ๊ธฐ๋ก โ†’ ์žฌํ˜„์„ฑ ํ™•๋ณด

๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ œ์–ธโ€‹

  • Prompt Engineering์€ ์ง„ํ™” ์ค‘์ธ ๊ธฐ์ˆ ์ด๋ฉฐ, Kaggle ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ.
  • ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•๊ณผ ์ตœ์ ์˜ ์กฐํ•ฉ์„ ์‹คํ—˜ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ.
  • ํ–ฅํ›„ LLM์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ํ”„๋กฌํ”„ํŠธ ์ „๋žต ๋˜ํ•œ ๋ฐœ์ „ํ•  ๊ฒƒ.