Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
pipeline_tag: text-generation
|
4 |
+
language:
|
5 |
+
- ko
|
6 |
+
---
|
7 |
+
|
8 |
+
# Kor-Gemma-2B
|
9 |
+
|
10 |
+
> Update @ 2024.05.10: First release of gemma-ko
|
11 |
+
<!-- Provide a quick summary of what the model is/does. -->
|
12 |
+
|
13 |
+
This model card corresponds to the 2B-it version of the **Gemma-Ko** model.
|
14 |
+
|
15 |
+
**Resources and Technical Documentation**:
|
16 |
+
|
17 |
+
* [Original Gemma-2b-it](https://huggingface.co/google/gemma-2b-it)
|
18 |
+
|
19 |
+
**Citation**
|
20 |
+
|
21 |
+
```bibtex
|
22 |
+
@misc {gemma-summary-v01 ,
|
23 |
+
author = { {frcp,nebchi,pepperonipizza} },
|
24 |
+
title = { gemma-summary-v01 },
|
25 |
+
year = 2024,
|
26 |
+
url = { https://huggingface.co/cpm-ai/gemma-ko-v01 },
|
27 |
+
publisher = { Hugging Face }
|
28 |
+
}
|
29 |
+
```
|
30 |
+
|
31 |
+
**Model Developers**: frcp, nebchi, pepperonipizza
|
32 |
+
|
33 |
+
## Model Information
|
34 |
+
|
35 |
+
I trained a language model using a dataset of 363,000 Korean text samples.
|
36 |
+
|
37 |
+
### Description
|
38 |
+
It has been trained with a large amount of Korean tokens compared to other LLMs, enabling it to generate high-quality Korean text.
|
39 |
+
Additionally, it shows improved performance with less data compared to other LLM models.
|
40 |
+
|
41 |
+
|
42 |
+
#### Running the model on a single / multi GPU
|
43 |
+
|
44 |
+
```python
|
45 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
46 |
+
|
47 |
+
tokenizer = AutoTokenizer.from_pretrained("cpm-ai/gemma-ko-v01")
|
48 |
+
model = AutoModelForCausalLM.from_pretrained("cpm-ai/gemma-ko-v01", device_map="auto")
|
49 |
+
|
50 |
+
prompt = """μμ½ ν λ¬Έμ₯ :
|
51 |
+
μμ½ ν λ¬Έμ₯ :
|
52 |
+
[μλ
νμΈμ μλ°©μ‘ ν λ‘ μΉ΄νμ
λλ€.
|
53 |
+
μ€λ μ±νμ μ μΌ μλ°©μ‘μΌλ‘ μ§νν΄ λλ¦¬κ³ μλλ°μ.
|
54 |
+
νΉμ§μΌλ‘ μ ν¬κ° λΆμκΈ°λ λ§μ΄ λ°κΏλ΄€κ³ λ μ€λμ μ¬λμ κ³μ μ΄λλ§νΌ λλμ λν΄μ μ΄μΌκΈ° ν΄λ³ΌκΉ ν©λλ€.
|
55 |
+
νμ μν μμ λλμ λ μ€μ²νκ³ κ³μλ λ€ λΆ λͺ¨μκ³ μ΄μΌκΈ° λλ 보λλ‘ νκ² μ΅λλ€ κ·ΈλΌ λ€ λΆ μκ°ν΄ λλ¦¬κ² μ΅λλ€ λ€μ΄μ€μμ£ .
|
56 |
+
λ€ μ€λ μλ°©μ‘ ν λ‘ μΉ΄νμμλ λλμ μλ―Έμ λν΄μ μ΄μΌκΈ° λλ λ³ΌκΉ νλλ°μ.
|
57 |
+
μ΄ μ μΌμ μ΄μ λ΄μΌμ΄λ©΄ ν¬λ¦¬μ€λ§μ€κ³ μ§κΈ μν μ μμΌ λΆ μ§λκ³ μκ±°λ μ μ°νν΄λ‘μ€ ν μλ²μ§κ° μλΉν λ°λΉ μ§ κ·Έλ° μκ°μ
λλ€.
|
58 |
+
μ΄λ΄ λ κ°μ‘±κ³Ό λλ μΉμ§λ€κ³Ό ν¨κ» 보λ΄μ
μΌ λ μ΄ κ·ν μκ° λ΄ μ£Όμ
μ μ€μ λ€ λΆ λ¨Όμ μκ°ν΄ λ리λλ‘ νκ² μ΅λλ€.
|
59 |
+
λ¨Όμ &party-name1&μ μμμ
λλ€.
|
60 |
+
μλ
νμΈμ.
|
61 |
+
κ·Έλ¦¬κ³ μμ€λνκ΅ μ¬νμ¬μ
νκ³Όμ κ΅μμ
λλ€.
|
62 |
+
μλ
νμΈμ.
|
63 |
+
κ·Έλ¦¬κ³ μλ¦λ€μ΄ μ¬λ¨μ μμμ΄μ¬ μ
λλ€.
|
64 |
+
μλ
νμΈμ.
|
65 |
+
κ·Έλ¦¬κ³ μ¬λμ μ₯κΈ°κΈ°μ¦μ΄λλ³ΈλΆμ κ΅μ₯λμ΄μλλ€.
|
66 |
+
μλ
νμΈμ.
|
67 |
+
μ΄λ κ² λμ μ£Όμ
μ λ€μ νλ² κ°μ¬λ리ꡬμ.
|
68 |
+
κ·Έλ¦¬κ³ μ€λ νΉλ³ν μ ν¬ ν λ‘ μΉ΄νμλ μ©μ°κ΅¬ μμλ΄μ¬ μΌν°μμ λ΄μ¬νλμ λ νμλ λΆλ€μ΄ λμμ£Όμ
¨μ΅λλ€.
|
69 |
+
μ€λ λμμ£Όμ λΆλ€ λ€μ νλ² νμνκ³ μ§μ¬μΌλ‘ κ°μ¬λ립λλ€.
|
70 |
+
λ μ΄λ° μκΈ°λ₯Ό νμ£ μ°λ¦¬μ¬νμλ μμ§λ 곡λ체 μμμ΄ λΆμ‘±νλ€ λλμ μμμ΄ λΆμ‘±νλ€ κΈ°λΆ λ¬Ένκ° μ μ°©λΌ μμ§ μλ€ κ·Έλ° μκΈ°λ€μ λ§μ΄ νλλ°μ.
|
71 |
+
μ΄λ»κ² νλ©΄ κ·Έλ¬ν λ°λ»ν μ°λ¦¬λ€μ λ§μμ λ ν€μ°κ³ λ λλ μ μκ³ λ κ·Έλ° κ²μ μ΄λ ν μ λμ μ₯μΉλ‘ μ 보μν΄ λκ° μ μμκΉ
|
72 |
+
κ·Έλ° λ¬Έμ λ€μ νλνλ μ΄μΌκΈ° λλ 보λλ‘ νκ² μ΅λλ€ λλμ΄ λλ체 μ νμνμ§ κ·Έλ¦¬κ³ μλ‘ μ μΈ μκΈ° κ² μ£ .
|
73 |
+
κ·Έκ²λΆν° νλ² μκΈ°λ₯Ό νλ² ν΄ λ³ΌκΉ ν©λλ€ λ¨Όμ λ³νΈμ¬λκ»μ μκΈ°ν΄ μ£Όμκ² μ΅λκΉ.
|
74 |
+
μκΈ° ν볡νκΈ° μν΄μμ£ .
|
75 |
+
{laughing} μμ€μ μΌλ‘ λ€λ¦½λλ€.
|
76 |
+
μ¬μ€ κΈ°λΆλΌλ μ§ λλμ΄λΌλ κ² μκΈ° μ£Όλ¨Έλμμ λμ΄ λκ°λκΉ μκΈ°νν
μν΄κ° λ κ² κ°μλ° μ€μ λ‘ λλ λ³Έ μ¬λλ§ μλλ€.
|
77 |
+
{laughing} μ΄κ² μΌλ§λ μκΈ°κ° μ€μ€λ‘ ν볡ν΄μ§λμ§ κ·Έλμ μμ λ λλκΈ°λΆμ€λ
μ΄λΌλ λ§λ μꡬμ.
|
78 |
+
λ μ ν¬λ€μ΄ μ΄λ κ² μμμ λ μ΄λ κ² λͺ¨κΈμ κ΄ν μ±
μ μ½μ΄λ³΄λ©΄
|
79 |
+
κΈ°λΆ ν΄ λ³Έ μ¬λνν
κ°μ λ λ¬λΌκ³ ν΄λΌ μ΄κ² λͺ¨κΈνλ μ¬λμ΄ μ²« λ²μ§Έ μμΉμΌλ‘ μκΈ°ν΄μ.
|
80 |
+
κ·Έ μκΈ°λ λ¬΄μ¨ μκΈ°λλ©΄ ν΄λ³Έ μ¬λμ΄ μ¦κ±°μ°λκΉ λν κ°λ₯μ±μ΄ λ§λ€λ κ±°μ§μ μλ§ μ΄κ±΄ ν΄λ³΄μ
μΌ μ΄κ±° μ κ° μ무리 λ§μλλ €λ μμ©μꡬμ.
|
81 |
+
μ€μ λλ 보μ
μΌ κ·Έ κΈ°μ¨ μ¦κ±°μμ μμκ² λ©λλ€.
|
82 |
+
κ²°κ΅μλ μκΈ°νν
λμμ¨λ€ λΌκ³ νλ κ²μ΄ μμ μ¬λλ€μκ² λ§μ΄ ν½λ°°νλλ° μ₯κΈ°κΈ°μ¦ κ°μ κ²½μ°μλ λ΄κ° κΈ°μ¦μ νλ©΄
|
83 |
+
μ κ·Έκ²μ΄ κ²°κ΅μ λνν
λμμ¨λ€λ κ·Έ μ΄μ κ° λλ νλ©΄ λ΄κ° μΈμ λ μ§ νμκ° λμμ λ
|
84 |
+
μ¬ν μ λ°μ μΌλ‘ κ·Έλ κ² κΈ°μ¦νλ κ·Έ λ¬Ένκ° νμ°λλ©΄ λ΄κ° νμκ° λμ λ κ·Έκ²μ΄ κ²°κ΅ λνν
ννμ΄ λμμ¨λ€ λΌκ³ ν΄μ
|
85 |
+
μ€νμΈ κ°μ κ²½μ°μλ λ°±λ§ λͺ
λΉ μΌμμ¬ λͺ
μΌλ‘ μ μΈκ³μ μΌλ‘ κ°μ₯ λ§μ΄ κΈ°μ¦μ νκ³ μλλ°
|
86 |
+
κ·Έλ° μμμ΄ κ²°κ΅μ λ΄κ² λμμ€λ κ²οΏ½οΏ½οΏ½λ€λΌκ³ νλ μμμ΄ ν½λ°°νκΈ° λλ¬Έμ κ·Έλ κ² λλ€κ³ ν΄μ.
|
87 |
+
λ°±λ§ λͺ
λΉ μΌμμ¬ λͺ
μ΄λΌλ κ²μ μ€μ κΈ°μ¦νλ
|
88 |
+
μ μ«μκ°
|
89 |
+
μμΉκ² μ£ κ·Έκ² μ΄λ£¨μ΄μ§λ €λ©΄ κΈ°μ¦ μμ½μ κ΅μ₯ν λ λ§μ μ¬λλ€μ΄ νκ² λ€μ.
|
90 |
+
]"""
|
91 |
+
formatted_prompt = f"Instruction: {prompt}\n output:"
|
92 |
+
|
93 |
+
outputs = pipe_finetuned(
|
94 |
+
formatted_prompt,
|
95 |
+
# do_sample=True,
|
96 |
+
temperature=0.1,
|
97 |
+
top_k=50,
|
98 |
+
top_p=0.95,
|
99 |
+
repetition_penalty=1.2,
|
100 |
+
add_special_tokens=True,
|
101 |
+
streamer = streamer
|
102 |
+
)
|
103 |
+
|
104 |
+
print(outputs[0]["generated_text"][len(formatted_prompt):])
|
105 |
+
```
|
106 |
+
|
107 |
+
### results
|
108 |
+
```python
|
109 |
+
μ λͺ©: λλμ μλ―Έμ νμμ±μ λν ν λ‘
|
110 |
+
|
111 |
+
1. λλμ μλ―Έμ μ€μμ±
|
112 |
+
- λλμ νΉμ λ μ§μ, νΉμ μ¬λλ€κ³Ό ν¨κ» νλ μκ°μ μλ―Ένλ€.
|
113 |
+
- νΉλ³ν, ν¬λ¦¬μ€λ§μ€μ μ°νν΄λ‘μ€λ₯Ό ν¬ν¨ν μΌλΆ λ μ§μλ κ°μ‘±κ³Ό μΉμ§λ€κ³Ό ν¨κ» λλμ ν μ μλ€.
|
114 |
+
- λλμ κ°μ‘±κ³Ό μΉμ§λ€κ³Ό ν¨κ» 보λ΄λ μκ°μ΄λΌλ μ μμ μ€μνλ€.
|
115 |
+
|
116 |
+
2. λλμ νμμ±
|
117 |
+
- 곡λ체 μμμ΄ λΆμ‘±νλ©°, κΈ°λΆ λ¬Ένκ° μ μ°©λμ§ μμλ€.
|
118 |
+
- λλμ μμμ΄ λΆμ‘±νμ¬, κΈ°λΆ λ¬Ένκ° μ 보μλμ§ μμλ€.
|
119 |
+
|
120 |
+
3. λλμ μλ‘ μ μκΈ°
|
121 |
+
- λλμ κΈ°λΆλ‘λΆν° μ»λ κ²μ΄ μλλΌ, κΈ°λΆλ₯Ό ν΅ν΄ μ»λ κ²μ΄ μλλΌ, κΈ°λΆλ₯Ό ν΅ν΄ μ»λ κ²μ΄ μλλΌ, κΈ°λΆλ₯Ό ν΅ν΄ μ»λ κ²μ΄λΌλ μμμ΄ νμνλ€.
|
122 |
+
- λλμ μμμ ν€μ°κ³ λλ μ μλλ‘ μ λμ μ₯μΉκ° νμνλ€.
|
123 |
+
|
124 |
+
4. λλμ μμμ λν λ
Όμ
|
125 |
+
- λ³νΈμ¬λ λλμ΄ μκΈ° ν볡μ μν κ²μ΄λΌλ μ견μ μ μνλ€.
|
126 |
+
- λλμ΄ κΈ°λΆλ‘λΆν° μ»λ κ²μ΄λΌλ μ견λ μ μλμλ€.
|
127 |
+
- λλμ΄ κ²°κ΅ νμκ° λλ κ²μ΄λΌλ μ견λ μ μλμλ€.
|
128 |
+
```
|
129 |
+
|
130 |
+
### Inputs and outputs
|
131 |
+
|
132 |
+
* **Input:** Text string, such as a question, a prompt, or a document to be summarized.
|
133 |
+
* **Output:** Generated Korea text in response to the input, such an answer to a question, or a summary of a minutes.
|
134 |
+
|
135 |
+
### Software
|
136 |
+
|
137 |
+
Training was done using QLoRA
|