โฑ ํด๋น ๋ชจ๋ธ์์ llama3.1 instruct๋ฅผ Foundation ๋ชจ๋ธ๋ก ํ๋ ํ๊ตญ์ด ๋ฐ
ํ๊ตญ์ ๋ค์ํ ๋ฌธํ์ ์ ์ฉํ ์ ์๋๋ก ํ๊ธฐ ์ํด ๊ฐ๋ฐ ๋์์ผ๋ฉฐ
์์ฒด ์ ์ํ 53์์ญ์ ํ๊ตญ์ด ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ํ๊ตญ ์ฌํ ๊ฐ์น์ ๋ฌธํ๋ฅผ ์ดํดํ๋
๋ชจ๋ธ ์ ๋๋ค. Thanks for ktds โ
โถ ํ์ต ๋ฐ์ดํฐ
- ํด๋น ๋ชจ๋ธ์์ ์์ฒด ๊ฐ๋ฐํ ์ด 3.6GB ํฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ํ์ต๋์์ต๋๋ค. ๋ชจ๋ 233๋ง ๊ฑด์ QnA, ์์ฝ, ๋ถ๋ฅ ๋ฑ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ฉฐ, ๊ทธ ์ค 133๋ง ๊ฑด์ 53๊ฐ ์์ญ์ ๊ฐ๊ด์ ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ์ด ์์ญ์๋ ํ๊ตญ์ฌ, ์ฌํ, ์ฌ๋ฌด, ๋ฒ๋ฅ , ์ธ๋ฌด, ์ํ, ์๋ฌผ, ๋ฌผ๋ฆฌ, ํํ ๋ฑ์ด ํฌํจ๋๋ฉฐ, Chain of Thought ๋ฐฉ์์ผ๋ก ํ์ต๋์์ต๋๋ค. ๋ํ 130๋ง ๊ฑด์ ์ฃผ๊ด์ ๋ฌธ์ ๋ ํ๊ตญ์ฌ, ์ฌ๋ฌด, ๋ฒ๋ฅ , ์ธ๋ฌด, ์ํ ๋ฑ 38๊ฐ ์์ญ์ ๊ฑธ์ณ ํ์ต๋์์ต๋๋ค. ํ์ต ๋ฐ์ดํฐ ์ค ํ๊ตญ์ ์ฌํ ๊ฐ์น์ ์ธ๊ฐ์ ๊ฐ์ ์ ์ดํดํ๊ณ ์ง์ํ ์ฌํญ์ ๋ฐ๋ผ ์ถ๋ ฅํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์์ต๋๋ค.
- ํ์ต Instruction Datasets Format:
{"prompt": "prompt text", "completion": "ideal generated text"}
โท ์ฌ์ฉ ์ฌ๋ก
ํด๋น ๋ชจ๋ธ์ ๋ค์ํ ์์ฉ ๋ถ์ผ์์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
- ๊ต์ก ๋ถ์ผ: ์ญ์ฌ, ์ํ, ๊ณผํ ๋ฑ ๋ค์ํ ํ์ต ์๋ฃ์ ๋ํ ์ง์์๋ต ๋ฐ ์ค๋ช ์์ฑ.
- ๋น์ฆ๋์ค: ๋ฒ๋ฅ , ์ฌ๋ฌด, ์ธ๋ฌด ๊ด๋ จ ์ง์์ ๋ํ ๋ต๋ณ ์ ๊ณต ๋ฐ ๋ฌธ์ ์์ฝ.
- ์ฐ๊ตฌ ๋ฐ ๋ฌธํ: ํ๊ตญ ์ฌํ์ ๋ฌธํ์ ๋ง์ถ ์์ฐ์ด ์ฒ๋ฆฌ ์์ , ๊ฐ์ ๋ถ์, ๋ฌธ์ ์์ฑ ๋ฐ ๋ฒ์ญ.
- ๊ณ ๊ฐ ์๋น์ค: ์ฌ์ฉ์์์ ๋ํ ์์ฑ ๋ฐ ๋ง์ถคํ ์๋ต ์ ๊ณต.
- ์ด ๋ชจ๋ธ์ ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ์์ ์์ ๋์ ํ์ฉ๋๋ฅผ ๊ฐ์ง๋๋ค.
โธ ํ๊ณ โโ
- ํด๋น ๋ชจ๋ธ์ ํ๊ตญ์ด์ ํ๊ตญ ๋ฌธํ์ ํนํ๋์ด ์์ผ๋, ํน์ ์์ญ(์: ์ต์ ๊ตญ์ ์๋ฃ, ์ ๋ฌธ ๋ถ์ผ)์ ๋ฐ์ดํฐ ๋ถ์กฑ์ผ๋ก ์ธํด ๋ค๋ฅธ ์ธ์ด ๋๋ ๋ฌธํ์ ๋ํ ์๋ต์ ์ ํ์ฑ์ด ๋จ์ด์ง ์ ์์ต๋๋ค. ๋ํ, ๋ณต์กํ ๋ ผ๋ฆฌ์ ์ฌ๊ณ ๋ฅผ ์๊ตฌํ๋ ๋ฌธ์ ์ ๋ํด ์ ํ๋ ์ถ๋ก ๋ฅ๋ ฅ์ ๋ณด์ผ ์ ์์ผ๋ฉฐ, ํธํฅ๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํธํฅ๋ ์๋ต์ด ์์ฑ๋ ๊ฐ๋ฅ์ฑ๋ ์กด์ฌํฉ๋๋ค.
โบ ์ฌ์ฉ ๋ฐฉ๋ฒ
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("SEOKDONG/llama3.1_korean_v0.1_sft_by_aidx")
model = AutoModel.from_pretrained("SEOKDONG/llama3.1_korean_v0.1_sft_by_aidx")
input_text = """ ใ๊ตญ๋ฏผ๊ฑด๊ฐ๋ณดํ๋ฒใ์ 44์กฐ, ใ๊ตญ๋ฏผ๊ฑด๊ฐ๋ณดํ๋ฒ ์ํ๋ นใ์ 19์กฐ,ใ์ฝ๊ด์ ๊ท์ ์ ๊ดํ ๋ฒ๋ฅ ใ์ 5์กฐ, ใ์๋ฒใ์ 54์กฐ ์ฐธ์กฐ ํ๋จ ํด์ค"""
inputs = tokenizer(input_text, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(**inputs, max_length=1024, temperature=0.5, do_sample=True, repetition_penalty=1.15)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)
Hereโs the English version of the provided text:
- Downloads last month
- 9