Key Takeaways
- ๋ก์ปฌ 7B ๋ชจ๋ธ์ GPT-5.5๋ณด๋ค ๋ ๋ช ์์ ์ธ ์๋ด๊ฐ ํ์ํฉ๋๋ค. ๋ ๊ธด ํ๋กฌํํธ์ ๋ ๋ช ํํ ์ง์นจ์ด ํ์ํฉ๋๋ค.
- Chain-of-thought("๋จ๊ณ๋ณ๋ก ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค")์ ์ถ๋ก ์ ํ๋๋ฅผ 10โ20% ํฅ์์ํต๋๋ค.
- ํญ์ ์ถ๋ ฅ ํ์(JSON, Markdown, ์ผ๋ฐ ํ ์คํธ)์ ์ง์ ํ์ญ์์ค. ๋น๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ์์ธก ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- Few-shot ์์(1โ3๊ฐ)๋ ๋ก์ปฌ ๋ชจ๋ธ์์ zero-shot๋ณด๋ค ๋ ํจ๊ณผ์ ์ ๋๋ค. ์์๊ฐ ๋ง์์๋ก ์ผ๊ด์ฑ์ด ๋์์ง๋๋ค.
- ์ญํ ์ ์("๋น์ ์ Python ์ ๋ฌธ๊ฐ์ ๋๋ค")๋ ๋๋ฉ์ธ๋ณ ์๋ต์ ํฅ์์ํต๋๋ค.
๋น ๋ฅธ ์ฌ์ค
- CoT๋ฅผ ํตํ ์ ํ๋ ํฅ์: ์ถ๋ก ์์ ์์ 10โ20% ํฅ์
- Few-shot ์๊ตฌ์ฌํญ: ๋ก์ปฌ 7B๋ ์์ 3โ5๊ฐ ํ์ vs ํด๋ผ์ฐ๋ API๋ 1โ2๊ฐ ํ์
- ์ปจํ ์คํธ ์๋น: ๊ฐ ์์๋น 50โ200 ํ ํฐ ์ฌ์ฉ
- Temperature ์ํฅ: 0.8์์ 0.3์ผ๋ก ๋ฎ์ถ๋ฉด ์ฌ์ค ์ ํ๋ 15โ25% ํฅ์
- ๋ชจ๋ธ ํฌ๊ธฐ ์ฐจ์ด: 7B ๋ชจ๋ธ์ 70B ๋ชจ๋ธ๋ณด๋ค ๋ ๋ช ์์ ์ธ ์๋ด๊ฐ ํ์
- ์ถ๋ ฅ ํ์ ์ผ๊ด์ฑ: JSON ๋ช ์ธ๋ ์ ๋ขฐ์ฑ์ 30โ40% ํฅ์
๋ก์ปฌ ๋ชจ๋ธ์ ์ด๋ป๊ฒ ๋ค๋ฆ ๋๊น?
| Aspect | GPT-5.2 (ChatGPT Plus) | Local 7B (Llama 3.3 8B) | Local 70B (Llama 3.3) |
|---|---|---|---|
| ์ปจํ ์คํธ ์ฐฝ | 128K ํ ํฐ | 4Kโ128K ํ ํฐ | 128K ํ ํฐ |
| ์ง์นจ ๋ฐ๋ฅด๊ธฐ | ๋งค์ฐ ์ฐ์ | ๋ช ์์ ํ๋กฌํํธ๋ก ์ํธ | ๋งค์ฐ ์ข์ |
| Few-shot ํ์ต | ์์ 1โ2๊ฐ | ์์ 3โ5๊ฐ ํ์ | ์์ 2โ3๊ฐ |
| ์ถ๋ก | ๋ค๋จ๊ณ ์๋ฌต์ | ๋จ๊ณ๋ณ ๋ช ์์ ํ์ | ์ค๊ฐ ์์ค ์๋ฌต์ |
| ์์คํ ํ๋กฌํํธ | API๊ฐ ์ฒ๋ฆฌ | ๋๊ตฌ๋ณ ์ค์ ํ์ | ๋๊ตฌ๋ณ ์ค์ ํ์ |
| Temperature ๊ธฐ๋ณธ๊ฐ | 1.0 (API) | 0.8 (Ollama ๊ธฐ๋ณธ๊ฐ) | 0.8 (Ollama ๊ธฐ๋ณธ๊ฐ) |
Chain-of-Thought ํ๋กฌํํ ์ ์ด๋ป๊ฒ ์ ํ๋๋ฅผ ํฅ์์ํต๋๊น?
Chain-of-thought(CoT) ํ๋กฌํํ ์ LLM์๊ฒ ๋ต๋ณํ๊ธฐ ์ ์ ์ถ๋ก ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ๋ณด์ฌ๋ฌ๋ผ๊ณ ์์ฒญํฉ๋๋ค. ์ด ๊ธฐ๋ฒ์ ๋ก์ปฌ 7Bโ13B ๋ชจ๋ธ์ ํนํ ํจ๊ณผ์ ์ ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ๋ค์ ๋ ํฐ ํด๋ผ์ฐ๋ ๋ชจ๋ธ์ ์๋ฌต์ ์ถ๋ก ๋ฅ๋ ฅ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. "17 ร 24"์ ๊ฐ์ ์ํ ๋ฌธ์ ์์, CoT ์์ด๋ ๋ก์ปฌ ๋ชจ๋ธ์ด ์์ฃผ ์๋ชป ์ถ์ธกํฉ๋๋ค. ๋ช ์์ ์ธ ๋จ๊ณ๋ณ ์ถ๋ก ์ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๋ฅผ ๋ถ๋ถ์ผ๋ก ๋ถํดํ์ฌ 10โ20% ๋ ๋์ ์ ํ๋๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
CoT ์์ด: "17 ร 24๋ ์ผ๋ง์ ๋๊น?" โ ๋ชจ๋ธ์ด ์ง์ ๋ต๋ณํ๋ฉฐ ์์ฃผ ํ๋ฆผ.
CoT ์ฌ์ฉ: "๋จ๊ณ๋ณ๋ก ํ์ด๋ณด์ญ์์ค: 17 ร 24" โ ๋ชจ๋ธ์ด ํ์: 17 ร 20 = 340, 17 ร 4 = 68, ํฉ๊ณ = 408. ๋ ์ ํํจ.
์ด ๊ธฐ๋ฒ์ด ๋๊ตฌ ์ ํ์ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ถ๋ก ์ ์ฌ์ฉํ๋ ๋ก์ปฌ AI ์์ด์ ํธ๊น์ง ์ด๋ป๊ฒ ํ์ฅ๋๋์ง ์์๋ณด์ญ์์ค.
Chain-of-thought ํ๋กฌํํ ์ ๋ชจ๋ธ์๊ฒ ๋ต๋ณ ์ ์ ์ถ๋ก ์ ๋ช ์์ ๋จ๊ณ๋ก ๋ถํดํ๋๋ก ์ง์ํ๋ฉฐ, ๋ณต์กํ ์์ ์์ ์ ํ๋๋ฅผ 10โ20% ํฅ์์ํต๋๋ค.
# CoT๋ฅผ ์ฌ์ฉํ ํ๋กฌํํธ
prompt = """
You will answer a question by thinking step-by-step.
Let me think about this:
Question: Why do local LLMs require more explicit prompting than cloud APIs?
Thinking:
1. First, consider the differences in model size...
2. Then, think about training data and fine-tuning...
3. Finally, consider the architecture and inference optimization...
Answer:
"""
# ์ด ์ฝ๋๋ ๋ชจ๋ธ์ด ๋ฌธ์ ๋ฅผ ์ถ๋ก ํ๋๋ก ์๋ดํฉ๋๋คโข๐ก: ํ๋ก ํ: CoT๋ ๋ถ๋ถ์ ์ธ ์ถ๋ก ์ผ๋ก ์ถ๋ ฅ์ ์ค๋นํ ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค. ์์: "๋จ๊ณ๋ณ๋ก ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค: ๋จผ์ , ๋ค์์ ์์์ฐจ๋ฆฝ๋๋ค..."
์ถ๋ ฅ ํ์ ์ง์ ์ด ๋ก์ปฌ ๋ชจ๋ธ์ ์ ์ค์ํฉ๋๊น?
์ ํํ ์ถ๋ ฅ ํ์(JSON, Markdown, ์ผ๋ฐ ํ ์คํธ)์ ์ง์ ํ๋ ๊ฒ์ ๋ก์ปฌ ๋ชจ๋ธ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ช ์์ ์ธ ์ง์นจ ์์ด๋ ์์ธก ๋ถ๊ฐ๋ฅํ ์ถ๋ ฅ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. GPT-5.5์ ๊ฐ์ ํด๋ผ์ฐ๋ ๋ชจ๋ธ์ ๋ชจํธํ ์์ฒญ์์๋ ์๋๋ฅผ ์ถ๋ก ํ ์ ์์ง๋ง, ๋ก์ปฌ 7Bโ13B ๋ชจ๋ธ์ ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ตฌ์กฐํ๋ ๋ฌธ์ ์ถ์ถ์ด ํ์ํ ๋ก์ปฌ RAG ์์คํ ์ ๊ฒฝ์ฐ, JSON ํ์ ๋ช ์ธ๋ ํ์ฑ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ณ ์ถ์ถ ์ ํ๋๋ฅผ 30โ40% ํฅ์์ํต๋๋ค.
์์: "ํ ์คํธ์์ ์ํฐํฐ๋ฅผ ์ถ์ถํ์ญ์์ค"๋ ๋ชฉ๋ก ๋์ ์์ ํ ํ ์คํธ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค.
๊ฐ์ : "JSON ํ์์ผ๋ก ์ํฐํฐ๋ฅผ ์ถ์ถํ์ญ์์ค: person, location, organization ํค ํฌํจ".
# ๋์ ์: ๋ชจํธํ ์ถ๋ ฅ
prompt = "Summarize this text"
# ์ข์ ์: ๋ช
์์ ํ์
prompt = """
Summarize the text in EXACTLY 3 bullet points.
Format as a JSON list:
{
"summary": [
"- Point 1",
"- Point 2",
"- Point 3"
]
}
"""โขโ ๏ธ: ์ผ๋ฐ์ ์ธ ๋ฌธ์ : ๋ก์ปฌ ๋ชจ๋ธ์ด ์์ JSON ์ถ๋ ฅ์ ๊ฑฐ๋ถํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ํ๋กฌํํธ์ "Output ONLY JSON, no markdown fence"๋ฅผ ์ถ๊ฐํ์ฌ ์ด๋ฅผ ์ฐํํ์ญ์์ค.
์ญํ ํ ๋น์ด ๋ก์ปฌ ๋ชจ๋ธ ์๋ต์ ์ด๋ป๊ฒ ํฅ์์ํต๋๊น?
ํน์ ์ญํ ์ ํ ๋นํ๋ ๊ฒ("๋น์ ์ 10๋ ๊ฒฝ๋ ฅ์ Python ์ ๋ฌธ๊ฐ์ ๋๋ค")์ ์ผ๋ฐ์ ์ธ ํ๋กฌํํธ์ ๋นํด ๋๋ฉ์ธ๋ณ ์๋ต์ ๋ํญ ํฅ์์ํต๋๋ค. ํ๋ฅด์๋ ํ๋กฌํํ ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด ๊ธฐ๋ฒ์ ๋ชจ๋ธ์ ์๋ต ์์ฑ์ ํน์ ์ ๋ฌธ ๋๋ฉ์ธ์ ๊ณ ์ ์ํด์ผ๋ก์จ ์๋ํฉ๋๋ค. ๋ก์ปฌ ๋ชจ๋ธ์ ํด๋ผ์ฐ๋ ๋ชจ๋ธ๋ณด๋ค ์ญํ ์ ์์ 15โ25% ๋ ์ ๋ฐ์ํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ธ ํ๋กฌํํธ๊ฐ ์๋ํ๋๋ก ํ๋ ๊ฐ๋ ฅํ RLHF ์ ๋ ฌ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์:
- "๋น์ ์ Python ์ ๋ฌธ๊ฐ์ ๋๋ค" โ ๋ ๋์ ์ฝ๋ ์ค๋ช
- "๋น์ ์ ์ํ ์ฐ๊ตฌ์์ ๋๋ค" โ ๋ ์์ธํ ์์ํ ์๋ต
- "๋น์ ์ ํ์์ ์ธ ๋ถ์๊ฐ์ ๋๋ค" โ ๋ ๋นํ์ ์ธ ์ฌ๊ณ
์ฌ๋ฌ ์ฌ์ฉ ์ฌ๋ก์ ๊ฑธ์ณ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ๋ ๊ฐ๋ ฅํ ๋๋ฉ์ธ ์ ๋ ฌ์ ์ํด ์ญํ ์ ์์ ํ์ธํ๋์ ๊ฒฐํฉํ์ญ์์ค.
์ผ์์ ์ธ ํํ์ผ๋ก, ํ๋ฅด์๋ ํ๋กฌํํ ์ ๋ชจ๋ธ์๊ฒ ๋ต๋ณํ ๋ ์ด๋ค "๋ชจ์"๋ฅผ ์ธ์ง ์๋ ค์ค๋๋ค. Python ์ ๋ฌธ๊ฐ ๋ชจ์๋ ์ผ๋ฐ ๋ณด์กฐ์ ๋ชจ์๋ณด๋ค ๋ค๋ฅธ(๊ทธ๋ฆฌ๊ณ ๋ ๋์) ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
โข๐ฏ: ๋ชจ๋ฒ ์ฌ๋ก: ๊ตฌ์ฒด์ฑ์ด ์ค์ํฉ๋๋ค. "๋น์ ์ ์ ๋ฌธ๊ฐ์ ๋๋ค"๋ ์ฝํฉ๋๋ค. "๋น์ ์ async/await ํจํด์ ์ง์คํ๋ 10๋ ๊ฒฝ๋ ฅ์ Python ๋ฐฑ์๋ ์ ๋ฌธ๊ฐ์ ๋๋ค"๊ฐ ๊ฐํฉ๋๋ค.
Ollama, LM Studio, llama.cpp์์ ์์คํ ํ๋กฌํํธ๋ฅผ ์ด๋ป๊ฒ ์ค์ ํฉ๋๊น?
์์คํ ํ๋กฌํํธ๋ ์ฌ์ฉ์ ๋ฉ์์ง ์ด์ ์ ๋ชจ๋ธ์ ์ญํ ๊ณผ ์ ์ฝ์ ์ ์ํ๋ฉฐ, ๊ฐ ๋๊ตฌ(Ollama, LM Studio, llama.cpp)๋ง๋ค ์ค์ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ ๋๋ค.
# Ollama (Modelfile)
FROM llama3.1:8b
SYSTEM """You are a Python expert with 10 years experience. Answer only Python questions. Provide code examples. Use type hints."""
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
# Ollama (API / OpenAI SDK)
response = client.chat.completions.create(
model="llama3.1:8b",
messages=[
{"role": "system", "content": "You are a Python expert..."},
{"role": "user", "content": "Write a FastAPI endpoint"}
],
temperature=0.7
)
# LM Studio (GUI)
# Settings -> System Prompt ํ๋(ํ๋กฌํํธ ๋ถ์ฌ๋ฃ๊ธฐ)
# ๋๋ localhost:1234์ API -- Ollama์ ๋์ผํ ํ์
# llama.cpp (CLI)
./main -m llama-3.1-8b.gguf \
--system-prompt "You are a Python expert..." \
--temp 0.7 --top-p 0.9 --repeat-penalty 1.1 \
-p "Write a FastAPI endpoint"Temperature ๋ฐ ์ํ๋ง ํ๋ผ๋ฏธํฐ๊ฐ ์ถ๋ ฅ ํ์ง์ ์ด๋ค ์ํฅ์ ๋ฏธ์นฉ๋๊น?
temperature, top_p, repeat_penalty ์กฐ์ ์ ํ๋กฌํํธ ๋ฌธ๊ตฌ๋งํผ์ด๋ ๋ก์ปฌ 7B ์ถ๋ ฅ ํ์ง์ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ๋ก์ปฌ ๋ชจ๋ธ์ ํด๋ผ์ฐ๋ API์ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ด ํ์ํฉ๋๋ค.
๋ก์ปฌ ๋ชจ๋ธ์ ์ํ ํต์ฌ ์ธ์ฌ์ดํธ: Ollama์ ๊ธฐ๋ณธ temperature(0.8)๋ OpenAI API์ ๊ธฐ๋ณธ๊ฐ(nucleus ์ํ๋ง์ผ๋ก 1.0)๋ณด๋ค ๋์ต๋๋ค. Temperature๋ฅผ 0.3โ0.5๋ก ๋ฎ์ถ๋ฉด ๋ก์ปฌ 7B ๋ชจ๋ธ์ ์ฌ์ค ์ ํ๋๊ฐ ํฌ๊ฒ ํฅ์๋ฉ๋๋ค. ์ฝ๋ฉ ์์ ์ ๊ฒฝ์ฐ temperature๋ฅผ 0.1โ0.2๋ก ์ค์ ํ๊ณ repeat_penalty๋ฅผ 1.0์ผ๋ก ์ค์ ํ์ญ์์ค(์ฝ๋๋ import๋ ํจ์ ํธ์ถ์ฒ๋ผ ๋ฐ๋ณต์ ์ธ ํจํด์ด ํ์ํฉ๋๋ค).
| Parameter | What it controls | Default (Ollama) | Recommended |
|---|---|---|---|
| temperature | ๋ฌด์์์ฑ | 0.8 | ์ฌ์ค์ : 0.3โ0.5, ์ฐฝ์์ : 0.7โ0.9 |
| top_p | ์ดํ ๋ค์์ฑ | 0.9 | ์ผ๊ด์ฑ: 0.8, ๋ค์์ฑ: 0.95 |
| repeat_penalty | ๋ฐ๋ณต ๋ฐฉ์ง | 1.1 | ๋ํ: 1.1โ1.2, ์ฝ๋: 1.0 |
โข๐: ํต์ฌ ์ฌํญ: Temperature๋ logit์ ๋ํ ์น์์ ๋๋ค. 0.0์์๋ ํญ์ ๊ฐ์ฅ ๋์ ํ๋ฅ ํ ํฐ์ ์ ํํฉ๋๋ค. 1.0 ์ด์์์๋ ๋ฌด์์์ฑ์ด ์ฆ๊ฐํฉ๋๋ค. ๋ก์ปฌ ๋ชจ๋ธ์ temperature 1.5 ์ด์์์ ํฌํ๋ฉ๋๋ค.
๋ก์ปฌ ๋ชจ๋ธ์ ์ ํด๋ผ์ฐ๋ API๋ณด๋ค ๋ ๋ง์ Few-Shot ์์๊ฐ ํ์ํฉ๋๊น?
๋ก์ปฌ ๋ชจ๋ธ์ 3โ5๊ฐ์ ์์(few-shot ํ์ต)๋ฅผ ์ ๊ณตํ๋ฉด zero-shot ๋๋น ์ถ๋ ฅ ์ผ๊ด์ฑ์ด 15โ25% ํฅ์๋ฉ๋๋ค. ๋ฐ๋ฉด ํด๋ผ์ฐ๋ ๋ชจ๋ธ์ 1โ2๊ฐ์ ์์๋ง ํ์ํฉ๋๋ค.
๋ก์ปฌ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ์๊ฐ ์ ๊ณ ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์์๊ฐ ๋์์ด ๋ฉ๋๋ค. Few-shot ํ์ต์ ๋ชจ๋ธ์๊ฒ ์ค์ ์์ ์ ํด๊ฒฐํ๊ธฐ ์ ์ ์์๋๋ ์ ๋ ฅ/์ถ๋ ฅ ํจํด์ ๋ณด์ฌ์ฃผ๋ in-context ํ์ต ๊ธฐ๋ฒ์ ๋๋ค.
# Few-shot ํ๋กฌํํธ
prompt = """
Classify sentiment. Examples:
"I love this product!" -> positive
"Worst experience ever" -> negative
"It's okay, nothing special" -> neutral
Now classify: "This is amazing!"
Answer: """
# ๋ชจ๋ธ์ด ์์์์ ํ์๊ณผ ์คํ์ผ์ ํ์ตํฉ๋๋คโข๐ ๏ธ: ๊ตฌํ ํ: ์์๋ฅผ ๋ค์ํ๊ฒ ์ ๊ณตํ์ญ์์ค(์ฌ์ด ๊ฒ 1๊ฐ, ์ค๊ฐ ๊ฒ 1๊ฐ, ์ด๋ ค์ด ๊ฒ 1๊ฐ). 3๊ฐ์ ์ ์ฌํ ์์๋ณด๋ค ๋ค์์ฑ์ด ์ผ๋ฐํ๋ฅผ ํฅ์์ํค๊ณ ํน์ ํจํด์ ๋ํ ๊ณผ์ ํฉ์ ๋ฐฉ์งํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ํ๋กฌํํธ ์์ง๋์ด๋ง ์ค์
- ๊ตฌ์กฐ ์๋ ์ฅํฉํ ํ๋กฌํํธ. ํก์ค์์คํ๋ ์ง์นจ์ ๋ก์ปฌ ๋ชจ๋ธ์ ํผ๋์ค๋ฝ๊ฒ ํฉ๋๋ค. ๊ฐ๊ฒฐํ๊ณ ๋ช ์์ ์ผ๋ก ์์ฑํ์ญ์์ค.
- Chain-of-thought ๋ฏธ์ฌ์ฉ. CoT๋ ์ ํ๋๋ฅผ 10โ20% ํฅ์์ํต๋๋ค. ์ถ๋ก ์์ ์๋ ํญ์ ํฌํจํ์ญ์์ค.
- ํ๋์ ํ๋กฌํํธ๊ฐ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์ฉ๋๋ค๋ ๊ฐ์ . ๋ฐ๋ณตํ๊ณ ํ ์คํธํ์ญ์์ค. ์์ ๋ฌธ๊ตฌ ๋ณ๊ฒฝ์ด ํฐ ์ถ๋ ฅ ๋ณํ๋ฅผ ์ผ๊ธฐํฉ๋๋ค.
- ์ถ๋ ฅ ํ์ ๋ฌด์. ๋ช ์์ ์ธ ํ์ ์ง์ ์์ด๋ ์ถ๋ ฅ์ด ์์ธก ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ๋ชจํธํ ์ญํ ์ ์ ์ฌ์ฉ. "๋น์ ์ ์ ๋ฌธ๊ฐ์ ๋๋ค"๋ ๋ชจํธํฉ๋๋ค. "๋น์ ์ 10๋ ๊ฒฝ๋ ฅ์ Python ์ ๋ฌธ๊ฐ์ ๋๋ค"๊ฐ ๋ ๋ซ์ต๋๋ค.
โข๐: ์๊ณ ๊ณ์ จ์ต๋๊น? ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ํ๋กฌํํธ๋ 3โ5๋ฒ ๋ฐ๋ณตํฉ๋๋ค. ๋ก์ปฌ ๋ชจ๋ธ ํ๋กฌํํ ์ "ํ ๋ฒ ์ค์ ํ๊ณ ์์ด๋ฒ๋ฆฌ๊ธฐ"๊ฐ ์๋๋๋ค. ์์ ๊ฐ์ ์ด ๋์ ๋์ด ์๋นํ ์ ํ๋ ํฅ์์ผ๋ก ์ด์ด์ง๋๋ค.
ํ๋กฌํํธ ์์ง๋์ด๋ง์ ์ง์ญ๋ณ ๊ณ ๋ ค์ฌํญ
EU(GDPR): EU ์ธํ๋ผ์์ ๋ก์ปฌ ๋ชจ๋ธ์ ์ํ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ๋ฐฐํฌํ ๋, ํ๋กฌํํธ ๋ฐ๋ณต์ ์ฌ์ฉ๋๋ ๋ชจ๋ ํ์ต ๋ฐ์ดํฐ๊ฐ GDPR ๋ฐ์ดํฐ ์ต์ํ ์์น์ ์ค์ํ๋์ง ํ์ธํ์ญ์์ค. ํ ์คํธ๋ฅผ ์ํด ์ฌ์ฉ์ ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ถ API๋ก ๋ด๋ณด๋ด์ง ๋ง์ญ์์ค. ๋ก์ปฌ์์ ๋ฐ๋ณตํ์ญ์์ค.
์ผ๋ณธ(APPI): ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ๋ก์ปฌ LLM์ ์ฌ์ฉํ๋ ์ผ๋ณธ ๊ธฐ์ ์ ๋ชจ๋ ํ๋กฌํํธ์ ์๋ต์ ๋ํ ๋ช ์์ ์ธ ๊ฐ์ฌ ๋ก๊น ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ํ๋กฌํํธ ํ์ง์ ๋ฐ์ดํฐ ๋ณด์์ ์ง์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์๋ชป ์ค๊ณ๋ ํ๋กฌํํธ๋ ์ถ๋ ฅ์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ ธ์ถํ ์ ์์ต๋๋ค.
์ค๊ตญ(๋ฐ์ดํฐ ๋ณด์๋ฒ 2021): ์ค๊ตญ ๋ณธํ ์ ๋ก์ปฌ LLM ๋ฐฐํฌ๋ ๋ชจ๋ ์ถ๋ก , ํ๋กฌํํ , ๋ชจ๋ธ ํ๋์ ์จํ๋ ๋ฏธ์ค์์ ์ ์งํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ ๊ฑฐ์ฃผ ์ค์๋ฅผ ์ํด Qwen ๋ฐ ๊ธฐํ ๊ตญ๋ด ๋ชจ๋ธ์ด ์ ํธ๋ฉ๋๋ค.
๋ก์ปฌ LLM ํ๋กฌํํ ์ ๊ดํ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๋ก์ปฌ LLM์ ์ GPT-5.5๋ณด๋ค ๋ ๋ช ์์ ์ธ ํ๋กฌํํธ๊ฐ ํ์ํฉ๋๊น?
๋ก์ปฌ 7Bโ13B ๋ชจ๋ธ์ GPT-5.5(์ถ์ 1.8T ํ๋ผ๋ฏธํฐ)๋ณด๋ค ํ๋ผ๋ฏธํฐ ์๊ฐ ์ ๊ณ ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ ๋ค์ํฉ๋๋ค. ๋ชจํธํ ์๋๋ฅผ ์ ์ถ๋ก ํ์ง ๋ชปํฉ๋๋ค. ๋ช ์์ ์ธ ์ง์นจ(ํ์, ์ญํ , ๋จ๊ณ๋ณ ์ถ๋ก )์ด ์ด ๊ฒฉ์ฐจ๋ฅผ ๋ณด์ํฉ๋๋ค. Chain-of-thought ํ๋กฌํํ ์ ์ถ๋ก ์์ ์์ ๋ก์ปฌ ๋ชจ๋ธ ์ ํ๋๋ฅผ 10โ20% ํฅ์์ํต๋๋ค.
๋ก์ปฌ LLM ํ๋กฌํํธ์ few-shot ์์๋ฅผ ๋ช ๊ฐ ํฌํจํด์ผ ํฉ๋๊น?
๋ก์ปฌ 7B ๋ชจ๋ธ์๋ ์์ 3โ5๊ฐ๊ฐ ์ต์ ์ ๋๋ค. GPT-5.5๋ ์ผ๋ฐ์ ์ผ๋ก 1โ2๊ฐ๋ง ํ์ํฉ๋๋ค. ์์๊ฐ ๋ง์์๋ก ์ผ๊ด์ฑ์ด ํฅ์๋์ง๋ง ์ปจํ ์คํธ ์ฐฝ ํ ํฐ์ ์๋นํฉ๋๋ค(๋ชจ๋ธ์ ๋ฐ๋ผ 4Kโ32K ํ ํฐ). 4K ์ปจํ ์คํธ ์ฐฝ์ ๊ฐ์ง Llama 3.2 8B์ ๊ฒฝ์ฐ ์์ 3๊ฐ์ ์์ ์ผ๋ก ์ ํํ์ญ์์ค. 32K ์ด์์ ์ปจํ ์คํธ๋ฅผ ๊ฐ์ง ๋ชจ๋ธ์ ๊ฒฝ์ฐ 5๊ฐ๊ฐ ์์ ํฉ๋๋ค.
Chain-of-thought ํ๋กฌํํ ์ด ๋ชจ๋ ๋ก์ปฌ ๋ชจ๋ธ์์ ์๋ํฉ๋๊น?
Chain-of-thought๋ ๋ชจ๋ instruction-tuned ๋ชจ๋ธ(Llama 3.x, Qwen 3, Mistral Small)์์ ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ(non-instruction-tuned)์ "๋จ๊ณ๋ณ๋ก ์๊ฐํ์ญ์์ค" ์ง์นจ์ ์์ ์ ์ผ๋ก ๋ฐ๋ฅด์ง ์์ต๋๋ค. ๋ก์ปฌ ๋ชจ๋ธ์ ๊ฒฝ์ฐ "๋จ๊ณ๋ณ๋ก ํ์ด๋ณด์ญ์์ค:" ๋๋ ์์ ์ถ๋ ฅ ์์ ๋ถ๋ถ์ "Reasoning:"๊ณผ ๊ฐ์ CoT ๊ตฌ๋ฌธ์ด ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค.
๋ก์ปฌ LLM์์ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ์ถ๋ ฅ ํ์์ ๋ฌด์์ ๋๊น?
JSON์ ๋ก์ปฌ LLM์์ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ ํ์์ ๋๋ค. ํ๋กฌํํธ์ ์ ํํ JSON ์คํค๋ง๋ฅผ ์ง์ ํ์ญ์์ค: "name, score, reasoning ํค๋ฅผ ๊ฐ์ง JSON ๊ฐ์ฒด๋ก๋ง ์๋ตํ์ญ์์ค." Markdown ํค๋(##)๋ ์น์ ์ ์ ๋ขฐํ ์ ์์ต๋๋ค. XML์ด๋ ์ฌ์ฉ์ ์ ์ ํ์ ์์ฒญ์ ํผํ์ญ์์ค. ๋ก์ปฌ ๋ชจ๋ธ์ ์ด๋ฅผ ์ผ๊ด์ฑ ์์ด ์ฒ๋ฆฌํฉ๋๋ค.
๋ก์ปฌ LLM์ด ์ฃผ์ ๋ฅผ ๋ฒ์ด๋์ง ์๋๋ก ์ด๋ป๊ฒ ๋ฐฉ์งํฉ๋๊น?
์์คํ ๋๋ ์ง์นจ ํ๋กฌํํธ์ ๋ช ์์ ์ธ ์ ์ฝ์ ์ถ๊ฐํ์ญ์์ค: "[์ฃผ์ ]์ ๋ํด์๋ง ๋ต๋ณํ์ญ์์ค. ๋ค๋ฅธ ๊ฒ์ ๋ํด ๋ฌป๋ ๊ฒฝ์ฐ ๋ค์์ ๋งํ์ญ์์ค: [์ฃผ์ ]์ ๋ํด์๋ง ๋์๋๋ฆด ์ ์์ต๋๋ค." Ollama์ ๊ฒฝ์ฐ ์์คํ ํ๋กฌํํธ ํ๋๋ฅผ ์ฌ์ฉํ์ญ์์ค. llama.cpp์ ๊ฒฝ์ฐ ์์คํ ๋ฉ์์ง๋ก ์์ ์ถ๊ฐํ์ญ์์ค. ์ด ๊ฒฝ๊ณ ์ค์ ์ ๊ฐ๋ ฅํ RLHF ์ ๋ ฌ์ ๊ฐ์ง ํด๋ผ์ฐ๋ ๋ชจ๋ธ๋ณด๋ค ๋ก์ปฌ 7B ๋ชจ๋ธ์์ ํจ์ฌ ๋ ํจ๊ณผ์ ์ผ๋ก ์๋ํฉ๋๋ค.
๋ก์ปฌ ๋ชจ๋ธ์ zero-shot๊ณผ few-shot ํ๋กฌํํ ์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น?
Zero-shot์ ์์ ์์ด ์ ๊ณต๋ฉ๋๋ค: "์ด ์ด๋ฉ์ผ์ ์คํธ์ธ์ง ์๋์ง ๋ถ๋ฅํ์ญ์์ค." Few-shot์ ์์ ์ ์ 2โ5๊ฐ์ ๋ ์ด๋ธ๋ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ก์ปฌ 7B ๋ชจ๋ธ์ ๊ฒฝ์ฐ, few-shot์ ๋ถ๋ฅ ๋ฐ ์ถ์ถ ์์ ์์ zero-shot ๋๋น 15โ25% ์ ํ๋๋ก ์ผ๊ด๋๊ฒ ์ฐ์ํฉ๋๋ค. Zero-shot์ ํ์์ด ๋ ์ค์ํ ์์ฑ ์์ (์์ฝ, ๋ฒ์ญ)์ ํจ๊ณผ์ ์ ๋๋ค.
๋ก์ปฌ ๋ชจ๋ธ์ ๋ํ ํ๋กฌํํธ๋ฅผ ์ด๋ป๊ฒ ํ ์คํธํ๊ณ ๋ฐ๋ณตํฉ๋๊น?
5โ10๊ฐ์ ๋ค์ํ ์์์์ ํ ์คํธํ์ญ์์ค. ํ ๋ฒ์ ํ๋์ ๋ณ์(์ญํ , ํ์, ๋๋ CoT ์ง์นจ)๋ฅผ ๋ณ๊ฒฝํ์ญ์์ค. ๋ณ๊ฒฝ ์ ํ์ ์ ํ๋๋ ์ผ๊ด์ฑ์ ์ธก์ ํ์ญ์์ค. ๊ฐ๋จํ ํ ์คํธ ์ธํธ ์ฌ์ฉ: ์ฌ์ด ์์ 2โ3๊ฐ, ์ด๋ ค์ด ์์ 2โ3๊ฐ. ๊ฐ์ฅ ์ ์๋ํ๋ ํ๋กฌํํธ ๋ฒ์ ์ ์ถ์ ํ์ญ์์ค. 3โ5๊ฐ์ ํ๋กฌํํธ ๋ณํ ์ฌ์ดํด๋ก ๋ฐ๋ณตํ์ญ์์ค. ์ฌ์ฌ์ฉ์ ์ํด ํ๋กฌํํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ํ๋ ํ๋กฌํํธ๋ฅผ ๋ฌธ์ํํ์ญ์์ค.
ํน์ ์์ ์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ํด์ผ ํฉ๋๊น, ์๋๋ฉด ํ์ธํ๋์ ํด์ผ ํฉ๋๊น?
๋จผ์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ์๋ํ์ญ์์ค(๋น ๋ฅด๊ณ , ๋ฌด๋ฃ์ด๋ฉฐ, ๋ฐ๋ณต ๊ฐ๋ฅ). 20๊ฐ ์ด์์ ํ๋กฌํํธ ๋ณํ ํ์๋ ์ ํ๋๊ฐ ์ ์ฒด๋๋ฉด ํ์ธํ๋์ ๊ณ ๋ คํ์ญ์์ค. ํ์ธํ๋์ 500๊ฐ ์ด์์ ์์ ๋ณ ์์์ 1โ4์๊ฐ์ ํ์ต ์๊ฐ์ด ํ์ํ์ง๋ง 10โ20%์ ์ ํ๋ ํฅ์์ ๊ฐ์ ธ์ต๋๋ค. ๋ฒ์ฉ ์์ ์ ๊ฒฝ์ฐ ํ๋กฌํํธ ์์ง๋์ด๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ๋๋ฉ์ธ๋ณ ์์ (์๋ฃ, ๋ฒ๋ฅ , ์ฝ๋ฉ)์ ๊ฒฝ์ฐ ํ์ธํ๋์ด ์ง์์ ์ธ ๊ฐ์ ์ ์ ๊ณตํฉ๋๋ค.
๋ก์ปฌ LLM์์ ์์คํ ํ๋กฌํํธ์ ์ฌ์ฉ์ ์ง์นจ์ ์ด๋ป๊ฒ ๋ค๋ฆ ๋๊น?
์์คํ ํ๋กฌํํธ๋ ์ฌ์ฉ์ ๋ฉ์์ง ์ด์ ์ ๋ชจ๋ธ์ ์ญํ ๊ณผ ์ ์ฝ์ ์ ์ํ๋ฉฐ ์์ฒญ ๊ตฌ์กฐ์ ์ผ๋ถ์ ๋๋ค(Ollama, LM Studio ๋๋ API๋ฅผ ํตํด). ์ฌ์ฉ์ ์ง์นจ์ ๋ํ์ ์ผ๋ถ์ ๋๋ค. ์์คํ ํ๋กฌํํธ๋ ๊ธฐ์ค ๋์์ ์ค์ ํ๋ฉฐ ์ฌ์ฉ์ ๋ฉ์์ง์ ์ง์นจ์ ํฌํจํ๋ ๊ฒ๋ณด๋ค ๋ ์ ๋ขฐํ ์ ์์ต๋๋ค. ๋ก์ปฌ ๋ชจ๋ธ์ ๊ฒฝ์ฐ, ์ ์์ฑ๋ ์์คํ ํ๋กฌํํธ๋ ์ผ๊ด์ฑ์ 15โ25% ํฅ์์ํต๋๋ค. ๋ชจ๋ธ์ด ์ฌ์ฉ์ ์์ค ํ ์คํธ๋ณด๋ค ์์คํ ์์ค ์ ์ฝ์ ์ฐ์ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์ํ ๋ก์ปฌ ๋ชจ๋ธ์์ ๋์ผํ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น?
๋ถ๋ถ์ ์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค. ๊ธฐ๋ณธ CoT ๊ตฌ์กฐ์ ์ญํ ์ ์๋ ๋ชจ๋ธ ๊ฐ์ ์ด์ ๋ฉ๋๋ค(Llama, Qwen, Mistral). ๊ทธ๋ฌ๋ ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ํด์๋ ๊ฐ ๋ชจ๋ธ์ ๋ง๊ฒ ํ๋กฌํํธ๋ฅผ ์กฐ์ ํด์ผ ํฉ๋๋ค. Llama ๋ชจ๋ธ์ "๋จ๊ณ๋ณ๋ก ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค"์ ๋ฐ์ํ๋ ๋ฐ๋ฉด, Qwen ๋ชจ๋ธ์ "๋จผ์ , ..."๋ฅผ ์ ํธํฉ๋๋ค. ์ค์ ๋ก ๋ฐฐํฌํ๋ ๋ชจ๋ธ์์ ํ๋กฌํํธ๋ฅผ ํ ์คํธํ์ญ์์ค. ๋ ํฐ ๋ชจ๋ธ(70B)์ ๋ ์์ ๋ชจ๋ธ(7B)๋ณด๋ค ํ๋กฌํํธ ๋ณํ์ ๋ ๊ด๋ํฉ๋๋ค.
์ถ์ฒ
- Chain-of-Thought ํ๋กฌํํ ๋ ผ๋ฌธ (Wei et al.) โ ๋จ๊ณ๋ณ ์ง์นจ์ ํตํ ์ถ๋ก ์ ๊ดํ ๊ธฐ์ด ์ฐ๊ตฌ.
- ํ๋กฌํํธ ์์ง๋์ด๋ง ๊ฐ์ด๋ (DAIR-AI) โ ํ๋กฌํํ ๊ธฐ๋ฒ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก์ ํฌ๊ด์ ์ธ ์ปฌ๋ ์ .
- Ollama Modelfile ์ฐธ์กฐ โ ์์คํ ํ๋กฌํํธ, ํ๋ผ๋ฏธํฐ(temperature, top_p, repeat_penalty), ์ฌ์ฉ์ ์ ์ ๋ชจ๋ธ ์์ฑ์ ๊ดํ ๊ณต์ ๋ฌธ์.