본문 바로가기
개발/AI

[AI] ChatGPT의 딥러닝 모델 Transformer 요약

by 꾀돌이 개발자 2024. 8. 27.
반응형

 

ChatGPT를 만든 딥러닝 모델 Transformer 요약 정보

 

 
 

목차

     

    - ChatGPT는 OpenAI에서 개발한 GPT(Generative Pre-trained Transformer) 시리즈 중 하나입니다.

    - GPT 시리즈는 딥러닝 기반 자연어 처리 모델로, 텍스트 생성, 번역, 요약, 질문 응답 등의 작업을 수행합니다.

    - GPT는 Transformer 구조를 사용하여 대규모 텍스트 데이터를 학습하며, 언어의 구조와 의미를 이해합니다.

     

    서론

    - Transformer는 딥러닝 모델로, 자연어 처리 작업에서 혁신을 가져왔습니다.

    - 2017년 구글 연구원들의 논문 "Attention is All You Need"에서 처음 소개되었습니다.

    - 순차적 데이터 처리에 탁월하며, RNN 및 LSTM을 대체하는 주요 모델로 자리 잡았습니다.

     

    Transformer의 주요 특징

    1. Self-Attention Mechanism * Transformer의 핵심

    • 각 단어가 문장 내 다른 모든 단어와의 관계를 고려해 정보를 처리합니다.
    • 이를 통해 단어 간 의존 관계를 효과적으로 모델링할 수 있습니다.

     

    2. 병렬 처리 가능

    • Transformer는 RNN과 달리 순차적인 데이터 처리에서 병렬화가 가능합니다.
    • RNN과 달리,  모든 단어를 동시에 처리해 학습 속도가 빠릅니다.

     

    3. Encoder-Decoder 구조

    • Transformer는 기본적으로 Encoder와 Decoder라는 두 부분으로 나뉩니다.
    • Encoder는 입력 문장을 받아 그것을 일련의 벡터로 인코딩합니다.
    • Decoder는 이 벡터를 받아 출력 문장을 생성합니다.

     

    4. Position Encoding

    • Transformer는 순서에 따라 데이터를 처리하지 않기 때문에, 입력 데이터에 각 단어의 위치 정보를 추가해 줍니다.
    • 이를 통해 모델이 단어의 순서를 이해하고 처리할 수 있습니다.

     

    Encoder 구조

    - Encoder는 여러 개의 동일한 레이어로 구성되며, 각 레이어는 두 부분으로 구성됩니다:

    1. Self-Attention Layer:
      • 각 단어의 임베딩 벡터가 다른 단어들과의 관계를 계산합니다.
      • "Query", "Key", "Value" 벡터를 사용해 단어 간 중요도(가중치)를 계산하고, 이를 통해 새로운 벡터를 생성합니다.
    2. Feed-Forward Neural Network (FFNN)
      • Self-Attention Layer의 출력을 처리하는 완전 연결된 신경망입니다.
      • ReLU 활성화 함수를 사용하며, 각 단어에 대해 독립적으로 적용됩니다.

    - 각 레이어에  Layer Normalization과 Residual Connection이 추가되어 안정적인 학습과 성능 향상을 도모합니다.

     

    Decoder 구조

    - Decoder여러 개의 동일한 레이어로 구성되며, Encoder와 유사하게 두 가지 주요 부분으로 이루어집니다.

    - Decoder에는 Encoder와의 상호작용을 위한 추가 메커니즘이 포함됩니다.

    1. Masked Self-Attention Layer:
      • 출력 생성 시 미래의 단어 정보를 보지 못하도록 마스킹된 Self-Attention 메커니즘을 사용합니다.
      • 현재 단어를 예측할 때 이전 단어들만 참조합니다.
    2. Encoder-Decoder Attention Layer:
      • Decoder의 현재 상태와 Encoder에서 생성된 벡터 간의 Attention 메커니즘을 사용합니다.
      • 이를 통해 Decoder는 Encoder의 출력을 참조하여 출력을 생성합니다.
    3. Feed-Forward Neural Network (FFNN):
      • Encoder와 동일한 FFNN이 적용되며, Layer Normalization과 Residual Connection이 포함됩니다.

    - Decoder의 마지막 레이어 출력은 소프트맥스 함수에 전달되어 확률 분포로 변환되며, 가장 높은 확률의 단어가 최종 출력 문장으로 선택됩니다.

     

    Positional Encoding (위치 인코딩)

    - Transformer는 입력 데이터의 순서를 직접 처리하지 않기 때문에, 위치 정보를 추가합니다.

    - 각 단어의 임베딩에 위치 정보를 추가하여, Transformer단어 순서를 이해하고 처리할 수 있게 합니다.

     

    Multi-Head Attention

    - Self-AttentionEncoder-Decoder Attention에서 Multi-Head Attention 메커니즘이 사용됩니다.

    - 여러 개의 Attention을 병렬로 수행하여 데이터를 다양한 관점에서 분석합니다.

    - 이를 통해 모델이 더 풍부하고 복잡한 표현을 학습할 수 있게 됩니다.

     

    Transformer 구조 요약

    • Encoder: Self-Attention + Feed-Forward Neural Network (여러 층으로 구성)
    • Decoder: Masked Self-Attention + Encoder-Decoder Attention + Feed-Forward Neural Network (여러 층으로 구성)
    • Positional Encoding: 입력의 순서 정보를 제공
    • Multi-Head Attention: 여러 Attention을 병렬로 수행하여 다양한 관계를 학습

     

    Transformer의 영향

    - Transformer는 자연어 처리에서 엄청난 성능 향상을 이루었습니다.

    - BERT, GPT 시리즈, T5 등 많은 현대 NLP 모델들은 Transformer 아키텍처를 기반으로 합니다.

    - 이러한 모델들은 텍스트 생성, 번역, 요약, 감정 분석 등 다양한 응용 분야에서 뛰어난 성능을 발휘합니다.

     

    반응형