Qwen3-4B-KRX-Finance
Qwen3-4B-KRX-Finance๋ ํ๊ตญ์ด ๊ธ์ต ๋๋ฉ์ธ ์ง์์๋ต ํ์ง ํฅ์์ ๋ชฉํ๋ก
Qwen3-4B-Instruct ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก SFT(Supervised Fine-Tuning) ์ดํ
DPO(Direct Preference Optimization) ๋ฐฉ์์ผ๋ก ์ถ๊ฐ ์ ๋ ฌํ PEFT ์ด๋ํฐ(Adapter) ๋ชจ๋ธ์
๋๋ค.
๋ณธ ์ ์ฅ์์๋ DPO ํ์ต์ด ์๋ฃ๋ ์ด๋ํฐ๋ง ํฌํจ๋์ด ์์ผ๋ฉฐ,
๋ฒ ์ด์ค ๋ชจ๋ธ์ ๋ณ๋๋ก ๋ก๋ํด์ผ ํฉ๋๋ค.
1. ๋ชจ๋ธ ๊ฐ์
Base Model
unsloth/Qwen3-4B-Instruct-2507Fine-tuning Pipeline
- Supervised Fine-Tuning (SFT)
- Direct Preference Optimization (DPO)
Release Type
PEFT Adapter onlyTarget Domain
ํ๊ตญ์ด ๊ธ์ต ์ง์์๋ต (๊ธ๋ฆฌ, ์ฑ๊ถ, ๊ฑฐ์๊ฒฝ์ , ๊ธ์ต ๊ฐ๋ ์ค๋ช ์ค์ฌ)
2. ํ์ต ๋ชฉ์
๋ณธ ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ํ์ต๋์์ต๋๋ค.
- ํ๊ตญ์ด ๊ธ์ต ์ง๋ฌธ์ ๋ํ ์ค๋ช ์ ํ๋ ๋ฐ ์ผ๊ด์ฑ ํฅ์
- ๋ต๋ณ์ ๋จ์ ๋์ด์ด ์๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ์กฐํ๋ ํํ๋ก ์์ฑ
- ๋์ผ ์ง๋ฌธ์ ๋ํด ์ ํธ๋๋ ๋ต๋ณ ์คํ์ผ๋ก ์ ๋ ฌ
- ๊ธ์ต ํ์ตยท๋ฆฌ์์นยท์ค๋ช ์ฉ์ผ๋ก ํ์ฉ ๊ฐ๋ฅํ ์์ ์ ์ธ ์ธ์ด ๋ชจ๋ธ ๊ตฌ์ถ
3. SFT (Supervised Fine-Tuning)
3.1 SFT ํ์ต ๊ฐ์
SFT ๋จ๊ณ์์๋ ๋ชจ๋ธ์ด
ํ๊ตญ์ด ๊ธ์ต ์ง์์๋ต์ ๊ธฐ๋ณธ์ ์ธ ํ์๊ณผ ๋๋ฉ์ธ ์ง์์ ์ต๋ํ๋๋ก ํ์ต๋์์ต๋๋ค.
- ๊ธ์ต ๊ฐ๋ ์ค๋ช ์ค์ฌ QA
- ํ๊ตญ์ด ์ง๋ฌธ์ ๋ํ ์ง์ ์ ์ด๊ณ ์ค๋ช ์ ์ธ ์๋ต ํ์ต
3.2 SFT ํ์ต ๋ฐ์ดํฐ
Dataset
https://huggingface.co/datasets/KRX-Data/Won-Instruct๋ฐ์ดํฐ ๋ถ๋ฆฌ ๋ฐฉ์
test_size = 0.05- Train / Test ๋ถ๋ฆฌ ํ Train ๋ฐ์ดํฐ๋ง SFT ํ์ต์ ์ฌ์ฉ
๋ฐ์ดํฐ ํน์ง
- ํ๊ตญ์ด ๊ธ์ต ์ง์์๋ต ๋ฐ์ดํฐ
- ๊ธ๋ฆฌ, ์ฑ๊ถ, ๊ฑฐ์๊ฒฝ์ , ๊ธ์ต ์ ๋ ๋ฐ ๊ฐ๋ ์ค๋ช ์ค์ฌ
- ์ค๋ช ํ ์๋ต ์์ฃผ ๊ตฌ์ฑ
3.3 SFT ๊ฒฐ๊ณผ ์์ฝ
SFT ์ดํ ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ ํน์ฑ์ ๊ฐ๊ฒ ๋์์ต๋๋ค.
- ํ๊ตญ์ด ๊ธ์ต ์ง๋ฌธ์ ๋ํด ์์ ์ ์ธ ๊ธฐ๋ณธ ์๋ต ์์ฑ
- ๊ธ์ต ๋๋ฉ์ธ ์ฉ์ด ์ดํด๋ ํฅ์
- ๋ค๋ง,
- ๋ต๋ณ ๊ธธ์ด ํธ์ฐจ
- ์ค๋ณต ์์
- ์ ํธ๋์ง ์๋ ์์ ๋ฐฉ์์ด ์ผ๋ถ ์กด์ฌ
์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด DPO ํ์ต์ ์งํํ์ต๋๋ค.
4. DPO (Direct Preference Optimization)
4.1 DPO ํ์ต ๋ชฉ์
DPO ๋จ๊ณ์ ๋ชฉ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋์ผ ์ง๋ฌธ์ ๋ํด ๋ ๋์ ๋ต๋ณ(chosen) ์ ์ ํํ๋๋ก ์ ๋ ฌ
- ์ค๋ช ์ ๋ช ํ์ฑ, ๊ฐ๊ฒฐ์ฑ, ๊ตฌ์กฐ์ ์๊ฒฐ์ฑ ๊ฐํ
- SFT ๋ชจ๋ธ ์ถ๋ ฅ์ ํ์ง ํธ์ฐจ ๊ฐ์
4.2 DPO ํ์ต ๋ฐ์ดํฐ
Base Dataset
https://huggingface.co/datasets/aiqwe/FinShibainuPrompt ๊ตฌ์ฑ
- ์ ์ฒด ๋ฐ์ดํฐ ์ค ๋ฌด์์๋ก 1,200๊ฐ prompt ์ถ์ถ
- ๊ธ์ต ๊ด๋ จ ์ง๋ฌธ ์ค์ฌ
Chosen ์๋ต
gemini-3-flash-previewAPI๋ฅผ ํ์ฉํ์ฌ ์์ฑ- ์ค๋ช ์ ์๊ฒฐ์ฑ, ์ค๋ณต ์ ๊ฑฐ, ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ
Rejected ์๋ต
- Base Qwen3-4B-Instruct ๋ชจ๋ธ ์ถ๋ ฅ ์ฌ์ฉ
- ์๋์ ์ผ๋ก ๊ตฌ์กฐ๊ฐ ๋ ์ ์ ๋ ์๋ต
4.3 DPO ํ์ต ์ค์ ์์ฝ
Policy Model
SFT ์๋ฃ ๋ชจ๋ธReference Model
Base Qwen3-4B-Instruct (๊ณ ์ )Beta
0.2Epoch
2Max Sequence Length
2048Optimization Method
Direct Preference Optimization (DPO)
5. ์ฌ์ฉ ๋ฐฉ๋ฒ
5.1 Base ๋ชจ๋ธ ๋ก๋
from unsloth import FastLanguageModel
base_model, tokenizer = FastLanguageModel.from_pretrained(
"unsloth/Qwen3-4B-Instruct-2507",
max_seq_length=2048,
load_in_4bit=True,
)
from peft import PeftModel
model = PeftModel.from_pretrained(
base_model,
"mjun/Qwen3-4B-KRX-Finance"
)
model.eval()
Model tree for mjun/Qwen3-4B-KRX-Finance
Base model
Qwen/Qwen3-4B-Instruct-2507