[NLP with Transformer] 1장. 트랜스포머 소개

마이클의 AI 연구소·2023년 11월 2일
0

트랜스포머의 탄생

  • 구글의 연구원들은 2017년 논문에서 시퀀스 모델링을 위한 새로운 신경망 '트랜스포머'를 제안함
  • 이는 번역 품질과 훈련 비용면에서 기존의 RNN을 능가함

GPT와 BERT

  • 이 아키텍처를 통해 GPT와 BERT가 등장함
  • 이 모델들은 트랜스포머 아키텍처와 비지도 학습을 결합해 작업에 특화된 모델을 밑바닥부터 훈련할 필요를 없애고 거의 모든 NLP 벤치마크에서 큰 차이로 기존 기록을 경신함.
  • 트랜스포머의 새로운 특징은 다음과 같음

    인코더-디코더 프레임워크
    어텐션 매커니즘
    전이학습

트랜스포머가 등장하기 전

인코더-디코더 프레임워크

  • 트랜스포머가 등장하기 전, NLP에서는 LSTM 같은 순환신경망 구조가 SOTA였다.
  • 입력을 받아 네크워크 통과 후, hidden state라는 벡터를 출력하고 출력한 정보를 다음 스텝에 사용하게 된다. 이 구조는 인코더의 마지막 hidden state가 정보 병목이 된다. 왜냐하면 마지막 hidden state만이 전체 입력 시퀀스의 정보가 담겨 있기 때문이다. 또한, 시작부분의 정보가 손실될 수도 있다는 약점이 있다.
  • 이를 제거하기 위해 어텐션 메커니즘이 등장한다.

어텐션 메커니즘

  • 인코더에서 디코더가 참고할 만한 hidden state를 출력하는데 디코더에서 이 모든 것을 받으면 입력값이 많아진다. 여기서 어떤 상태를 먼저 사용할지 우선순위를 정하는 매커니즘이 필요하다. 이것이 어텐션이다.
  • 그러나 여전히 순환 모델의 단점은 그대로 존재한다.

셀프 어텐션

  • 트랜스포머는 모델링 패러다임을 바꾸었다. 순환 구조를 모두 없애고 셀프어텐션을 통해 작동되도록 했다.

NLP의 전이학습

  • 컴퓨터비전에서는 전이학습을 하는 경우가 많다. 구조로 볼 때 모델은 보통 바디와 헤드로 나뉜다. 바디는 기존 도메인에서 다양한 특성을 학습하고, 이 가중치를 활용해 새로운 작업을 위한 모델을 초기화 한다.
  • 컴퓨터 비전과 다르게 NLP에서는 사전훈련 방식이 특정되지 못했다. 그러다 2017, 2018년, OpenAI가 제안한 방식이 등장했다. 그 이후 ULMFiT라는 방법론이 등장했다.

pre-training

  • 초기 학습 목표는 간단하다.. 이전 단어를 바탕으로 다음 단어를 예측하는 작업이었다. 이 작업을 language modeling이라고 한다. 편리하게도 이 작업은 레이블 데이터가 필요하지 않고 위키피디아 같은 풍부한 텍스트를 그대로 사용할 수 있다.

domain adapting

  • 언어모델을 대규모 말뭉치에서 사전 훈련 후, 나의 도메인 말뭉치에 어댑팅할 수 있다.

fine-tuning

  • 이 단계에서 언어 모델을 커스텀 태스크를 위한 분류 층과 함께 미세튜닝을 한다.

GPT

  • 트랜스포머 아키텍처의 디코더 부분만 사용하고 ULMFiT 같은 언어 모델링 방법을 사용한다. GPT가사전 훈련한 BookCorpus 데이터셋은 다양한 미출판 도서 7,000권으로 구성된다.

BERT

  • 트랜스포머 아키텍처의 인코더 부분을 사용한다.
  • Masked Language Modeling(MLL)을 사용한다.
  • MLL의 목표는 랜덤하게 마스킹된 단어를 예측하는 것이다.
profile
늘 성장을 꿈꾸는 자들을 위한 블로그입니다.

0개의 댓글