๐ง Whitepaper Companion Podcast ์์ฝ: Prompt Engineering for Kaggle
๐ ๋ชฉ์ฐจโ
- ์๊ฐ ๋ฐ ๋ชฉํ
- ์ถ๋ ฅ ์ ์ด: ํ ํฐ ๊ธธ์ด์ ์ํ๋ง
- ์ํ๋ง ๊ธฐ๋ฒ ์์ธ ์ค๋ช
- Prompt Engineering ๊ธฐ๋ฒ
- ๊ณ ๊ธ ์ถ๋ก ๊ธฐ๋ฒ
- ์ฝ๋ ํ๋กฌํํธ ํ์ฉ
- ๋ฉํฐ๋ชจ๋ฌ ํ๋กฌํํธ
- ๋ฒ ์คํธ ํ๋ํฐ์ค
- ๋ง๋ฌด๋ฆฌ ๋ฐ ์ ์ธ
์๊ฐ ๋ฐ ๋ชฉํโ
- 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์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ํ๋กฌํํธ ์ ๋ต ๋ํ ๋ฐ์ ํ ๊ฒ.