

Inputs → Tokenizer → Input Embeding → Positional Encoding
Self-Attention Layer: 문장 내의 모든 단어에 대한 'attention'을 계산해서, 각 단어가 문장 내 다른 단어들과 얼마나 관련이 있는지 판단함
Linear layer(또는 Feed Forward Neural Network): Self-Attention Layer 또는 Encoder-Decoder Attention Layer의 출력을 받아 처리하는 역할을 함. Transformers 모델에서 Linear layer는 일반적으로 두 개의 Linear과 그 사이에 비선형 활성화 함수(ReLU 혹은 GELU 등등…)로 구성됨
두 개의 Linear layer들은 각각의 위치에서 독립적인 연산을 수행하기 때문에, 병렬 처리(parllelization)에 효율적임
비선형성(non-linearity)을 추가하는 이유: 모델이 복잡한 패턴을 학습하고, 선형적으로 분리할 수 없는 데이터를 처리할 수 있게 하기 위함임. 만약 모든 레이어가 선형 변형만을 수행한다면, 아무리 많은 층을 쌓아도 결국 전체 네트워크는 ‘하나의 선형 함수’란 한계에 갇힘

Linear → Softmax → Output data
디코더는 주로 자기 회귀적인(auto-regressive) 방식으로 작동함. 순차적으로 한 단계마다 예상 출력 값을 생성하고, 그 값을 다음 단계로 전달하여 최종 출력 시퀀스를 완성함
Self-Attention Layer: 문장 내의 모든 단어에 대한 'attention'을 계산해서, 각 단어가 문장 내 다른 단어들과 얼마나 관련이 있는지 판단하되, 마스킹(masking) 기법을 통해 디코더가 현재 시점 이후의 정보에 접근하지 못하도록 막음. 이를 통해 디코더는 자기 회귀적인(auto-regressive) 방식으로 작동하면서 현재까지 생성된 단어들로 다음 단어를 예측함
패딩 마스크(Padding Mask): 입력 시퀀스에서 패딩(padding)으로 추가된 부분을 나타내는 마스크임. 패딩은 시퀀스 길이를 맞춰주기 위해 추가되는데, 이러한 패딩 토큰들은 실제 의미가 없으므로 attention 계산에서 제외되어야 함. 패딩 마스크는 패딩 토큰 위치에 대응하는 값들을 0으로 설정하여 attention 계산 시 해당 위치의 정보가 무시되도록 함
룩 어헤드 마스크(Look-Ahead Mask): 디코더가 현재 위치 이후의 정보에 접근하지 못하도록 하는 마스크임. 각 위치에서 자신보다 오른쪽에 있는 단어들과의 attention 값을 -∞ (음의 무한대)로 설정하여 softmax 함수를 통과하면 해당 값이 거의 0에 가까워져서 사실상 무시됨. 이렇게 함으로써 디코더는 현재까지 생성된 단어들만을 바탕으로 다음 단어를 예측할 수 있음

Encoder-Decoder Attention Layer: 디코더의 현재 상태를 기반으로 인코더의 각 위치에서 얼마나 많은 ‘attention’을 해야 하는지 결정함. 특히 번역과 같은 task에서 중요한데, 이를테면 "I am a student"를 "Je suis étudiant"로 번역할 때 "I"가 "Je"로, "am a student"가 "suis étudiant"로 매핑하는 작업이 이 레이어에서 이루어진다고 볼 수 있음
Linear layer(또는 Feed Forward Neural Network): Self-Attention Layer 또는 Encoder-Decoder Attention Layer의 출력을 받아 처리하는 역할을 함. Transformers 모델에서 Linear layer는 일반적으로 두 개의 Linear과 그 사이에 비선형 활성화 함수(ReLU 혹은 GELU 등등…)로 구성됨
두 개의 Linear layer들은 각각의 위치에서 독립적인 연산을 수행하기 때문에, 병렬 처리(parllelization)에 효율적임
비선형성(non-linearity)을 추가하는 이유: 모델이 복잡한 패턴을 학습하고, 선형적으로 분리할 수 없는 데이터를 처리할 수 있게 하기 위함임. 만약 모든 레이어가 선형 변형만을 수행한다면, 아무리 많은 층을 쌓아도 결국 전체 네트워크는 ‘하나의 선형 함수’란 한계에 갇힘Softmax Function: Linear 레이어에서 계산된 점수들을 확률로 변환함. Softmax 함수를 통과하면, 모든 점수들은 0과 1사이의 값으로 바뀌며, 그 합계는 1이 됨. 이렇게 변환된 값들은 각 단어가 다음 단어로 선택될 확률 의미함.