heegyu commited on
Commit
b311c5d
1 Parent(s): d22e524

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +86 -0
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
+ ```