-
Pre-trained Big Transformers (2) | GPT-3, BERT | 패스트캠퍼스 챌린지 43일차딥러닝 2022. 3. 7. 16:45
GPT-2 까지의 모델이 zero-shot 환경에서 작동할 수 있도록 multitask learning을 목표로 훈련되었다면, GPT-3는 few-shot learning으로 fine-tuning이라는 프레임워크 자체를 타파하고자 한 모델이다. ELMo를 시작으로 자연어처리에서 pre-training + fine tuning으로 구성된 전이학습은 매우 높은 성능을 보였지만, fine-tuning 과정에서 label 된 데이터가 많이 필요하며, 이 과정에서 일반화 능력을 상실한다는 문제가 있었다. 또한, 궁극적으로, 이 방식은 사람의 언어 습득과 다른 방식이었다. 가령 NLI(두 문장 사의의 함의, 모순, 중립 관계를 판단하는 과제)를 생각해 보면 사람은 일반적인 언어 지식을 습득하면 몇 개의 예시만 보고 이를 바로 수행해 내지만, fine tuning은 그러지 못한다.
따라서 GPT-3는 meta learning을 지향한다. 이는 다양한 패턴 인식 방법을 학습한 후, 하위 과제에 대해 몇 가지 예시만 보고 수행할 수 있도록 하는 것이다. 이 과정에서 파라미터수는 더욱 늘어났다. 그 결과, 모델 크기가 커지면 in context learning 능력이 향상되었음을 알 수 있었다. 또한, fine-tuning 없이 SOTA와 유사하거나 더욱 능가하는 성능을 보일 수 있었다.
GPT-3의 모델 자체는 트랜스포머의 디코더 부분을 활용한 GPT-1, GPT-2와 크게 다르지 않다. 다만 파라미터수는 매우 많이 증가했다.
물론 GPT-3라 해도 완벽한 모델은 아니다. 우선 데이터 효율성 문제가 있다. 즉, 데이터를 사람이 평생 보는 텍스트보다도 더 많이 했음에도 불구하고 사람의 능력을 모두 따라잡지 못한 것은 아직 학습 효율성 향상의 여지가 있음을 뜻한다. 또한, few-shot leanring의 해석에 대한 의문도 있다. 다음으로, 훈련 비용이 너무 비싼 문제가 있다. Few-shot 세팅으로 사용이 가능하지만, 다른 언어에 대해 학습한다거나 하면 그 비용이 어마무시해진다. 마지막으로, 딥러닝 기법 자체의 고질적인 문제인 블랙박스 문제가 해결되지 못했다. 비용은 천문학적으로 들어가지만, 그 결과가 선듯 예상한 것과 달라 버릴 수 있고, 이 경우 디버깅이 사실상 불가능하다는 뜻이다.
한 편, 트랜스포머의 인코더 부분을 사용한다면 언어 이해에, 정확히는 언어를 표상하는 임베딩에 특화된 모델이 나올 수 있을 것이다. 그러한 모델의 대표주자가 BERT다. BERT는 입력이 주어지면 이를 token embedding, segment embedding, positional embedding 세 단계를 거쳐 처리하는데, token embedding 단계에서는 BPE 알고리즘을 확장한 wordpiece 알고리즘을 사용하여 subword 단위로 사전에 등록해 Out of Vocabulary 문제를 해결했다. Segment embedding에서는 토큰화된 단어를 하나의 문장으로 처리하며, positional embedding은 트랜스포머의 그것과 같이 토큰의 위치 정보를 전달한다.
GPT와 GPT-2 사이의 시기에 개발된 BERT는 pre-training + fine-tuning의 프레임워크를 적용하였다. Pre-training 단계에서는 두 가지 목적을 가지고 훈련이 되었는데, 첫번쨰는 Masked Language Modeling이다. 이는 Taylor(1953)의 Cloze Task와 같이 토큰을 임의로 가린 뒤 이 부분에 들어갈 토큰을 추측하는 방식으로 훈련하는 것이다. 두 번쨰는 Next Sentence Prediction으로, QA, NLI 등 복수의 문장이 들어가는 테스크를 위한 훈련인데, 두 개의 문장이 서로 연속되는 문장인지를 분류하는 테스크이다. BERT는 RNN처럼 여러 길이의 입력 문장과 출력 값을 가지도록 fine-tuning 될 수 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다. https://bit.ly/37BpXiC
'딥러닝' 카테고리의 다른 글
Flow-Based Generative Model (1) | 패스트캠퍼스 챌린지 45일차 (0) 2022.03.09 Pre-trained Big Transformers (3) | ALBERT, RoBERTa 등 | 패스트캠퍼스 챌린지 44일차 (0) 2022.03.08 Pre-trained Big Transformers (1) | 패스트캠퍼스 챌린지 42일차 (0) 2022.03.06 Transformer (2) | 패스트캠퍼스챌린지 41일차 (0) 2022.03.05 Transformer (1) | 패스트캠퍼스챌린지 40일차 (0) 2022.03.04