Edit model card

Model Card for Model ID

Model Details

Model Description

Summarise Korean sentences concisely

Training Details

Training Data

https://huggingface.co/datasets/brildev7/polite_summary_by_gpt4

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-polite-summarization-ko-sft-qlora"
quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.float16,
    bnb_4bit_quant_type="nf4"
)

model = AutoModelForCausalLM.from_pretrained(model_id,
                                             quantization_config=quantization_config,
                                             torch_dtype=torch.float16,
                                             low_cpu_mem_usage=True,
                                             attn_implementation="flash_attention_2",
                                             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=1024,
                        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=1,
                        top_p=0.95,
                        do_sample=True,
                        use_cache=False)
print(tokenizer.decode(outputs[0]))
- ์˜ค์‚ฌ์นด ๋ทฐํ‹ฐ์ƒต โ€˜์•ณ์ฝ”์Šค๋ฉ”โ€™์—์„œ๋Š” ํ•œ๊ตญ์—์„œ ๋ฉ”์ดํฌ์—… ๋ธŒ๋žœ๋“œ์ธ โ€˜๋ฐ”์ด์˜คํž ๋ณดโ€™์˜ ํŒ์—… ์Šคํ† ์–ด๋ฅผ ์—ด์–ด ๊ณ ๊ฐ๋“ค์ด ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์ž ํ•˜๋ฉฐ ์ธ๊ธฐ๋ฅผ ๋Œ๊ณ  ์žˆ๊ณ , ๋˜ํ•œ ์ฃผ๋ณ€์—๋Š” ํ•œ๊ตญ ๋ธŒ๋žœ๋“œ๋“ค์ด ๋งŽ์ด ๋ฐฐ์น˜๋˜์–ด ์žˆ์–ด K๋ทฐํ‹ฐ๊ฐ€ ์ผ๋ณธ์—์„œ ํ•˜๋‚˜์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ๋‹ค๊ณ  ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# example
prompt_template = "๋‹ค์Œ ๊ธ€์„ ์š”์•ฝํ•˜์„ธ์š”.:{}\n์š”์•ฝ:"
passage = "์œ ์—” ์•ˆ์ „๋ณด์žฅ์ด์‚ฌํšŒ๊ฐ€ 14์ผ(ํ˜„์ง€์‹œ๊ฐ„) ์ด์Šค๋ผ์—˜์˜ ์š”์ฒญ์œผ๋กœ ๊ธด๊ธ‰ํšŒ์˜๋ฅผ ์†Œ์ง‘ํ•˜๊ณ  ์ด๋ž€์˜ ๊ตฐ์‚ฌ ๊ณต๊ฒฉ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ๋‹ค. ์ด๋ž€๊ณผ ์ด์Šค๋ผ์—˜์€ ์ด ์ž๋ฆฌ์—์„œ ์น˜์—ดํ•œ ์„ค์ „์„ ๋ฒŒ์˜€๊ณ , ํšŒ์›๊ตญ๋“ค์€ ํ™•์ „ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋‹น์‚ฌ๊ตญ๋“ค์˜ ์ž์ œ๋ฅผ ์ด‰๊ตฌํ–ˆ๋‹ค. ๊ฐ€๋””์–ธ ๋“ฑ์— ๋”ฐ๋ฅด๋ฉด ์ด๋‚  ์•ˆ๋ณด๋ฆฌ ํšŒ์˜์—์„œ ์ด๋ž€๊ณผ ์ด์Šค๋ผ์—˜ ๋Œ€์‚ฌ๋Š” ์„œ๋กœ๋ฅผ ๊ฒจ๋ƒฅํ•ด ์ค‘๋™ ํ‰ํ™”์˜ ์œ„ํ˜‘์ด๋ผ๊ณ  ๊ฐ•ํ•˜๊ฒŒ ๋น„๋‚œํ–ˆ๋‹ค. ์•„๋ฏธ๋ฅด ์‚ฌ์—์ด๋“œ ์ด๋ผ๋ฐ”๋‹ˆ ์ฃผ์œ ์—” ์ด๋ž€ ๋Œ€์‚ฌ๋Š” ์ด๋ฒˆ ๊ณต๊ฒฉ๊ณผ ๊ด€๋ จํ•ด โ€œ๊ตญ์ œ๋ฒ•์— ๋”ฐ๋ฅธ ์ž์œ„๊ถŒ์„ ํ–‰์‚ฌํ•  ์ˆ˜๋ฐ–์— ์—†์—ˆ๋˜ ์ƒํ™ฉโ€์ด๋ผ๋ฉด์„œ โ€œ์ด๋ž€์€ ์ค‘๋™์ง€์—ญ ๊ธด์žฅ์„ ๊ณ ์กฐ์‹œํ‚ค๊ฑฐ๋‚˜ ์ „์Ÿ์„ ์ถ”๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ผ๊ด€๋œ ์ž…์žฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹คโ€๊ณ  ๋งํ–ˆ๋‹ค. ์ด๋ฒˆ ๊ณต๊ฒฉ์€ ์ง€๋‚œ 1์ผ ์ด์Šค๋ผ์—˜์ด ์ฃผ์‹œ๋ฆฌ์•„ ์ด๋ž€ ์˜์‚ฌ๊ด€์„ ๊ณต๊ฒฉํ•œ ๋ฐ ๋Œ€ํ•œ ๋Œ€์‘์ด์—ˆ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•œ ๊ฒƒ์ด๋‹ค. ์ด๋ผ๋ฐ”๋‹ˆ ๋Œ€์‚ฌ๋Š” โ€œ์ด์Šค๋ผ์—˜ ์ •๊ถŒ์˜ ์ถ”๊ฐ€์ ์ธ ๊ตฐ์‚ฌ์  ๋„๋ฐœ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•˜๊ณ ์ž ํ•œ๋‹คโ€๋ฉฐ โ€œ์ด๋ž€์€ ๊ตญ๋ฏผ๊ณผ ๊ตญ๊ฐ€์•ˆ๋ณด, ์ฃผ๊ถŒ, ์˜ํ† ๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๋‹จํ˜ธํ•œ ๊ฒฐ์˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ์„ ๋‹จ์–ธํ•œ๋‹คโ€๊ณ  ๋งํ–ˆ๋‹ค. ๊ธธ๋ผ๋“œ ์—๋ฅด๋‹จ ์ฃผ์œ ์—” ์ด์Šค๋ผ์—˜ ๋Œ€์‚ฌ๋Š” โ€œ์ด๋ž€์˜ ๊ตฐ๋Œ€๋Š” ํ•˜๋งˆ์Šค์™€ ํ—ค์ฆˆ๋ณผ๋ผ, ํ›„ํ‹ฐ, ํ˜๋ช…์ˆ˜๋น„๋Œ€, ๊ทธ ์™ธ ์•ผ๋งŒ์ ์ธ ์ง€ํ•˜๋””์ŠคํŠธ(์ด์Šฌ๋žŒ ์„ฑ์ „์ฃผ์˜์ž)๋ฅผ ํฌํ•จํ•œ๋‹คโ€๋ฉฐ โ€œ์ด์Šค๋ผ์—˜์˜ ๋ฐฉ๊ณต์‹œ์Šคํ…œ์ด ์šฐ์›”ํ•œ ๊ฒƒ์œผ๋กœ ์ฆ๋ช…๋๋‹ค๊ณ  ํ•ด์„œ ์ด๋ž€์˜ ์ž”ํ˜นํ•œ ๊ณต๊ฒฉ์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ด๋ž€์€ ๋”๋Š” ๋Œ€๋ฆฌ์ž ๋’ค์— ์ˆจ์ง€ ๋ง์•„์•ผ ํ•œ๋‹คโ€๊ณ  ๋งํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ โ€œ์•ˆ๋ณด๋ฆฌ๋Š” ํ–‰๋™์— ๋‚˜์„œ์•ผ ํ•œ๋‹คโ€๋ฉฐ โ€œ์ด๋ž€์˜ ํ…Œ๋Ÿฌ ํ–‰์œ„๋ฅผ ๋น„๋‚œํ•˜๊ณ  ์Šค๋ƒ…๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜(ํ•ตํ˜‘์ • ๋“ฑ์„ ์œ„๋ฐ˜ํ–ˆ์„ ๋•Œ ์ œ์žฌ๋ฅผ ๋ถ€ํ™œํ•˜๋Š” ๊ฒƒ)์„ ์ž‘๋™ํ•ด ์ด๋ž€ ํ˜๋ช…์ˆ˜๋น„๋Œ€๋ฅผ ํ…Œ๋Ÿฌ๋‹จ์ฒด๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹คโ€๊ณ  ์•ˆ๋ณด๋ฆฌ ์ œ์žฌ๋ฅผ ์ด‰๊ตฌํ–ˆ๋‹ค. ๊ตญ์ œ์‚ฌํšŒ๋Š” ์ค‘๋™์ง€์—ญ์˜ ํ™•์ „์„ ์šฐ๋ คํ•˜๋ฉด์„œ ์ž์ œ๋ฅผ ์š”์ฒญํ–ˆ๋‹ค. ์•ˆํ† ๋‹ˆ์šฐ ๊ตฌํ…Œํ์Šค ์œ ์—” ์‚ฌ๋ฌด์ด์žฅ์€ ์ด๋‚  โ€œ์ค‘๋™ ์ฃผ๋ฏผ๋“ค์€ ํŒŒ๊ดด์ ์ธ ์ „๋ฉด์ „์˜ ์‹ค์ œ ์œ„ํ—˜์— ์ง๋ฉดํ•˜๊ณ  ์žˆ๋‹คโ€๋ฉฐ โ€œ์ง€๊ธˆ์€ ์ง„์ •ํ•˜๊ณ  ๊ธด์žฅ์„ ์™„ํ™”ํ•˜๋ฉด์„œ ์ตœ๋Œ€ํ•œ ์ž์ œํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ธฐโ€๋ผ๊ณ  ๋งํ–ˆ๋‹ค. ๋กœ๋ฒ„ํŠธ ์šฐ๋“œ ์ฃผ์œ ์—” ๋ฏธ๊ตญ ์ฐจ์„๋Œ€์‚ฌ๋Š” โ€œ์•ˆ๋ณด๋ฆฌ๋Š” ๋ช…๋ฐฑํžˆ ์ด๋ž€์˜ ๊ณต๊ฒฉ ํ–‰์œ„๋ฅผ ๋น„๋‚œํ•˜๊ณ  ์ด๋ž€ ๋ฐ ์ด๋ž€์˜ ํŒŒํŠธ๋„ˆ์™€ ๋Œ€๋ฆฌ์ž๋“ค์—๊ฒŒ ๊ณต๊ฒฉ์„ ๋ฉˆ์ถฐ์•ผ ํ•œ๋‹ค๊ณ  ์ด‰๊ตฌํ•ด์•ผ ํ•œ๋‹คโ€๊ณ  ๋งํ–ˆ๋‹ค. ๋ฐ˜๋ฉด ์ด๋ž€, ์‹œ๋ฆฌ์•„, ๋Ÿฌ์‹œ์•„, ์ค‘๊ตญ ๋Œ€์‚ฌ๋Š” ์ด์Šค๋ผ์—˜์˜ ๋ฏธ์‚ฌ์ผยท๋“œ๋ก  ์š”๊ฒฉ์„ ๋„์šด ๋ฏธ๊ตญ ๋“ฑ ๋™๋งน๊ตญ์„ ๋น„ํŒํ–ˆ๋‹ค. ๋˜ ์ด์Šค๋ผ์—˜์ด ์‹œ๋ฆฌ์•„ ์ฃผ์žฌ ์ด๋ž€ ์˜์‚ฌ๊ด€์„ ๊ณต๊ฒฉํ•œ ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋ฏธ๊ตญ ๋“ฑ์ด ๋น„ํŒํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ ๋„ ์ง€์ ํ–ˆ๋‹ค. ์ด๋‚  ์•ˆ๋ณด๋ฆฌ๋Š” ์ด๋ž€์˜ ๊ณต๊ฒฉ์„ ๊ทœํƒ„ํ•˜๋Š” ๊ณต๋™์„ฑ๋ช…์„ ๋ฐœํ‘œํ•˜๊ฑฐ๋‚˜ ์ œ์žฌ๋ฅผ ๊ฐ€ํ•˜๋Š” ๋“ฑ ์กฐ์น˜ ์—†์ด ์ข…๋ฃŒ๋๋‹ค."
prompt = prompt_template.format(passage)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs,
                        max_new_tokens=512,
                        temperature=1,
                        top_p=0.95,
                        do_sample=True,
                        use_cache=False)
print(tokenizer.decode(outputs[0]))
- 14์ผ(ํ˜„์ง€์‹œ๊ฐ„) ์œ ์—” ์•ˆ์ „๋ณด์žฅ์ด์‚ฌํšŒ๊ฐ€ ์ด์Šค๋ผ์—˜์˜ ์š”์ฒญ์œผ๋กœ ๊ธด๊ธ‰ํšŒ์˜๋ฅผ ์†Œ์ง‘ํ•˜์—ฌ ์ด๋ž€๊ณผ ์ด์Šค๋ผ์—˜ ๋Œ€์‚ฌ๊ฐ€ ์„œ๋กœ๋ฅผ ๊ฒจ๋ƒฅํ•ด ์ค‘๋™ ํ‰ํ™”์˜ ์œ„ํ˜‘์ด๋ผ๊ณ  ๊ฐ•ํ•˜๊ฒŒ ๋น„๋‚œํ•˜๋Š” ๋…ผ์˜๋ฅผ ๋ฒŒ์˜€์œผ๋‚˜, ๊ตญ์ œ์‚ฌํšŒ๋Š” ์ค‘๋™์ง€์—ญ์˜ ํ™•์ „์„ ์šฐ๋ คํ•˜๋ฉฐ ๋‹น์‚ฌ๊ตญ๋“ค์˜ ์ž์ œ๋ฅผ ์ด‰๊ตฌํ•˜์˜€์ง€๋งŒ ๊ฒฐ๊ตญ ์กฐ์น˜ ์—†์ด ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Downloads last month
24
Inference Examples
Inference API (serverless) does not yet support peft models for this pipeline type.

Adapter for