금융 데이터 분석가/text-analysis

[NLP Transformers] Transformer 개념 정리

리치즈 2023. 11. 2. 03:05
728x90

Transformer 모델 히스토리

https://huggingface.co/learn/nlp-course/chapter1/4?fw=pt

  • 2018.06 : GPT
  • 2018.10 : BERT
  • 2019.02 : GPT-2 , 개선된(및 더 큰) 버전의 GPT(윤리적인 문제로 바로 공개되지 않음)
  • 2019.10 : DitilBERT, BERT보다 60% 더 빠르고, 메모리는 40% 덜 사용하면서도 성능의 97%를 유지하는 모델
  • 2019.10 : BARTT5, 원래 Transformer 모델과 동일한 아키텍처를 사용하는 두 개의 사전 훈련된 모델(최초)
  • 2020.05 : GPT-3, fine-tuning 없이 다양한 작업을 잘 수행할 수 있는 GPT-2의 더 큰 버전(zero-shot learning)

 

Transformer 모델 분류

최근 유명한 모델은 세 가지 범주로 분류할 수 있습니다.

(모든 종류의 Transformer 모델을 포함하는 분류는 아닙니다.)

  1. GPT 계열 : auto-regressive Transformer
  2. BERT 계열 : auto-encoding Transformer
  3. BART/T5 계열 : sequence-to-sequence Transformer

 

Self-supervised learning & Transfer learning

Transformer 모델은 언어 모델로 개발되었습니다.

Self-supervised learning(자기 지도 학습)은 모델의 입력으로부터 목표가 자동으로 계산되는 훈련 유형으로 언어 모델에 적합한 방식입니다. 

실제 특정 작업에서 더 좋은 성능을 내기 위해 Transfer learning(전이 학습) 단계를 거칩니다. 

특정 작업에 대해 지도 방식, 즉 사람이 주석을 추가한 레이블을 사용하여 fine-tuned(미세 조정)됩니다.

 

Pretraining & Fine-tuning

Pretraining은 가중치를 무작위로 선정하여 모델을 처음부터 학습시키는 것을 의미합니다. 

반면 Fine-tuning은 Pretrained(사전 훈련된) 후에 학습시키는 것을 의미합니다.

언어 모델을 학습시킬 땐 많은 시간과 자원이 필요합니다. Pretraining을 통해 언어에 대한 일종의 통계적인 지식을 갖도록 하여 실제 작업에 대해 학습시킬 땐 훨씬 적은 시간과 자원을 사용하도록 합니다.

 

일반적인 아키텍처

자세한 아키텍처는 다른 포스트에서 추가로 다룰 예정입니다. 여기에서는 공통적이고 기초적인 아키텍처만 소개합니다.

인코더와 디코더

  • 인코더 : 모델에 넣을 수 있는 입력으로 바꿔줍니다.
  • 디코더 : 모델 결과를 출력합니다.

HuggingFace NLP course

활용할 작업에 따라 인코더 혹은 디코더만, 인코더와 디코더를 동시에 사용할 수 있습니다.

  • 인코더만 활용한 모델 : 문장 분류, 개체명 인식(NER)과 같은 입력에 대한 이해가 필요한 작업
  • 디코더만 활용한 모델 : 문장 생성과 같은 생성 작업
  • 인코더-디코더 모델(sequence-to-sequence) : 번역, 요약과 같이 입력이 필요한 생성 작업

Attention 레이어

Transformer의 주요 특징은 attention layer라는 특수 레이어로 구성된다는 것입니다.

간단하게 설명하면 문장 중 중요한 단어에는 특별히 주의를 기울이고, 중요하지 않은 부분은 넘어가도록 하는 기능을 합니다.

Self-Attention, Multi-Head Attention, Content-Based Attention 등 다양한 유형이 있습니다.

 

원래 아키텍처

Transformer를 처음 발표한 논문인 Attention Is All You Need의 아키텍처입니다.

원래는 번역용으로 설계되었습니다. 왼쪽의 인코더는 특정 언어로 된 입력(문장)을 받고, 오른쪽은 디코더는 번역을 원하는 언어로 된 동일한 입력(문장)을 받습니다. 인코더는 문장의 모든 단어를 사용할 수 있지만, 디코더는 이미 번역이 완료된 문장의 단어만 사용할 수 있습니다.

 

Attention Is All You Need 논문

 

 

용어 : Architectures vs. checkpoints

  • Architecture : 모델의 뼈대
  • Checkpoints : 아키텍처에 로드될 가중치
  • Model : 아키텍처와 체크포인트처럼 명확하지 않은 개념. 둘 다를 의미할 수 있어서 모호성을 줄이기 위해서는 아키텍처와 체크포인트를 사용하는 것이 좋음.

 

 

 

 

 

본 포스트는 Hugging Face NLP Course를 번역하고, 일부 내용을 추가하여 작성하였습니다.

 

How do Transformers work? - Hugging Face NLP Course

2. Using 🤗 Transformers 3. Fine-tuning a pretrained model 4. Sharing models and tokenizers 5. The 🤗 Datasets library 6. The 🤗 Tokenizers library 9. Building and sharing demos new

huggingface.co

 

 

 

 

 

 

 

 

 

 

728x90
LIST