gemma-2-9b-HangulFixer
- Base Model: unsloth/gemma-2-9b-bnb-4bit
- Developed by: SeongeonKim
- Base Model License: Apache 2.0
- Finetuned Model License: CC BY-NC 4.0 (๋น์๋ฆฌ์ ์ฌ์ฉ๋ง ํ์ฉ)
- Language: Korean (ko)
- Tags:
- text-generation-inference
- transformers
- unsloth
- gemma2
- trl
- sft
๋ชจ๋ธ ์ค๋ช
gemma-2-9b-HangulFixer
๋ Unsloth์ Hugging Face์ TRL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด fine-tuningํ ํ
์คํธ ์์ฑ ๋ชจ๋ธ์
๋๋ค.
์ด ๋ชจ๋ธ์ ๋๋
ํ๋ ํ๊ธ ํธํ
๋ฆฌ๋ทฐ๋ฅผ ์๋์ ๋ช
ํํ๊ณ ์์ฐ์ค๋ฌ์ด ๋ฆฌ๋ทฐ๋ก ๋ณต์ํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค.
๋ฐ์ดํฐ ๋ฐฐ๊ฒฝ
ํ๊ตญ ์์ ์์ฝ ์ฌ์ดํธ์์๋ ๋ถ์ ์ ์ธ ๋ฆฌ๋ทฐ๊ฐ ์ญ์ ๋ ์ ์๋ ์ฐ๋ ค๊ฐ ์์ต๋๋ค. ์ด๋ฅผ ํผํ๋ฉด์ ํ๊ตญ ์ฌ์ฉ์๋ค์๊ฒ๋ง ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ผ๋ถ ์ฌ์ฉ์๋ค์ ๋ฆฌ๋ทฐ๋ฅผ ๋๋
ํํ๋ ๋ฐฉ์์ ์ฌ์ฉํด ์์งํ ํ๊ธฐ๋ฅผ ๋จ๊ธฐ๊ณ ์ ํฉ๋๋ค.
์ด ๋ฐฉ์์ ํ๊ตญ ์ฌ์ฉ์๋ค์๊ฒ๋ ์์งํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ฅ์ ์ด ์์ง๋ง, ์์ ์ด์์์ ๋ฐฉ๋ฌธ๊ฐ ๊ฐ ํผ๋๋ฐฑ ์ ๋ฌ์ ์ด๋ ต๊ฒ ๋ง๋ค์ด ์๋น์ค ํ์ง ํฅ์์ ์ฅ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
ํ์ต ๋ฐ์ดํฐ
์ด ๋ชจ๋ธ์ SeongeonKim/ko-scrambled_v0.1 ๋ฐ์ดํฐ์
์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ํ์ต๋์์ต๋๋ค.
์ด 11,263๊ฐ์ ๋๋
ํ๋ ํ๊ธ ํธํ
๋ฆฌ๋ทฐ์ ๊ทธ์ ์์ํ๋ ๋ณต์๋ ์๋ณธ ๋ฆฌ๋ทฐ๋ฅผ ์ฌ์ฉํด fine-tuning์ด ์งํ๋์์ต๋๋ค.
์ด ๋ฐ์ดํฐ์
์ ๋ฆฌ๋ทฐ์ ๋๋
ํ๋ ํํ(input
)์ ๋ณต์๋ ํํ(output
)๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์์ ๋ฐ์ดํฐ:
- Input:
์ญ๋ฑ ์ ํบ๋ ค์ค ๊ตผ๋ฉ์จ ๋ทํ ์์ฉ ๋ณ๋ฃ. 2๋นก 3์์ฃ 88๋ง ์ธ ์ผค์ณ ํ๋๋จ...
- Output:
์ํ ์ ๋๋ฌ์ด ๊ธ์ก์ ๋นํด ์์ ๋ณ๋ก. 2๋ฐ 3์ผ์ 88๋ง ์ ๊ฒฐ์ ํ๋๋ฐ...
๋ชจ๋ธ ์ฑ๋ฅ
- Base Model:
unsloth/gemma-2-9b-bnb-4bit
๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋์์ต๋๋ค. - Training Efficiency: Unsloth๋ฅผ ์ฌ์ฉํด 2๋ฐฐ ๋ ๋น ๋ฅธ ์๋๋ก ํ์ต ์๋ฃ.
- Target Task: ํ ์คํธ ๋ณต์
- Language: ํ๊ธ
๊ฐ์ ์ฌํญ (v0.1)
- ์ผ๋ฆฌ ์คํ ํ(Early Stopping) ๋์
:
EarlyStoppingCallback
์ ์ถ๊ฐํ์ฌ ํ๊ฐ ์์ค(eval_loss
) ๊ธฐ์ค์ผ๋ก ํ์ต ๊ณผ์ ์ ์๋ ์ค๋จ, ๊ณผ์ ํฉ ๋ฐฉ์ง. - ํ์ต ํจ์จ์ฑ ํฅ์: ๋ฐ์ดํฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ(
dataset_num_proc=2
) ๋ฐ ๋ช ์์ ํ๋ผ๋ฏธํฐ ์ค์ ์ ํตํด ํ์ต ์์ ์ฑ๊ณผ ์๋ ๊ฐ์ . - ํ๊ฐ ์งํ ๋ชจ๋ํฐ๋ง: ํ์ต ํ์ง์ ๋์ด๊ธฐ ์ํด
eval_loss
๋ชจ๋ํฐ๋ง ์ถ๊ฐ.
์ฌ์ฉ ๋ฐฉ๋ฒ
์๋๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ์ ์ธ ์์ ์ ๋๋ค:
from transformers import AutoModelForCausalLM, AutoTokenizer
# ๋ชจ๋ธ ๋ก๋
model_name = "SeongeonKim/gemma-2-9b-HangulFixer"
model = AutoModelForCausalLM.from_pretrained(model_name).to("cuda")
tokenizer = AutoTokenizer.from_pretrained(model_name)
# ํ
์คํธ ์
๋ ฅ
input_text = "๋
๋ฎจ๋๋ญ
๋ง์ฃก์ญ๋ฌ์ค ํจํ
๋คผ์์ค. ํธ์ธ๋ผ ์ฐ๋ฉด ์ฝ ์ธ์ฉํ๊ผฌ ์ถ์ ์ฝง์ฐ์จ์ค."
inputs = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=128)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
์์ ์ ์ด์ฉ ๊ด๋ จ ์ ํ ์ฌํญ
์ด ๋ชจ๋ธ์ ํ์ต ๋ฐ์ดํฐ์ ๋ผ์ด์ ์ค์ ๋ฐ๋ผ CC BY-NC 4.0 ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค.
์ด ๋ผ์ด์ ์ค๋ ๋น์๋ฆฌ์ ์ฌ์ฉ๋ง ํ์ฉํ๋ฉฐ, ์์
์ ์ฉ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด ๋ณ๋์ ํ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ, ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ ํ์ต ๋ฐ์ดํฐ์ ์ถ์ฒ์ ๋ผ์ด์ ์ค๋ฅผ ๋ช
ํํ ํ๊ธฐํด์ผ ํฉ๋๋ค.
- ๋ผ์ด์ ์ค ์ธ๋ถ์ฌํญ: CC BY-NC 4.0
๋ชจ๋ธ ๊ฐ๋ฐ ๊ด๋ จ ์ฐธ๊ณ ์ฌํญ
- ์ฌ์ฉ๋ ๊ธฐ์ : Unsloth์ Hugging Face์ TRL(SFT) ์ฌ์ฉ
- ๋ฐ์ดํฐ ์ถ์ฒ: SeongeonKim/ko-scrambled_v0.1 ๋ฐ์ดํฐ์
- ์ฌ์ฉ ์ ํ: ๋ฐ์ดํฐ์ ๋ผ์ด์ ์ค๋ฅผ ์ค์ํ๋ฉฐ, ์์ ์ ์ฉ๋๋ก ์ฌ์ฉ ๋ถ๊ฐ
This gemma2 model was trained 2x faster with Unsloth and Huggingface's TRL library.
- Downloads last month
- 19