File size: 6,577 Bytes
b35cad3 992d63f 293e191 992d63f b35cad3 cee40f9 b35cad3 cee40f9 c533c9d 05b58a9 c533c9d f547a87 c533c9d f547a87 c533c9d ad582b7 c533c9d 83f0140 c533c9d ad582b7 c533c9d ad582b7 c533c9d 13f8fd7 c533c9d ad582b7 c533c9d 13f8fd7 f547a87 b35cad3 13f8fd7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
---
license: other
library_name: peft
tags:
- trl
- sft
- generated_from_trainer
datasets:
- generator
base_model: google/gemma-7b-it
model-index:
- name: gemma-7b-it-summarization-sft-qlora
results: []
---
# Model Card for Model ID
<!-- Provide a quick summary of what the model is/does. -->
## Model Details
### Base Model
- https://huggingface.co/google/gemma-7b-it
### Model Description
- Korean summarization finetune model based on gemma-7b-it model
- **Finetuned by:** [Kang Seok Ju]
- **Contact:** [brildev7@gmail.com]
### Dataset
- https://huggingface.co/datasets/brildev7/new_summary_by_gpt4
### Inference Examples
```
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
model_id = "brildev7/gemma-7b-it-finetune-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,
device_map="auto",
quantization_config=quantization_config,
torch_dtype=torch.float16,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
tokenizer.padding_side = 'right'
passage = "APΒ·AFP ν΅μ λ± μΈμ μ μμμ μ΅κ³ λΆμλ‘ κΌ½νλ μΈλμ 무μΌμ μλ°λ 릴λΌμ΄μΈμ€ μΈλμ€νΈλ¦¬ νμ₯μ΄ λ§λ΄μλ€μ μ΄νΈν κ²°νΌμμ μ€λΉνλ©΄μ μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ λκ±° μ΄λνλ€κ³ 2μΌ(νμ§μκ°) 보λνλ€. μ΄μ λ°λ₯΄λ©΄ κ·Έμ 28μΈ μλ€μΈ μλνΈ μλ°λλ μ€λ 7μ μΈλ μλΆ κ΅¬μλΌνΈμ£Ό μ λκ°λ₯΄μμ μ€λ μ°μΈμΈ λΌλμΉ΄ λ¨Έμ²νΈμ κ²°νΌν μμ μ΄λ€. λ¨Έμ²νΈλ μΈλ μ μ½νμ¬ μμ½λ₯΄ ν¬μ€μΌμ΄μ μ΅κ³ κ²½μμ(CEO) λ°μ΄λ λ¨Έμ²νΈμ λΈμ΄λ€. μ¬νκ° μ§νλ λ μ¬λμ κ²°νΌμμ λ§ν¬ μ 컀λ²κ·Έ λ©ν CEO, λΉ κ²μ΄μΈ λ§μ΄ν¬λ‘μννΈ(MS) μ°½μ
μ, μλ€λ₯΄ νΌμ°¨μ΄ κ΅¬κΈ CEO, λλλ νΈλΌν μ λ―Έκ΅ λν΅λ Ήμ λΈ μ΄λ°©μΉ΄ νΈλΌν λ± 1200λͺ
μ μ λͺ
μΈμ¬λ€μ΄ μ°Έμν μμ μ΄λ€. λ νμ€ν 리νλμ λ§μ μ¬ λ°μ΄λΉλ λΈλ μΈ λ±μ 곡μ°λ μ΄λ¦΄ μμ μ΄λ€. μΈλμ ν¬λ°μ΄λ 리νλκ° μ΄ νμ¬ μΆμ°λ£λ‘ 900λ§ λ¬λ¬(μ½ 120μ΅ μ)λ₯Ό μ μλ°μλ€κ³ 보λνλ€. μ§λ 6μΌ μμΈκΉν¬λΉμ¦λμ€ν곡μΌν°λ₯Ό ν΅ν΄ μλλ©λ―Έλ¦¬νΈμ°ν©(UAE)μΌλ‘ μΆκ΅νκ³ μλ μ΄μ¬μ© μΌμ±μ μ νμ₯. λ΄μμ€ μ΄λ² κ²°νΌμμ μ°Έμνλ νκ°λ€μ μ κΈμ ν
λ§λ‘ ν μμμ μ
κ³ μλνΈ μλ°λκ° μ΄μνλ λλ¬Ό ꡬ쑰 μΌν°λ₯Ό λ°©λ¬Ένλ€. βμ²μ λ³βμ΄λΌλ λ»μ βλ°νλΌβλ‘ μλ €μ§ μ΄κ³³μ λ©΄μ λ§ μ¬μλμ 4λ°° κ·λͺ¨μΈ 12γ’μ λ¬νλ©° μ½λΌλ¦¬ λ± κ°μ’
λ©Έμ’
μκΈ°μ μλ λλ¬Όλ€μ΄ μμνλ€. λ λ§€μΌ μ΄νΈν νν°κ° μ΄λ¦¬λ©° κ·Έλλ§λ€ μλ‘μ΄ λλ μ€ μ½λμ λ§μΆ° μ·μ μ
μ΄μΌ νλ€. μ΄λ² κ²°νΌμμ μν΄ μλ°λλ νλκ΅ μ¬μ λ¨μ§λ₯Ό μλ‘ κ±΄μ€ μ€μ΄λ©°, κ²°νΌμ νν°μλ§ 2500μ¬ κ°μ μμμ΄ μ 곡λ μμ μ΄λ€. μλ°λλ 2018λ
κ³Ό 2019λ
μλ κ°κ° λΈκ³Ό μλ€μ κ²°νΌμν€λ©΄μ μ΄νΈν νν°λ₯Ό μ΄μ΄ μ μΈκ³μ μ΄λͺ©μ μ§μ€μμΌ°λ€. 2018λ
12μμ μ΄λ¦° λΈ μ΄μ€ μλ°λμ κ²°νΌμ μΆνμ°μλ νλ¬λ¦¬ ν΄λ¦°ν΄ μ λ―Έκ΅ κ΅λ¬΄μ₯κ΄κ³Ό μ΄μ¬μ© μΌμ±μ μ νμ₯, μΈλ‘ μ¬λ² 루νΌνΈ λ¨Έλ
μ μ°¨λ¨ μ μμ€ λ¨Έλ
λ±μ΄ μ°Έμνκ³ , μΆν 곡μ°μ νμ€ν λΉμμΈκ° 맑μλ€. μλ°λ νμ₯μ μ΄ κ²°νΌμμλ§ 1μ΅ λ¬λ¬(μ½ 1336μ΅ μ)λ₯Ό μ¬μ©ν κ²μΌλ‘ μ ν΄μ‘λ€. 2019λ
μ₯λ¨ μμΉ΄μ μλ°λμ κ²°νΌμμλ ν λ λΈλ μ΄ μ μκ΅ μ΄λ¦¬λ₯Ό λΉλ‘―ν΄ μλ€λ₯΄ νΌμ°¨μ΄μ λ°κΈ°λ¬Έ μ μ μμ¬λ¬΄μ΄μ₯ λ±μ΄ μ°Έμνλ€. μ΄μ¬μ© νμ₯μ μ΄ λ μΈλ μ ν΅ μμμ μ
κ³ μ°Έμν μ¬μ§μ΄ 곡κ°λΌ νμ κ° λκΈ°λ νλ€. μλ°λ νμ₯μ μμ μ κ°μ€, μμ νν λΆμΌμμ μ±κ³΅ν΄ λ§μ λμ λͺ¨μκ³ 2016λ
릴λΌμ΄μΈμ€ μ§μ€λ₯Ό μμΈμ μΈλ ν΅μ μμ₯μλ μ§μΆ, μΈλ μμ₯μ μ¬μ€μ νμ νλ©΄μ μμμ μ΅κ³ κ°λΆ λμ΄μ μ¬λΌμ°λ€. κ·Έκ° μμ ν μΈλ λλ°μ΄μ 27μΈ΅μ§λ¦¬ μ ν βμν리μβλ μΈκ³μμ κ°μ₯ λΉμΌ κ°μΈ μ£ΌνμΌλ‘ κΌ½νλ€."
text = f"λ¬Έμ₯: {passage}\nμμ½ :"
device = "cuda"
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs,
max_new_tokens=512,
temperature=1,
use_cache=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
"μΈλμ λΆμ 무μΌμ μλ°λ νμ₯μ΄ μμ μ 28μΈ μλ€ μλνΈ μλ°λμ κ²°νΌμμ μ€λΉνλ©°, μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ μ΄λν΄ λ§ν¬ μ 컀λ²κ·Έ, λΉ κ²μ΄μΈ , μλ€λ₯΄ νΌμ°¨μ΄, λλλ νΈλΌν λΈ μ΄λ°©μΉ΄ νΈλΌν λ±μ΄ μ°Έμν μμ μ."
passage = "κ΅λ―Όμν μ₯μΌ μ μμΈ λ
Έμμ λΉνμμμ₯μ΄ 2μΌ κ³΅μ² νλ½μ λ°λ°ν΄ μ¬μλ λΉμ¬ μμμ λΆμ μ μλ μ€μΈ κ²μΌλ‘ μλ €μ‘λ€. νμ¬ κ²½μ°°κ³Ό λμΉ μνλ€. μ₯ μ μμμ₯μ μ΄λ μ€ν λΉμ¬ μμμ νλ°μ λ‘ μΆμ λλ μ‘체λ₯Ό λͺΈμ λΏλ¦° λ€ μ€λ₯Έμμ λΌμ΄ν°λ₯Ό λ€κ³ κ²½μ°°κ³Ό λμΉ μ€μ΄λ€. μμ κ΅λ―Όμνμ μ΄λ λ
Έμκ°μμ κΉκ΄μ μ μμΈμ μμ, κΉμ κ· νκ΅μ¬μ΄λ²λ³΄μνν νμ₯, νκ²½λ³ μ μμΈμμ₯ λΉμμ€μ₯μ 3μ κ²½μ λ°©μΉ¨μ λ°ννλ€. λ
Έμμμλ κΉμ€νΈ μ μμΈλ κ΅κ°μ¬μ μ°κ΅¬μΌν° μ°κ΅¬μμ΄ μ°μ μΆμ²λλ€. μ₯ μ μμμ₯μ λ
Έμκ° κ³΅μ²μ μ μ²νμΌλ κ²½μ λͺ
λ¨κ³Ό μ°μ κ³΅μ² λͺ
λ¨μ ν¬ν¨λμ§ μμλ€."
text = f"λ¬Έμ₯: {passage}\nμμ½: "
device = "cuda"
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs,
max_new_tokens=1024,
temperature=1,
use_cache=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
"2μΌ κ²½μ°°κ³Ό λμΉ μ€μΈ μ₯μΌ μ μμΈ λ
Έμ λΉνμμμ₯μ΄ κ΅λ―Όμνμ λ
Έμκ° κ²½μ λ°©μΉ¨ λ°νμ κΉμ€νΈ μ μμΈλ κ΅κ°μ¬μ μ°κ΅¬μΌν° μ°κ΅¬μμ μ°μ μΆμ² μ§μ μΌλ‘ κ³΅μ² νλ½μ΄ μμλλ κ°μ΄λ°, μμ μ μν΄ μ¬μλ λΉμ¬ μμμ λΆμ μ μλνκ³ μλ€."
```
|