Why I read this paper?
์ง๋ ๋ฒ ํฌ์คํธ์์ ๋ค๋ค๋ DistilBERT์ ๋ํด์ ์์ธํ ๊ณต๋ถํ๋ ์ค ์ด DistilBERT์ ๋ฉ์ธ์ด ๋๋ Knowledge Distillation์ ๋ํด์ ๋์ฑ ์์ธํ๊ฒ ์์๋ณด๊ณ ์ Knowledge Distillation์ ๋ํด ์ฒ์์ผ๋ก ์๊ฐํ ์ด ๋ ผ๋ฌธ์ ์ฐพ์ ์ฝ๊ฒ ๋์๋ค. ์ด Knowledge Distillation์ ํ์ฌ ์ ๊ฒฝ๋ง ๋ชจ๋ธ๋ค์ ๋ฌธ์ ์ ์ธ ๊ธ๊ฒฉํ๊ฒ ์ฆ๊ฐํ๋ ํ๋ผ๋ฏธํฐ ์๋ก ์ธํ ๋ชจ๋ธ์ ์ฉ๋ ๋ฌธ์ ๋ฅผ ์ํ์์ผ ์ค ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์กฐ๊ธ์ ์ฑ๋ฅ ์์ค์ด ์๊ธด ํด๋ ํ๊ธฐ์ ์ธ ์๊ฐ ์ ์ฝ์ ๋ณด์ฌ์คฌ๋ค. ๋ณธ ํฌ์คํธ๋ ๊ธฐ์กด์ ํฌ์คํธ๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ์ข ๋ ์ ์ฐํ ์ ๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ ๋ณด๊ณ ์ ํ๋ค. $($๋ ธ๋ ฅ์ ํ์ผ๋, ๊ทธ๋ ์ง ์์ ์๋ ์์ต๋๋ค~ ^^$)$
The overview of this paper
์ด ๋ ผ๋ฌธ์ ์๋ก ์์๋ ๊ณค์ถฉ์ '์ ๋ฒ๋ ' ์์ ์ ๋ํด ๋ฌ์ฌํ๋ค. ๊ณค์ถฉ์ ์ ๋ฒ๋ ์๊ธฐ๋ฅผ ๊ฑฐ์น๋ฉด์ ํ๊ธฐ์ ์ผ๋ก ์์๋ถ์ ์ญ์ทจํ๊ณ ์ฑ์ฅํ๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์๋ ์ ์ฉํ๋ฉด ์ด๋จ๊น? ๋ผ๋ ์์ด๋์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ ผ๋ฌธ์ ์์ํ๋ค. ์ด๋ฌํ ๊ฐ๋ ์ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ์ ์ฉํ๊ฒ ๋๋ฉด, ensemble model์ ์ง์์ single model์ด ํ์ตํ์ฌ ์์ถ๋ ์ง์์ ๊ฐ๊ฒํ๋ ๊ฒ์ด ๋์ฑ ํจ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ค์ด์ค๋ค๋ ๊ฒ์ด๋ค. ๋ ผ๋ฌธ์์๋ ์ด๋ฌํ ์ง์์ ์ ๊ณตํ๋ ๋ชจ๋ธ์ cumbersome model์ด๋ผ ํํํ๊ณ , ์ง์์ ๋ฐ์์ ํ์ตํ๋ ๋ชจ๋ธ์ ๊ทธ๋ฅ small model์ด๋ผ ํํํ๋ค.
Distillation
๊ธฐ์กด์ ์ ๊ฒฝ๋ง ๋ชจ๋ธ๋ค์ ์ ๊ฒฝ๋ง์ ๊ฑฐ์ณ์ ๋ง์ง๋ง์ softmax layer์ ์ง๋์ ์ต์ข ์ถ๋ ฅ๊ฐ์ ๋ํด ๋ฐฑ๋ถ์ ๊ฐ์ ๊ฐ์ง ๋ค์, one-hot encoding์ ํตํ์ฌ ๊ฐ์ฅ ๋์ probability๋ฅผ ๊ฐ์ง๋ class์ ๋ํด์๋ง '1'๊ฐ์ ๋ถ์ฌํ๊ณ , ๊ทธ๋ ์ง ์์ class์๊ฒ๋ ๋ชจ์กฐ๋ฆฌ '0'๊ฐ์ ๋ถ์ฌํ๋ค. ๋ค์์ ๊ทธ๋ฆผ 1์ด ์ด ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
๋ ผ๋ฌธ์์๋ ์ด์ ๊ฐ์ด softmax layer์ ๊ฑฐ์ณ์ ๋ง์ง๋ง one-hot encoding์ ๊ฑฐ์ณ ๋์จ ๊ฐ์ 'hard target'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด ๊ณผ์ ์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
$q_i=\frac {exp(z_i/T)}{\sum_{j} exp(z_j/T)}$
์ฌ๊ธฐ์ ์ฒ์ ๋ณด๋ ๋ณ์๊ฐ ํ๋ ๋ฑ์ฅํ๋๋ฐ, ์ด $T$๋ Temperature์ด๋ค. ์ด Temperature์ ์ฉ๋๋ ์กฐ๊ธ ๋ค์์ ์ค๋ช ํ๋๋ก ํ๊ฒ ๋ค. ์๋ฌดํผ ์ด $T$๊ฐ 1๊ฐ์ ๊ฐ์ง ๋, ์ด ์์์ ๊ฒฐ๊ณผ๋ one-hot encoding์ ๊ฒฐ๊ณผ๊ฐ ๋๋ค.
๋ค์ ๋ณธ๋ก ์ผ๋ก ๋์์์ one-hot encoding์ ๊ฐ์ ๋ณด๋ฉด ์ ๋ต์ธ class์ ๋ํด์๋ง 1๊ฐ์ ๊ฐ์ง๊ณ ์ ๋ต์ด ์๋ class์ ๋ํด์๋ 0๊ฐ์ ๊ฐ์ง๋ค. ํ์ง๋ง, softmax function์ ๊ฑฐ์ณ์ ๋์จ ๊ฐ์ ๋ณด๋ฉด ์ ๋ต์ด ์๋ class์ ๋ํด์๋ ์์ง๋ง ๊ฐ์ ๊ฐ์ง๊ณ ์๊ธด ํ๋ค. ๋ ผ๋ฌธ์์๋ ์ด ์ ์ ์ด์ฉํ์ฌ cumbersome model๋ก๋ถํฐ small model์ ํ์ต์ํฌ ์ ์์ ๊ฒ์ด๋ผ๋ ์ ์์ ํ์๋ค. ์๋ฅผ ๋ค์ด์, ๊ณ ์์ด๋ ๊ฐ์ ๋ฎ์๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ์ด๋๋ง ๋์ ํ๋ฅ ์ ๋ถ์ฌ๋ฐ๊ฒ ๋์ง๋ง, ์์๋ ์์ ํ ๋ค๋ฅธ ๋ชจ์ต์ด๊ธฐ ๋๋ฌธ์ ๋์ฑ ๋ฎ์ ํ๋ฅ ์ ๋ถ์ฌ๋ฐ๊ฒ ๋๋ค. ์ด๋ฌํ ์ ๋ณด๋ฅผ small model์ด ํ์ตํ ์ ์๊ฒ ๋๋ฉด ์ด๋จ๊น? ๋ผ๋ ๋๋์ธ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด ๋ ผ๋ฌธ์์๋ 'soft target' ์ฆ, softmax function์ ํตํด ๋์จ ๊ฒฐ๊ณผ์ ๋ํด ์ง์คํ๋ค.
๋ ผ๋ฌธ์์๋ cumbersome model๋ก๋ถํฐ small model์ ํ์ต์ํค๊ธฐ์ ์์์, ์์ ์ค๋ช ํ๋ Temperature๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ์๋ค. ์ด Temperature์ ์ญํ ์ softmax function์ ํตํด ๋์จ ๊ฐ์ ์กฐ๊ธ ๋ smoothํ๊ฒ ๋ง๋ค์ด์ค๋ค. ๋ฐ๋ผ์ ์ด ๊ฐ์ด 1์ผ ๋๋ ๊ธฐ์กด์ softmax function๊ณผ ๋๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ์ง๋ง, ์ด ๊ฐ์ด ์ปค์ง๊ฒ ๋๋ฉด softmax function์ ํตํด ๋์ค๋ ๊ฐ๋ค ๊ฐ์ ์ฐจ์ด๊ฐ ๋ง์ด ์ํ๋๊ฒ ๋๋ค.
์ด์ cumbersome model๋ก๋ถํฐ ์ด๋ป๊ฒ small model์ด ํ์ตํ๋์ง ์์๋ณด์. ์ฌ๊ธฐ์ teacher์ student ๊ฐ๋ ์ผ๋ก ์ดํดํ๋ฉด ์๊ธฐ ์ฝ๋ค! ๋น์ฐํ teacher์ cumbersome model ์ฆ, ensemble model์ด๊ณ , student๋ small model์ด ๋๊ฒ ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ์์ student๊ฐ ์ด๋ป๊ฒ ํ์ตํ๋์ง๋ ๋ค์์ ๊ทธ๋ฆผ์ ๋ํ๋์๋ค.
teacher๋ ์ฌ์ ์ ํ์ต๋์ด์ ๋ชจ๋ ์์ธก๊ฐ์ ๊ฐ์ง๊ณ ์๊ฒ ๋๋ค. ๊ทธ ํ์ student๋ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ต๋ ๋ค์ ์ต๋ํ teacher์ ์์ธก ๋ถํฌ์ ์ ์ฌํ๊ฒ ์์ธกํ๋๋ก ํ์ต๋๋ค. ๊ทธ๋ ๊ฒ teacher์ logit ๊ฐ์ธ $f_t(x_i)$์, student์ logit ๊ฐ์ธ $f_s(x_i)$์ scaling์ญํ ์ ํ์ดํผ ํ๋ผ๋ฏธํฐ์ธ $T$๋ฅผ ์ด์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด $L_{soft}$์ ๊ฐ์ ๊ตฌํ ์ ์๋ค.
$L_{soft} = \sum_{x_i\in X} KL(softmax(\frac {f_t(x_i)}{T}), softmax(\frac {f_s(x_i)}{T}))$
๊ทธ๋ฆฌ๊ณ $L_{task}$์ ๊ฐ์ student์ logit๊ฐ๊ณผ ์ค์ ๊ฐ๊ณผ์ cross entropy๋ฅผ ํตํด ๊ตฌํ ์ ์๋ค.
$L_{task} = CrossEntropy(softmax(f_s(x_i)), y_{truth})$
๋ง์ง๋ง์ผ๋ก ์ต์ข $L_{total}$์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํด์ง๋ค.
$Student$ $L_{total} = L_{task} + \lambda \cdot L_{soft}$
์ด์ ๊ฐ์ ๊ณผ์ ์ ํตํด small model์ big model๋ก๋ถํฐ ์ง์์ ์ ๋ฌ๋ฐ์ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค!! ์ค์ ๋ก ์ด Knowledge Distillation์ ๋ง์ด ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ค.
์ฐธ๊ณ ๋ฌธํ
https://arxiv.org/abs/1503.02531
Distilling the Knowledge in a Neural Network
A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on the same data and then to average their predictions. Unfortunately, making predictions using a whole ensemble of models is cumbersome
arxiv.org
https://www.youtube.com/watch?v=pgfsxe8sROQ
https://www.youtube.com/watch?v=k63qGsH1jLo
'Paper Reading ๐ > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Zero-shot, One-shot, Few-shot Learning์ด ๋ฌด์์ผ๊น? (2) | 2023.03.12 |
---|---|
Prompt Engineering์ด ๋ฌด์์ผ๊น? (0) | 2023.03.01 |
LSTM vs GRU ๋ญ๊ฐ ๋ ๋์๊น?: Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ (1) | 2023.01.30 |
์๊ธฐ ์ฝ๊ฒ LSTM networks ์ดํดํ๊ธฐ (2) | 2023.01.27 |
CNN network์ ์ญ์ฌ (0) | 2022.12.14 |