File size: 6,776 Bytes
b35cad3
992d63f
 
293e191
992d63f
 
 
 
 
 
 
 
 
b35cad3
 
6431de7
b35cad3
6431de7
b35cad3
 
 
cee40f9
 
b35cad3
 
cee40f9
c533c9d
 
05b58a9
c533c9d
f547a87
 
c533c9d
6431de7
 
 
 
 
 
 
 
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
85
86
87
88
89
90
91
---
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: []
---

# gemma-7b-it-summarization-sft-qlora

This model is a fine-tuned version of [google/gemma-7b-it](https://huggingface.co/google/gemma-7b-it) on the generator dataset.


## 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

### Framework versions

- PEFT 0.8.2
- Transformers 4.38.0
- Pytorch 2.2.1+cu121
- Datasets 2.17.0
- Tokenizers 0.15.2

### 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일 κ²½μ°°κ³Ό λŒ€μΉ˜ 쀑인 μž₯일 μ „ μ„œμšΈ 노원 λ‹Ήν˜‘μœ„μ›μž₯이 ꡭ민의힘의 노원갑 κ²½μ„  λ°©μΉ¨ λ°œν‘œμ™€ κΉ€μ€€ν˜Έ μ „ μ„œμšΈλŒ€ κ΅­κ°€μž¬μ •μ—°κ΅¬μ„Όν„° μ—°κ΅¬μ›μ˜ μš°μ„  μΆ”μ²œ μ§€μ •μœΌλ‘œ 곡천 νƒˆλ½μ΄ μ˜ˆμƒλ˜λŠ” κ°€μš΄λ°, μžμ‹ μ„ μœ„ν•΄ μ—¬μ˜λ„ 당사 μ•žμ—μ„œ 뢄신을 μ‹œλ„ν•˜κ³  μžˆλ‹€."
```