본문 바로가기
AI/NLP

NLP의 핵심, 트랜스포머(Transformer) 복습!

by didi0di 2023. 9. 21.
728x90

ChatGPT 등장 이후, 지금은 거대 언어 모델 (LLM, Large Language Model)의 전성기라고 해도 과언이 아닙니다.

 

ChatGPT는 GPT 3.5와 같은 LM 모델을 Supervised Instruction tuning과 RLHF 대화형 모델로 파인튜닝한 모델이죠.

이 GPT는 바로 트랜스포머의 디코더(Decoder) 부분을 가지고 만든 모델입니다. 

ChapGPT는 물론, 메타에서 발표한 LLaMA와 같은 현재의 LLM들의 조상 격이 바로 트랜스포머 모델입니다.

 

따라서 트랜스포머 모델의 구조를 이해하고 있어야, 이를 기반으로 한 LLM들을 활용하거나 튜닝할 때 수월하겠죠.

오늘은 트랜스포머에 대해 복습하는 포스팅을 작성하려고 합니다.

 

 

728x90

 

트랜스포머는 딥 러닝 모델의 한 종류로, 주로 자연어 처리 (NLP) 작업에서 사용되는 혁신적인 아키텍처입니다.

 

 

출처: 딥 러닝을 이용한 자연어 처리 입문


트랜스포머는 2017년에 'Attention Is All You Need' 논문에서 소개되었습니다. 이 모델의 주요 특징은 세 가지입니다.

 

  1. 어텐션 메커니즘 (Attention Mechanism):
    트랜스포머의 핵심은 바로 이 어텐션 메커니즘입니다. 이것은 입력 시퀀스의 다른 위치에 있는 토큰 간의 상관 관계를 계산하는 메커니즘으로, 각 토큰이 다른 토큰에 얼마나 관심을 가지는지를 결정합니다.

  2. 셀프 어텐션 (Self-Attention):
    트랜스포머는 셀프 어텐션을 사용하여 입력 시퀀스 내의 모든 토큰 간의 관계를 동시에 계산합니다. 문장 안에서 토큰들 간의 상관 관계를 구하는데, 이를 RNN 구조를 도입하여 hidden state를 구하지 않고, 행렬곱으로 한번에 수행합니다. 그래서 attention is all you need인 것이죠. 이를 통해 문장 내 단어 간의 의미적인 관계를 파악할 수 있으며, 번역, 요약, 질문 응답 등 다양한 NLP 작업에 적용됩니다.

  3. 스택형 인코더-디코더(Encoder - Decoder) 구조 :
    트랜스포머는 여러 개의 인코더와 디코더 층으로 구성되어 있으며, 각 층은 셀프 어텐션과 피드포워드 신경망으로 구성됩니다. 예를 들면, Encoder = Ecoding Block * n 으로,  더 깊고 넓게 정보를 처리할 수 있게 됩니다. 이러한 다층 구조는 입력 시퀀스의 다양한 특징을 추출하고, 출력 시퀀스를 생성하는 데 사용됩니다."

 

➡️   Encoder = Ecoding Block * n

➡️ Encoding Block = Self-Attention + Feed Forward + Residual Block

 

출처: https://hyen4110.tistory.com/40
출처: 딥 러닝을 이용한 자연어 처리 입문

 

 

모델 파라미터 

  • model demension : 512
  • num of layer : 6
  • num of attention heads : 8

 

옵티마이저(Optimizer):

트랜스포머 모델에서 주로 사용되는 옵티마이저 중 하나는 '아담(Adam)'입니다.

아담은 학습률을 자동으로 조절하고 관련 매개변수를 업데이트하여 모델의 가중치를 최적화합니다.

 

로스 함수(Loss Function):

트랜스포머 모델은 주로 자연어 처리(NLP) 과제에서 사용됩니다. 이러한 모델에서 자주 사용되는 로스 함수 중 하나는 '크로스 엔트로피 손실(Cross-Entropy Loss)'입니다. 이 손실 함수는 모델의 출력과 실제 레이블 간의 차이를 측정하여 모델을 훈련시키는 데 사용됩니다.

 

 

활성화 함수(Activation Function):

트랜스포머의 주요 구성 요소 중 하나인 '멀티헤드 어텐션(Multi-Head Attention)' 및 '피드포워드 신경망(Feedforward Neural Network)'에서 활성화 함수가 사용됩니다. '젤루(GELU)' 활성화 함수가 종종 사용되며, 이 함수는 비선형성을 추가하여 모델의 표현력을 향상시킵니다.

 

 

 

이제 트랜스포머에서 가장 중요한, 어텐션 매커니즘(Attention Mechanism)에 대해 좀 더 자세히 알아보도록 하겠습니다.

 

 

 

다음글 : 어텐션 매커니즘(Attention Mechanism)

 

어텐션 매커니즘(Attention Mechanism)

앞에서 트랜스포머 모델을 살펴봤습니다. 이전글 : NLP의 핵심, 트랜스포머(Transformer) 복습! NLP의 핵심, 트랜스포머(Transformer) 복습! ChatGPT 등장 이후, 지금은 거대 언어 모델 (LLM, Large Language Model)의

didi-universe.tistory.com

 

 

참고

 

https://moondol-ai.tistory.com/460

 

728x90

댓글