Instructions to use brildev7/gemma-7b-summarization-ko-sft-qlora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use brildev7/gemma-7b-summarization-ko-sft-qlora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("google/gemma-7b") model = PeftModel.from_pretrained(base_model, "brildev7/gemma-7b-summarization-ko-sft-qlora") - Notebooks
- Google Colab
- Kaggle
Model Card for Model ID
Model Details
Model Description
Summarise Korean sentences concisely
- Developed by: [Kang Seok Ju]
- Contact: [brildev7@gmail.com]
Training Details
Training Data
https://huggingface.co/datasets/raki-1203/ai_hub_summarization
Inference Examples
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import PeftModel
model_id = "google/gemma-7b"
peft_model_id = "brildev7/gemma_7b_summarization_ko_sft_qlora"
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.float32,
bnb_4bit_quant_type="nf4"
)
model = AutoModelForCausalLM.from_pretrained(model_id,
quantization_config=quantization_config,
torch_dtype=torch.float32,
low_cpu_mem_usage=True,
attn_implementation="sdpa",
device_map="auto")
model = PeftModel.from_pretrained(model, peft_model_id)
tokenizer = AutoTokenizer.from_pretrained(peft_model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
# example
prompt_template = "๋ค์ ๊ธ์ ์์ฝํ์ธ์.:{}\n์์ฝ:"
passage = "๊ธฐํ์ฌ์ ๋ถ๋ 20์ผ ์ด ๊ฐ์ ๋ด์ฉ์ '์ฃผ๋ฅ ๋ฉดํ ๋ฑ์ ๊ดํ ๋ฒ๋ฅ ์ํ๋ น' ๊ฐ์ ์์ ์
๋ฒ ์๊ณ ํ๋ค. ๊ฐ์ ์์๋ ์ฃผ๋ฅ ํ๋งค์
๋ฉดํ ์ทจ์์ ์์ธ์ ํด๋นํ๋ ์ฃผ๋ฅ์ ๋จ์๊ฐ๊ณตยท์กฐ์์ ๋ฒ์๋ฅผ ์ ์ ๋ฑ ๋น ์ฉ๊ธฐ์ ์ฃผ๋ฅ๋ฅผ ๋๋ ๋ด์ ํ๋งคํ๋ ๊ฒฝ์ฐ ๋ฑ์ด ํฌํจ๋๋ค. ์๋นยท์ฃผ์ ๋ฑ์์ ์ฃผ๋ฅ๋ฅผ ํ๋งคํ ๋ ์ ์ ์์ ๋๋ ํ๋งคํ ์ ์๋ค๋ ์๋ฏธ๋ค. ์ข
ํฉ์ฃผ๋ฅ๋๋งค์
์๊ฐ ์ฃผ๋ฅ์ ์กฐ์ ๋ฑ์ด ์ ์กฐยทํ๋งคํ๋ ๋น์์ฝ์ฌ ์๋ฃ ๋๋ ๋ฌด์์ฝ์ฌ ์๋ฃ๋ฅผ ์ฃผ๋ฅ์ ํจ๊ป ์์์ ๋ฑ์ ๊ณต๊ธํ ์ ์๋๋ก ์ฃผ๋ฅํ๋งค ์ ์
์๋ฌด ๋ฉดํ์๊ฑด๋ ์ํํ๋ค. ํ์ฌ ์์ฝ์ฌ ๋์๊ฐ 0%์ธ ์๋ฃ๋ '๋ฌด์์ฝ์ฌ ์๋ฃ'๋ก, 0% ์ด์ 1% ๋ฏธ๋ง์ธ ๊ฒ์ '๋น์์ฝ์ฌ ์๋ฃ'๋ก ๊ตฌ๋ถ๋๋ค. ํํ ๊ท์ ์ ๋ฌด์์ฝ์ฌยท๋น์์ฝ์ฌ ์ฃผ๋ฅ๋ ์ฃผ๋ฅ ์
์๊ฐ ์ ํตํ ์ ์๋๋ฐ ์ด ๊ท์ ์ ์ํํ๋ค๋ ๊ฒ์ด๋ค. ๊ธฐ์ฌ๋ถ๋ ๋ค์ ๋ฌ 29์ผ๊น์ง ์๊ฒฌ ์๋ ด์ ๊ฑฐ์ณ ์ด๋ฅด๋ฉด ๋ค์ ๋ฌ ๋ง๋ถํฐ ์ํํ ์์ ์ด๋ค๏ผ"
prompt = prompt_template.format(passage)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs,
max_new_tokens=512,
temperature=0.2,
top_p=0.95,
do_sample=True,
use_cache=False)
print(tokenizer.decode(outputs[0]))
- ๊ธฐํ์ฌ์ ๋ถ๋ 20์ผ ์ฃผ๋ฅ ํ๋งค์
๋ฉดํ ์ทจ์์ ์์ธ์ ํด๋นํ๋ ์ฃผ๋ฅ์ ๋จ์๊ฐ๊ณตยท์กฐ์์ ๋ฒ์๋ฅผ ์ ์ ๋ฑ ๋น ์ฉ๊ธฐ์ ์ฃผ๋ฅ๋ฅผ ๋๋ ๋ด์ ํ๋งคํ๋ ๊ฒฝ์ฐ ๋ฑ์ด ํฌํจ๋ '์ฃผ๋ฅ ๋ฉดํ ๋ฑ์ ๊ดํ ๋ฒ๋ฅ ์ํ๋ น' ๊ฐ์ ์์ ์
๋ฒ ์๊ณ ํ๋ค.
# example
prompt_template = "๋ค์ ๊ธ์ ์์ฝํ์ธ์.:{}\n์์ฝ:"
passage = "์ง๋ 1์ ์ผ๋ณธ ์ค์ฌ์นด ์ฐ๋ฉ๋ค์ ๋ทฐํฐ์ต โ์ณ์ฝ์ค๋ฉโ์์ ์งํ๋ CJ์ฌ๋ฆฌ๋ธ์์ ๋ฉ์ดํฌ์
๋ธ๋๋(PB) โ๋ฐ์ด์คํ ๋ณดโ์ ํ์
์คํ ์ด ํ์ฅ. ์ค์ฌ์นด ์ต๋ ๊ท๋ชจ๋ฅผ ์๋ํ๋ ์ณ์ฝ์ค๋ฉ ๋งค์ฅ ํ ๊ฐ์ด๋ฐ ๊พธ๋ฉฐ์ง ํ์
์คํ ์ด์๋ ํ๊ตญ์์ ์ธ๊ธฐ ๋์ ํ์ฅํ์ ์ค์ ๋ก ๊ฒฝํํด๋ณด๋ ค๋ ๊ณ ๊ฐ๋ค๋ก ๋ฐ ๋๋ ํ ์์ด ๋ถ์ ๊ฑฐ๋ ธ๋ค. ํ์ด์ ๊ตญ์ ์์ด์ง๋ง ์ค์ฌ์นด์์ ๊ฑฐ์ฃผํ๊ณ ์๋ค๋ 32์ด ์ฟ ์ด์์จ๋ ์ด๋ ํ์
์คํ ์ด๋ฅผ ์ฐพ์ ๋ฐ์ด์คํ ๋ณด์ โํํํฌ๋ฆผโ์ ๊ตฌ๋งคํ๋ค. ์ฌํ๊ด๊ณ๋ง์๋น์ค(SNS)์ ์ ํ๋ธ๋ฅผ ํตํด ํ๊ตญ ํ์ฅํ์ด ์ข๋ค๋ ํ์ ๋ค์ด๋ณธ ํฐ๋ผ ์ด๋ฒ ๊ธฐํ์ ๊ตฌ๋งคํด ์ฌ์ฉํด๋ณด๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค๊ณ ํ๋ค. ์ฟ ์ด์์จ๋ ํ๊ตญ ํ์ฅํ์ ์ฐ๋ฉด ํ๊ตญ ์ฌ์ฑ์ฒ๋ผ ์๋ป์ง์ง ์์๊น ๊ธฐ๋๊ฐ ๋๋ค๊ณ ๋งํ๋ค. ์ด๋ ์ณ์ฝ์ค๋ฉ๋ ๋ฐ์ด์คํ ๋ณด ํ์
๋ฟ๋ง ์๋๋ผ ๋์ ์ ๋๋ ๋ฉ์ธ ์ง์ด๋ ์๋น์๊ฐ ํ๊ตญ ๋ธ๋๋ ์ฐจ์ง์๋ค. ๋๋ถ๋ถ ํ๊ตญ์์๋ ์ธ๊ธฐ๊ฐ ๋์ ๋ธ๋๋๋ค๋ก, ์
๊ตฌ์์ ๋ฐ๋ก ๋ณด์ด๋ ์ง์ด๋์๋ โ์จ์ดํฌ๋ฉ์ดํฌโ์ โํผ์น์จโ, โ์ด๋ฎค์ฆโ๊ฐ, ํด์ธ ๋ช
ํ ๋ธ๋๋ ์กด ์ ์ค์์๋ โํค๋ผโ๊ฐ ์๋ฆฌํ๊ณ ์์๋ค. ์ผ๋ณธ ๋ด K๋ทฐํฐ์ ์ธ๊ธฐ๊ฐ ์์ฌ๋กญ์ง ์๋ค. โ์ 3์ฐจ ํ๋ฅ๋ถโ์ด๋ผ๊ณ ๊น์ง ์ผ์ปฌ์ด์ง๋ ํ๋ฅ์ดํ์ ํ๊ณ ์ผ๋ณธ ๋ด K๋ทฐํฐ์ ์
์ง๊ฐ ๋๋ ์ด ์น์๊ณ ์๋ค. ๊ณผ๊ฑฐ์๋ ์ผ๋ณธ ๋ด์์ ํ๊ตญ ๋ฌธํ๋ฅผ ์ข์ํ๋ ์ผ๋ถ ์๋น์๋ค ์ฌ์ด์์๋ง ์ ํํ๋ ์์ค์ด์๋ค๋ฉด, ์ง๊ธ์ ์ผ๋ณธ ๋ทฐํฐ ์์ฅ์ ํ๋์ ์นดํ
๊ณ ๋ฆฌ๋ก K๋ทฐํฐ๊ฐ ์๋ฆฌ๋ฅผ ์ก์๋ค๋ ํ๊ฐ๋ค. 21์ผ ๋ฒ ์ธ์ค๋์ปดํผ๋์ ์ ๋ก๋ชจ๋ํฐ์ ๋ฐ๋ฅด๋ฉด K๋ทฐํฐ์ ์ผ๋ณธ ์ง์ญ๋ณ ์นจํฌ์จ(ํน์ ๊ธฐ๊ฐ ๋์ ํน์ ์ํ ์๋น ๊ท๋ชจ ๋น์ค)์ 2017๋
1%์์ 2022๋
4.9%๋ก 5๋
๋ง์ 5๋ฐฐ๊ฐ ์ฆ๊ฐํ๋ค. ์ต๊ทผ 3๋
๊ฐ ์ฐํ๊ท ์ฑ์ฅ๋ฅ ์ 20%๊ฐ ๋๋๋ค. ์ง๋ํด์๋ ์ผ๋ณธ ์์
ํ์ฅํ ๊ตญ๊ฐ๋ณ ๋น์ค์์ ํ๊ตญ์ด ์ฒ์์ผ๋ก ํ๋์ค๋ฅผ ์ ์น๊ณ 1์์ ์ค๋ฅด๊ธฐ๋ ํ๋ค. ์ํจ์ฃผ ๋ฒ ์ธ์ค๋์ปดํผ๋ ํํธ๋๋ ์ง๊ธ๋ณด๋ค 3~4๋ฐฐ ์ด์ ์ฑ์ฅํ ์ฌ๋ ฅ์ด ์ถฉ๋ถํ๋ค๊ณ ๋งํ๋ค. ์ผ๋ณธ ์ฌ์ฑ๋ค์ด K๋ทฐํฐ์ ๋งค๋ฃ๋ ์ด์ ๋ ๋ฌด์์ผ๊น. ๊ฐ์ฅ ํฐ ์ด์ ๋ก๋ โ๋์ ๊ฐ์ฑ๋น(๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ)โ๊ฐ ๊ผฝํ๋ค. ์
๊ณ์ ๋ฐ๋ฅด๋ฉด ์ค์ ์ผ๋ณธ์์ ๋ง์ด ํ๋งค๋๋ ํ๊ตญ ํ์ฅํ ๋ธ๋๋์ ๊ธฐ์ด์ ํ๋ค์ ์ผ๋ณธ ๋ธ๋๋์ ๋นํด ์ ํ ๊ฐ๊ฒฉ์ด 10~20% ๊ฐ๋ ์ ๋ ดํ ํธ์ด๋ค. ์ด๋ ํ๊ตญ์ฝ๋ง์ ์ฝ์ค๋งฅ์ค ๊ฐ์ ๊ตญ๋ด ํ์ฅํ OEM(์ฃผ๋ฌธ์ ์ํ ๋ถ์ฐฉ ์์ฐ)ยทODM(์ฃผ๋ฌธ์ ๊ฐ๋ฐ์์ฐ) ์ ์กฐ์ฌ๋ค์ ์ฑ์ฅ ๋์ด ํฌ๋ค. ์ด๋ค์ ๊ธฐ์ ๋ ฅ์ ์ธ๊ณ ์ต๊ณ ์์ค์ผ๋ก, ์ธ๊ณ ์ต๋ ํ์ฅํ ๊ธฐ์
์ธ ๋ก๋ ์๋ ๊ณ ๊ฐ์ฌ์ผ ์ ๋๋ค. ์ด๋ค์ ๋จ์ ์ ํ ์ ์กฐ๋ฅผ ๋์ด ์ ์ ํ์ ๊ฐ๋ฐํด ๋ธ๋๋์ ๋จผ์ ์ ์ํ๊ณ ๋ ํ์์ ๋ง์ผํ
๊น์ง ์ง์ํด ๋ธ๋๋๋ฅผ ํค์ฐ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ค. ํ๊ตญ ๋ทฐํฐ ๋ธ๋๋ ๋๋ถ๋ถ์ด ์ด๋ค์ ํตํด ์ ํ์ ๋ง๋ค๊ณ ์์ด ์ค์ ๊ท๋ชจ K๋ทฐํฐ ๋ธ๋๋๋ ํ์ง์ด ๋ณด์ฅ๋๋ค๋ ์๊ธฐ๋ค. ๋ K๋ทฐํฐ ์ ํ์ ๊ฐ์ ์ผ๋ก๋ โณ๋
ํนํ๊ณ ํธ๋ ๋ํ ์ปจ์
โณ๋ฐ๋น ๋ฅธ ์ ์ ํ ์ถ์ โณ์์ ํจํค์ง ๋ฑ์ด ๊ฑฐ๋ก ๋๋ค. ์ด๋ฅผ ๋ฐฉ์ฆํ๋ฏ ์ต๊ทผ ์ผ๋ณธ์์ ์์ ๊ฐ์ ๋ค์ ๊ฐ์ถ ํ๊ตญ์ ์ ์ง ๋ฉ์ดํฌ์
๋ธ๋๋๋ค์ด ์ธ๊ธฐ๋ค. ์ค์ ๋ก ์ผ๋ณธ ๋ด ํธ์ํฐ์ ์ ํ๋ธ ๋ฑ SNS์์๋ ์์ญ~์๋ฐฑ๋ง ํ๋ก์๋ฅผ ๋ณด์ ํ ํ์ง ์ธํ๋ฃจ์ธ์๋ค๋ ์ผ๋ช
โ๋ด๋๋ด์ฐโ(๋ด ๋ ์ฃผ๊ณ ๋ด๊ฐ ์ฐ ๋ฌผ๊ฑด) ์์์์ ์๋ฐ์ ์ผ๋ก K๋ทฐํฐ ๋ฉ์ดํฌ์
๋ธ๋๋ ์ ํ์ ์๊ฐํ๊ณ ์๋ค. ์ง๋ 1์ ์ผ๋ณธ ์ค์ฌ์นด์ ์์ฌํ ๋ทฐํฐ ๋ญํน์ต โ์ณ์ฝ์ค๋ฉ ์ฐ๋ฉ๋ค์ โ์์ ์ผ๋ณธ ์ฌ์ฑ๋ค์ด ํ๊ตญ ์ฝ์ค๋ฉํฑ ๋ธ๋๋ โ๋ผ์นด(Laka)โ์ ์ ํ์ ์ดํด๋ณด๊ณ ์๋ ๋ชจ์ต. [๊นํจํ ๊ธฐ์] ๋ํ์ ์ธ ์๊ฐ โ๋ผ์นดโ๋ค. ํ๊ตญ๋ณด๋ค ์ผ๋ณธ์์ ๋ ์ ๋ช
ํ ๋ผ์นด๋ 100๋ง ๊ตฌ๋
์๋ฅผ ๋ณด์ ํ๊ณ ์๋ ๋ฉ์ดํฌ์
์ํฐ์คํธ์ด์ ์ ํ๋ฒ โํ๋กโ(์ค๋ค๊ธฐ๋ฆฌ ํ๋ก)๊ฐ ์์์์ ์ ํ์ ์ถ์ฒํด ํ๋ณด ํจ๊ณผ๋ฅผ ํกํกํ ๋ดค๋ค. ์ด๋ฏผ๋ฏธ ๋ผ์นด ๋ํ๋ ์ผ๋ณธ์์ ํน์ ์ ํ์ด ๊ฐ์๊ธฐ ํ๋ฃจ์ ์์ฒ๊ฐ๊ฐ ํ๋ ค ๋ฌด์จ ์ผ์ธ๊ฐ ๋ดค๋๋ฐ, ํ์ง ์ ๋ช
์ ํ๋ฒ๊ฐ ์ถ์ฒํ ์์์ด ์ฌ๋ผ์๋๋ผ๋ฉฐ ํ์ฐฌ์ด๋ ๊ด๊ณ ๊ฐ ์๋์ด์ ๋ ๋๋๋ค๊ณ ๋งํ๋ค. ์ด์ ์ง๋ 2020๋
์ฒ์ ์ผ๋ณธ์ ์ง์ถํ ๋ผ์นด๋ ์ฌํด 1์ ๋ง ์ผ๋ณธ ์ ์ญ ์ฝ 350์ฌ๊ฐ ๋งค์ฅ์ ์
์ ํ๋ ์ฑ๊ณผ๋ฅผ ์ฌ๋ ธ๋ค. 2021๋
47์ต์์ ๋ถ๊ณผํ๋ ๋ผ์นด์ ๋งค์ถ๋ ์ง๋ํด 4๋ฐฐ๊ฐ ๋๊ฒ ์์นํด 200์ต์์ ์ก๋ฐํ๋ค. ์ผ๋ณธ ์์ฅ์์ ๋๊ฐ์ ๋ณด์ด๋ ๊ตญ๋ด ํ์ฅํ ๋ธ๋๋๋ค์ด ๋๋ฉด์ ์๋กญ๊ฒ ์ง์ถ์ ํ์งํ๊ฑฐ๋ ์ค๋นํ๊ณ ์๋ ์
์ฒด๋ค๋ ๋๊ณ ์๋ค. ๊ทธ๋์ ํ๊ตญ ํ์ฅํ์ ๊ฐ์ฅ ํฐ ์์ฅ์ด์๋ ์ค๊ตญ์ด ๊ฒฝ๊ธฐ ์นจ์ฒด ๋ฐ ์ ์น์ ์ด์ ๋ฑ์ผ๋ก ์ชผ๊ทธ๋ผ๋ค๊ณ ์๋ ์ํฉ์์ ์ผ๋ณธ์ด ์ด๋ฅผ ๋์ฒดํ ์๋ก์ด ์์ฅ์ผ๋ก ๋ถ์ํ ๊ฒ์ด๋ค. ์ผ๋ณธ ํ์ฅํ ํ๋งค ์ฑ๋๋ค๋ K๋ทฐํฐ ์ ์น์ ์ ๊ทน์ ์ด๋ค. ์ณ์ฝ์ค๋ฉ์ ๊ฒฝ์ฐ ๊ฑฐ์ ๋งค๋ฌ K๋ทฐํฐ ํ์
์ด ์ด๋ฆฌ๊ณ ์๋ ์์ค์ผ๋ก, ์ค๋ 5์์๋ ๋์ฟ์ ์์ K๋ทฐํฐ ํ์คํฐ๋ฒ๋ ์ด ๊ณํ์ด๋ค. ๋กํํธ์ ํ๋ผ์ ๋ฑ๋ K๋ทฐํฐ ์ ์น ๊ฒฝ์์ด ๋จ๊ฒ๋ค. CJ์ฌ๋ฆฌ๋ธ์ ๊ด๊ณ์๋ ํ๊ตญ ํ์ฅํ์ ๋ํ ๋ฐ์์ด ์ข๊ณ ํนํ ์ฌ๋ฆฌ๋ธ์์์ ์ธ๊ธฐ ์๋ ๋ธ๋๋์ ๋ํ ์์๊ฐ ๋๋ค ๋ณด๋ ํ๋ซํผ์์ ๋จผ์ ํ์
์์ฒญ์ด ์๋ค๋ฉฐ ์์ผ๋ก๋ ์ผ๋ณธ ์์ฅ ์ ํต์ ๋์ฑ ์ ๊ทน์ ์ผ๋ก ๋์๋ ค ํ๋ค๊ณ ์ ํ๋ค."
prompt = prompt_template.format(passage)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs,
max_new_tokens=512,
temperature=0.2,
top_p=0.95,
do_sample=True,
use_cache=False)
print(tokenizer.decode(outputs[0]))
- ์ผ๋ณธ ๋ด K๋ทฐํฐ์ ์ธ๊ธฐ๊ฐ ์์ฌ๋กญ์ง ์์ ๊ฐ์ด๋ฐ, ์ผ๋ณธ ๋ด์์ ํ๊ตญ ๋ฌธํ๋ฅผ ์ข์ํ๋ ์ผ๋ถ ์๋น์๋ค ์ฌ์ด์์๋ง ์ ํํ๋ ์์ค์ด์๋ K๋ทฐํฐ๊ฐ ์ง๊ธ์ ์ผ๋ณธ ๋ทฐํฐ ์์ฅ์ ํ๋์ ์นดํ
๊ณ ๋ฆฌ๋ก ์๋ฆฌ ์ก์๋ค๋ ํ๊ฐ๋ฅผ ๋ฐ๊ณ ์๋ค.
- Downloads last month
- 2
Model tree for brildev7/gemma-7b-summarization-ko-sft-qlora
Base model
google/gemma-7b