"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


[개발자를 위한 LLM] 트랜스포머 구조 (Transformer High-level Architecture)
728x90

 

이번 포스팅에서는 트랜스포머의 구조에 대해서 알아보겠습니다.

우선 최상위 구조를 알아보고, 각 구성요소에 대해서 자세히 설명하도록 하겠습니다.

 

트랜스포머의 구조

트랜스포머는 크게 인코더와 디코더로 구성되어 있습니다.

  • 인코더 (Encoder): 소스 시퀀스의 정보를 압축해 디코더로 보내는 역할
  • 디코더 (Decoder): 인코더가 보내 준 소스 시퀀스 정보를 받아서 타깃 시퀀스를 생성

 

인코더는 입력 시퀀스(예: 텍스트)를 처리하고, 이 시퀀스의 정보를 컨텍스트로 변환하는 역할을 합니다. 트랜스포머의 인코더는 여러 개의 인코더 레이어 층으로 구성됩니다. 트랜스포머 논문에서는 6개의 인코더 층을 제안했지만, 인코더 층의 개수는 성능에 크게 영향을 주는 요소는 아닙니다.

디코더는 인코더로부터 얻은 정보를 바탕으로 출력 시퀀스(예: 번역된 텍스트)를 생성합니다. 디코더 역시 여러 개의 디코더 레이어 층으로 구성됩니다.

 

반응형

 

 

인코더의 상세 구성

인코더는 입력 시퀀스(예: 텍스트)를 처리하고, 이 시퀀스의 정보를 컨텍스트로 변환하는 역할을 하며, 각각의 인코더는 셀프 어텐션과 피드 포워드 뉴럴 네트워크로 구성됩니다.

 

인코더의 입력은 먼저 셀프 어텐션(Self-attention) 레이어를 통과합니다. 이 레이어는 각 단어가 입력 시퀀스 내의 다른 단어와의 관계를 이해 하도록 돕습니다.

셀프 어텐션의 출력은 피드 포워드 신경망(Feed Forward Neural Network)에 입력됩니다. 완전히 동일한 피드 포워드 네트워크가 각 위치에 독립적으로 적용됩니다.

이러한 레이어들 사이에는 노멀라이제이션(Normalization) 단계가 있으며, 각 레이어의 입력과 출력은 잔차 연결(Residual connection)을 통해 더해집니다.

 

 

디코더의 상세 구성

디코더는 인코더로부터 얻은 정보를 바탕으로 출력 시퀀스(예: 번역된 텍스트)를 생성합니다. 디코더는 셀프 어텐션과 피드 포워드 뉴럴 네트워크 두 레이어를 모두 가지고 있지만, 그 사이에는 디코더가 입력 문장의 관련 부분에 집중할 수 있도록 돕는 어텐션 레이어가 있습니다.

 

셀프 어텐션(Self-attention)은 인코더의 셀프 어테션과 비슷하지만, 미래의 위치에 대한 정보를 마스킹하여 정보 유출을 방지합니다.

인코더-디코더 어텐션(Encoder-Decoder Attention)은 디코더의 각 위치가 인코더의 모든 위치에서 어텐션을 수행합니다. 이를 통해 디코더가 입력 시퀀스에 있는 관련 단어를 집중 할 수 있습니다.

피드 포워드 신경망(Feed-Forward Neural Network)은 인코더의 피드 포워드 신경망과 유사하게 작동합니다.

 

 

이상 트랜스포머의 구조의 큰 그림에 대해서 알아보았습니다. 다음 포스팅에서는 트랜스포머의 각 구성 요소에 대해서 자세히 다뤄볼 예정입니다.

 

 

트랜스포머

1. 트랜스포머(Transformer) 개요

2. 트랜스포머 구조 (Transformer High-level Architecture)

3. 트랜스포머 구조 상세 (Transformer Detailed Architecture)

4. 트랜스포머 훈련과 예측 단계 (Transformer Learning and Inference Step)

5. 트랜스포머 입력과 출력 (Transformer Input and Output)

6. 어텐션, 셀프 어텐션, 멀티 헤드 어텐션 개요 (Transformer Attention, Self Attention, Multi-head Attention)

7. 셀프 어텐션 상세 동작 과정 (Transformer Self Attention Detailed Process)

 

 

 

728x90
728x90
LIST