자연어 처리 관련 이론적 공부를 좀 더 깊게 하고자, 패스트캠퍼스의 <김기현의 BERT, GPT-3를 활용한 자연어처리 올인원 패키지 Online.> 강의를 수강중이다. 이번에는 관련 강의를 들으며 간략하게 요약 겸 복습을 하나씩 해보고자 한다.
Transfer Learning(전이학습)이란?
리가 하나의 프로젝트를 위해 모델을 생성할 때 사용할 수 있는 데이터는 한정적이다. 각 데이터마다 레이블링을 진행하는데에 대한 인력비가 비쌀 뿐 아니라 시간도 오래걸리기 때문이다. 그래서 나온 대안이 대량의 데이터로 미리 학습을 진행하여 그 분야에 대한 일반화를 진행한 후에, 소수의 데이터로 더 집중적으로 학습하는 것이다. transfer learning, 즉 전이학습이란 빅데이터를 이용하여 사전학습을 진행(Pretraining)하고, 우리가 가지고 있는 특정한 일(task)의 데이터를 가지고 집중하여 학습(Fine-tunning)하는 과정을 말한다.
tranfer learning을 하는 방법은 아래와 같다.
- 가중치를 설정하고 일반화된 모델을 학습한다.
- 만들어진 가중치행렬(pretrain model)을 불러온 후, 아직 불러오지 않은 부분의 데이터를 학습한다.
- 각 부분에 다른 learning rate로 학습을 진행한다.
자연어처리 분야에서는 이전에도 포스팅한 BERT와 관련된 모델들이 전이학습을 위한 Pretrained model이라고 할 수 있다. 현재 자연어처리 분야에서는 이와 같은 전이학습을 현재 가장 많이 사용하고 있으며, 대표적으로 Huggingface 패키지를 통해 pretrained model을 load하여 사용하고 있다.
Transfer Learning(전이학습)의 장점과 단점
Pretrained model을 사용했을 때의 장점과 단점은 명확하게 구분되어있다.
장점
- SOTA(State-of-the-art), 즉 최고의 성능을 내는 파라미터에 빠르고 손쉽게 달성할 수 있다.
- Fine-tunning을 통해 더 좋은 weight patameter를 구할 수 있다.
- 데이터 레이블링에 많은 공수를 들이지 않아도 된다.
아무래도 장점은 빠르고 손쉽게 파라미터 최적화가 가능하다는 것이다. 그렇다면 단점은 무엇일까?
단점
- 새로운 구조의 모델이나 알고리즘이 아니라, 단순한 scale-up경쟁이 되고 있다.
- 실제로 GPT, Google BERT, Facebook BART 에서 새로운 논문이 나올 때마다 최적 파라미터의 개수는 기하급수적으로 늘어나고 있다.
- 그로 인한 환경 파괴(탄소 배출량 증가) 및 부익부빈익빈이 가속화되고 있다.
- 실제로 어마어마한 크기의 pretrain model을 학습하기 위해서는 매우 커다란 메모리 및 GPU를 장시간 사용해야 하며, 서버의 발열을 식히기 위해 돌아가는 쿨러를 가동시키는데 많은 전력이 사용되기에, 탄소배출량이 어마어마하다고 한다.
- 또한 pretrain model을 학습하기 위해 많은 resource가 들어가는 만큼, 작은 중소기업에서는 pretrain model을 만들만한 엄두가 나지 않고, 대기업에서만 수많은 연구를 할 수 있기 때문에 부익부 빈익빈이 가속화된다.
- 세상의 지식을 배우는 것이 아닌, 단순히 인간을 흉내내는 것에 불과하다.
- 인간의 노하우를 배우거나 세상의 지식을 배울수 있는 모델이 실제 나올수 있을까 하는 의구심이 들긴 하지만, 이 또한 단점이라고 강사는 말하고 있다.
'Study > NLP' 카테고리의 다른 글
[NLP/자연어처리] 이전의 자연어처리 방법론 - Word Embedding 과 Skip-Gram (0) | 2021.11.21 |
---|---|
[NLP/자연어처리] Self-supervised Learning (0) | 2021.10.24 |
[NLP/자연어처리] Beyond BERT (1) | 2021.06.08 |
[NLP/자연어처리] pre-trained model(3) - BERT(Bidirectional Encoder Representations from transformer) (0) | 2021.06.01 |
[NLP/자연어처리] pre-trained model(2) - GPT-1(Generative Pre-Training of aLanguage Model)/OpenAI (0) | 2021.06.01 |