Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,89 @@
|
|
1 |
---
|
2 |
license: mit
|
|
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: mit
|
3 |
+
widget:
|
4 |
+
- text: "오늘 아침 정부는 발표를 통해"
|
5 |
+
- text: "0 : 아 배고프다\n"
|
6 |
---
|
7 |
+
PoC를 위해 학습한 작은 GPT 모델
|
8 |
+
|
9 |
+
## 모델 구성
|
10 |
+
- GPT-Neo-X, Pytorch
|
11 |
+
- 2 Layers, 512 hidden dim, 2048 intermediate, 8 heads, 8000 vocab size
|
12 |
+
- 512 max_seq_len
|
13 |
+
- 모델 크기: 13M
|
14 |
+
|
15 |
+
## 학습 데이터셋
|
16 |
+
- AIHub SNS 대화(747MB)
|
17 |
+
- AIHub 구어체(435MB)
|
18 |
+
- 한국어 위키(773MB)
|
19 |
+
- 나무위키(5.8GB)
|
20 |
+
- 국립국어원 메신저 대화(21MB)
|
21 |
+
|
22 |
+
## 학습 환경 및 하이퍼파라미터
|
23 |
+
- NVIDIA Tesla T4(16GB VRAM)
|
24 |
+
- fp 16, deepspeed stage2
|
25 |
+
- 350000 steps
|
26 |
+
- batch size 32
|
27 |
+
- learning rate 5e-5, linear scheduler
|
28 |
+
- 최종 train loss: 3.684
|
29 |
+
- 학습 코드: https://github.com/HeegyuKim/language-model
|
30 |
+
|
31 |
+
###
|
32 |
+
<details>
|
33 |
+
<summary>deepspeed parameter</summary>
|
34 |
+
<div markdown="1">
|
35 |
+
|
36 |
+
```json
|
37 |
+
{
|
38 |
+
"zero_optimization": {
|
39 |
+
"stage": 2,
|
40 |
+
"offload_optimizer": {
|
41 |
+
"device": "cpu",
|
42 |
+
"pin_memory": true
|
43 |
+
},
|
44 |
+
"allgather_partitions": true,
|
45 |
+
"allgather_bucket_size": 5e8,
|
46 |
+
"reduce_scatter": true,
|
47 |
+
"reduce_bucket_size": 5e8,
|
48 |
+
"overlap_comm": true,
|
49 |
+
"contiguous_gradients": true
|
50 |
+
},
|
51 |
+
"train_micro_batch_size_per_gpu": "auto",
|
52 |
+
"train_batch_size": "auto",
|
53 |
+
"steps_per_print": 1000
|
54 |
+
}
|
55 |
+
```
|
56 |
+
|
57 |
+
</div>
|
58 |
+
</details>
|
59 |
+
|
60 |
+
### example
|
61 |
+
```python
|
62 |
+
from transformers import pipeline
|
63 |
+
|
64 |
+
generator = pipeline('text-generation', model='heegyu/kogpt-neox-tiny')
|
65 |
+
|
66 |
+
def generate(prefix: str):
|
67 |
+
print(generator(prefix, do_sample=True, top_p=0.6, repetition_penalty=1.4, max_length=128, penalty_alpha=0.6)[0]["generated_text"])
|
68 |
+
|
69 |
+
generate("0 : 만약 오늘이 ")
|
70 |
+
generate("오늘 정부가 발표한 내용에 따르면")
|
71 |
+
generate("수학이란 학자들의 정의에 따라")
|
72 |
+
generate("영상 보는데 너무 웃겨 ")
|
73 |
+
```
|
74 |
+
실행 결과
|
75 |
+
```
|
76 |
+
0 : 만약 오늘이 #@이름#가 먼저 자는거면 또 자는건데ㅋ
|
77 |
+
1 : ㅇㄷㆍ_==
|
78 |
+
2 : 아까 아침에 일어났어?!!
|
79 |
+
3 : 아니아니 근데 이따 시간표가 끝날때까지 잤지않게 일주일동안 계속 잠들었엉.. 나도 지금 일어났는데, 너무 늦을듯해. 그러다 다시 일어나서 다행이다
|
80 |
+
4 : 어차피 2:30분에 출발할것같아요~
|
81 |
+
5 : 이제 곧 일어낫어요
|
82 |
+
오늘 정부가 발표한 내용에 따르면, 한참 여부는 "한숨이 살릴 수 있는 게 무엇인가"라는 질문에 대해 말할 것도 없다. 하지만 그건 바로 이러한 문제 때문일 것이다."
|
83 |
+
실제로 해당 기사에서 나온 바 있다. 실제로 당시 한국에서 이게 사실이 아니라고 밝혔다는 건데도 불구하고 말이다. 기사화되기는 했는데 '한국어'의 경우에도 논란이 있었다. 사실 이 부분만 언급되어있고, 대한민국은 무조건 비난을 하는 것이 아니라 본인의 실수를 저지른다는 것인데 반해 유튜브 채널의 영상에서는 그냥 저런 댓글이 올라오
|
84 |
+
수학이란 학자들의 정의에 따라 이 교과서에서 교육하는 경우가 많은데, 그 이유는 교수들(실제로 학생들은 공부도 하교할 수 있는 등)을 학교로 삼아 강의실에서 듣기 때문이다.
|
85 |
+
이 학교의 교사들이 '학교'를 선택한 것은 아니지만 교사가 "학생들의"라는 뜻이다."라고 한다. 하지만 이쪽은 교사와 함께 한 명씩 입학식 전부터 교사의 인생들을 시험해보고 싶다는 의미다. 또한 수학여행에서는 가르칠 수도 있고 수학여행을 갔거나 전공 과목으로 졸업하고 교사는 다른
|
86 |
+
영상 보는데 너무 웃겨 #@기타#웃기네
|
87 |
+
0 : ㅋㅌㄱㆍ이별명인듯
|
88 |
+
1 : ㅠㅜ그렇지뭐? 아빠는 아니고? 왜케 많음... 나도 그럴수가 없어.. 내가 말한건데 ㅎ,, #@이름#씨에스나게놀아주까봐 어제부터 내맘대로해달라햇어 그래서 우리집에서 안쓰럽거든 근데 진짜 많이해서 걱정하지말라고 해줬으면좋
|
89 |
+
```
|