-
Notifications
You must be signed in to change notification settings - Fork 1
/
why_llm.qmd
261 lines (149 loc) · 9.37 KB
/
why_llm.qmd
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
---
title: "chatGPT"
subtitle: "왜 거대언어모형인가?"
author:
- name: 이광춘
url: https://www.linkedin.com/in/kwangchunlee/
affiliation: 한국 R 사용자회
affiliation-url: https://github.com/bit2r
title-block-banner: true
#title-block-banner: "#562457"
format:
html:
css: css/quarto.css
theme: flatly
code-fold: false
toc: true
toc-depth: 3
toc-title: 목차
number-sections: true
highlight-style: github
self-contained: false
filters:
- lightbox
lightbox: auto
knitr:
opts_chunk:
message: false
warning: false
collapse: true
comment: "#>"
R.options:
knitr.graphics.auto_pdf: true
editor_options:
chunk_output_type: console
bibliography: bibliography.bib
link-citations: yes
csl: apa-single-spaced.csl
---
![](images/tech_giant.png)
# 들어가며
**GPT-3(Generative Pre-trained Transformer 3)**와 같은 거대 언어 모델은 인간과 유사한 언어를 처리하고 생성할 수 있기 때문에 이 시대에 중요한 역할을 한다. 이를 통해 자연어 처리, 챗봇, 언어 번역, 콘텐츠 제작, 코딩 등 다양한 애플리케이션에 수많은 가능성을 열었다는 평가를 받고 있다.
거대 언어 모델이 중요한 몇 가지 이유를 꼽으면 다음과 같다.
- **자연어 처리(Natural language processing)**: GPT-3와 같은 거대 언어 모델은 대량의 텍스트 데이터를 처리할 수 있고 언어의 문맥과 의미를 이해할 수 있어 감정 분석, 언어 번역, 텍스트 분류와 같은 자연어 처리 작업을 수행할 수 있다.
- **챗봇(Chatbot)**: 거대 언어 모델을 사용하여 자연어 쿼리를 이해하고 응답할 수 있는 대화형 대리인(챗봇)를 만들 수 있다. 이러한 챗봇은 고객 지원, 가상 비서 및 기타 다양한 애플리케이션에서 사용할 수 있다.
- **언어 번역(Language translation)**: 거대 언어 모델은 여러 언어에 대해 학습할 수 있으며 고품질 언어 번역을 수행한다. 이는 관광, 전자상거래, 국제 무역 등 다양한 산업에서 유용하게 사용될 수 있다.
- **콘텐츠 생성(Content creation)**: 거대 언어 모델은 기사, 요약, 시 등 사람과 유사한 텍스트 콘텐츠를 생성할 수 있다. 이는 저널리즘, 콘텐츠 제작, 광고 등 다양한 산업에서 활용할 수 있다.
- **코딩(Coding)**: GPT-3는 소프트웨어 개발 및 자동화에 광범위한 영향을 미칠 수 있는 컴퓨터 코드를 생성할 수 있는 능력을 입증했다.
요약하면, 거대 언어 모델은 우리가 기계와 상호작용하고 작업을 수행하는 방식을 혁신할 수 있는 잠재력을 가지고 있어 우리 시대에 중요한 기술이 될 것임은 자명하다.
:::{.panel-tabset}
## 2019년
![[@sanh2019distilbert]](images/LLM_2019.png)
## 2021년
![[Efficient Natural Language Processing](https://hanlab.mit.edu/projects/efficientnlp_old/)](images/LLM_2021.png)
## 2022년
![[langcon 2023 by 신정규](https://songys.github.io/2023Langcon/)(images/LLM_langcon2023.png)
:::
# 모형크기
question-answering tasks (open-domain closed-book variant), cloze and sentence-completion tasks, Winograd-style tasks, in-context reading comprehension tasks, common-sense reasoning tasks, SuperGLUE tasks, and natural language inference tasks가 포함된 총 29개 작업 중 28개 영역에서 PaLM 540B가 이전 거대 언어모형 GLaM, GPT-3, Megatron-Turing NLG, Gopher, Chinchilla, LaMDA 을 가볍게 능가했다.
[[Sharan Narang and Aakanksha Chowdhery (APRIL 04, 2022), "Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance", Software Engineers, Google Research](https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html)]{.aside}
:::{.panel-tabset}
## LLM 진화
![](images/LLM_tree.gif)
## 80억 패러미터
![](images/LLM_tree_8_billion.png)
## 400억
![](images/LLM_tree_40_billion.png)
## 640억
![](images/LLM_tree_62_billion.png)
## 5,400억
![](images/LLM_tree_540_billion.png)
## 성능
![](images/LLM_tree_performance.png)
:::
# 거대언어모형 성능
자연어 처리(NLP) 및 머신 러닝 분야의 여러 발전으로 인해 GPT-3와 같은 대규모 언어 모델의 성능이 이전 모델보다 향상되었다. 주요 원인으로 다음을 꼽을 수 있다.
- **규모(Scale)**: 대규모 언어 모델은 방대한 양의 텍스트 데이터로 학습되어 언어의 더 많은 뉘앙스를 포착하고 문맥을 더 잘 이해할 수 있다. GPT-3는 45테라바이트가 넘는 텍스트 데이터셋으로 학습되었다고 알려져 지금까지 사전 학습된 언어 모델 중 가장 큰 규모를 갖고 있다.
- **아키텍처(Architecture)**: GPT-3는 병렬 처리가 가능한 트랜스포머(Transformer) 기반 아키텍처를 사용하여 학습 시간을 단축하고 성능을 향상시켰다.
- **사전 학습(Pre-training)**: 대규모 언어 모델은 방대한 양의 텍스트 데이터로 사전 학습되어 다양한 작업에 적용할 수 있는 일반적인 언어 패턴과 관계를 학습할 수 있다. GPT-3는 비지도 학습을 사용하여 사전 학습되므로 특정 작업을 염두에 두지 않고 원시 텍스트 데이터에서 학습했다.
- **미세 조정(Fine-tuning)**: 언어 번역이나 텍스트 분류와 같은 특정 작업을 위해 대규모 언어 모델을 미세 조정(Fine-tuning) 작업을 수행한다. 이 과정에는 해당 작업에 특화된 소규모 데이터셋로 모델을 추가 학습시켜 성능을 더욱 향상시킨다.
- **전이 학습(Transfer learning)**: 대규모 언어 모델은 한 작업에서 학습한 지식을 다른 작업으로 전이시킬 수 있다. 즉, 언어 번역과 같은 한 작업에서 학습된 모델을 더 작은 데이터셋을 사용하여 감정 분석과 같은 다른 작업에 맞게 추가 학습작업(Fine-tuning)을 시킬 수 있다.
요약하면, 대규모 언어 모델의 성능은 규모, 아키텍처, 사전 학습, 미세 조정 및 전이 학습의 발전으로 인해 이전 모델보다 더 우수하다. 이러한 발전 덕분에 대규모 언어 모델은 다양한 언어 작업에서 최첨단 성능을 달성할 수 있게 되어 자연어 처리 및 머신 러닝 분야에서 강력한 도구가 된 것이다.
![[@wei2022emergent]](images/LLM_few_shot.png)
# 수학
[@lewkowycz2022solving]{.aside}
:::{.panel-tabset}
## 미네르바 LM
![](images/math_minerva.png)
## 손으로 풀기
![](images/LLM_hand.jpg){width=50%}
## 시각화
```{r}
library(tidyverse)
given_line <- function(x) 10 + 4 * x
solve_line <- function(x) -10 + 4 *x
ggplot() +
geom_point(aes(x = 5, y = 10), size = 3) +
geom_function(fun = given_line, color = "blue", size = 1.5) +
geom_function(fun = solve_line, color = "red", size = 1.5, alpha = 0.5) +
theme_classic() +
scale_x_continuous(limits = c(-7, 7), breaks = seq(-7, 7, 1)) +
scale_y_continuous(limits = c(-20, 20), breaks = seq(-20, 20, 1)) +
geom_vline(xintercept = 0) +
geom_hline(yintercept = 0)
```
## Sympy 해법
```{python}
from sympy import *
x, y, b = symbols('x y b')
given_eq = y - (4*x + 10)
parallel_eq = y - (4*x + b)
intercept_eq = parallel_eq.subs([(x, 5), (y, 10)])
solveset(Eq(intercept_eq, 0), b)
```
:::
# 다양한 사례 (PaLM)
5,400 억 패러미터를 장착한 Pathways Language Model (PaLM)의 성능을 실감해보자.
:::{.panel-tabset}
## 다양한 기능
![](images/PaLM_overview.gif)
## 추론
추론(Reasoning)
![](images/PaLM_reasoning.png)
## 코딩
코딩(Code Generation)
![](images/PaLM_coding.gif)
:::
# 개발비
[[Estimating 🌴PaLM's training cost](https://blog.heim.xyz/palm-training-cost/)]{.aside}
언어 모형 개발은 2010년 이후 개발비용이 급격히 증가하고 있으며 그 추세는 상상을 초월한다.
:::{.panel-tabset}
## Our World in Data
<iframe src="https://ourworldindata.org/grapher/artificial-intelligence-training-computation?yScale=linear&time=2017-06-12..2022-07-01" loading="lazy" style="width: 100%; height: 600px; border: 0px none;"></iframe>
## Lennart Heim
<iframe src="https://ourworldindata.org/grapher/artificial-intelligence-training-computation?yScale=linear&time=earliest..latest&country=~PaLM+%28540B%29" loading="lazy" style="width: 100%; height: 600px; border: 0px none;"></iframe>
:::
# 생성모형의 부작용
생성 AI를 통해 인간이 생성한 데이터와 기계가 생성한 데이터가 무작위로 섞인
지금까지 경험하지 못한 세상이 출현하고 있다.
즉, 생성 AI 모형에서 이미지, 텍스트, 동영상 등 무수히 많은 데이터가 인터넷에 공개 및 공유될 것이며
기계학습 및 딥러닝 생성모형는 결국 실제 데이터와 기계가 생성한 데이터를 입력값으로
인공지능 모형을 생성하게 된다.
하지만 이런 경우 과연 AI 모형은 어떤 특성을 갖게 될 것인가?
데이터 증강(Data Augmentation)처럼 더 좋은 성능을 갖는 AI 모형이 될 것이가 아니면 그 반대의 모습을 가지게 될 것인가? 논문[@hataya2022will]에서는 부정적인 효과도 있다고 주장하고 있다.
::: {.panel-tabset}
## 현재 상황
![](images/training_data_corrupt.png){height=300px, width=150px}
## 기계오염된 데이터
![기계생성 데이터 사용하여 나온 결과물](images/corrupt_images.png)
:::