Transformer 정리

Jaeyeon Heo·2025년 4월 11일
post-thumbnail

#Transformer 모델

Transformer 모델이란?

Transformer는 문장의 의미를 이해하고 생성하는 데 탁월한 능력을 가진 AI 모델입니다.
마치 우리가 문장을 읽을 때 각 단어의 관계를 파악하고 전체적인 맥락을 이해하는 것처럼, Transformer도 비슷한 방식으로 작동한다고 볼 수 있습니다.


기존 모델과의 차이점

기존 모델들(RNN, LSTM, GRU)

  • RNN: 순차적 데이터를 처리하기 위해 설계된 신경망으로, 이전 단계의 정보를 현재 단계로 전달해 계산에 활용합니다. 하지만 먼 과거의 정보를 효과적으로 활용하지 못하는 한계를 갖고 있습니다.
  • LSTM: RNN의 장거리 의존성 한계를 해결하기 위해 개발된 모델로, 정보를 선택적으로 기억하고 잊을 수 있는 구조로 긴 시계열 데이터의 예측 정확도를 높였습니다.
  • GRU: LSTM을 단순화한 모델로, LSTM과 비슷한 성능을 보이면서 계산 효율성을 개선했습니다.

차이점

1) 순차적 처리 vs 병렬 처리

  • 기존 모델: RNN, LSTM, GRU는 순차적으로 데이터를 처리합니다. 마치 책을 한 단어씩 차례대로 읽는 것과 같습니다.

  • Transformer: 문장의 모든 단어를 동시에 처리할 수 있습니다. 책의 전체 페이지를 한 번에 훑어보는 것과 비슷합니다.

2) 장거리 의존성 문제

  • 기존 모델: 문장이 길어질수록 먼 거리에 있는 단어 간의 관계를 포착하기 어려워집니다. LSTM과 GRU는 이 문제를 어느 정도 개선했지만, 여전히 한계가 있습니다.

  • Transformer: 셀프 어텐션 메커니즘을 통해 문장 내 모든 단어 간의 관계를 직접적으로 계산하므로, 장거리 의존성 문제를 효과적으로 해결합니다.

3) 계산 복잡도

  • 기존 모델: 순차적 처리로 인해 문장 길이에 비례하여 계산 복잡도가 증가합니다. 즉, 문장이 길어질수록 처리 시간이 크게 늘어납니다.

  • Transformer: 병렬 처리가 가능해 문장 길이에 덜 민감합니다. 다만, 셀프 어텐션 연산의 복잡도는 문장 길이의 제곱에 비례합니다.

4) 메모리 사용

  • Transformer: 별도의 메모리 구조 없이 어텐션 메커니즘만으로 정보를 처리합니다.

Transformer의 핵심 요소

(1) Self-Attention


1) 쿼리(Query), 키(Key), 값(Value) 벡터

  • 쿼리 - 무엇을 찾는가
  • 키 - 어떤 정보를 가지고 있는가
  • 실제로 어떤 정보를 전달하는가

2) 어텐션 점수 계산

  • 두 벡터가 얼마나 유사한지, 또는 얼마나 같은 방향을 가리키는지를 나타내는 지표)을 계산
  • 해당 단어가 다른 단어들에 얼마나 '어텐션'해야 하는지 그 수치적인 정도

3) 소프트맥스 적용

  • 계산된 점수에 소프트맥스 함수(숫자를 0과 1 사이의 값으로 바꾸고, 모든 값의 합이 1이 되도록 만드는 함수)를 적용하여 확률 분포로 변환.
  • 큰 값은 더 큰 확률, 작은 값은 더 작은 확률. 중요도를 이해 합니다.

4) 가중합 계산

  • 각 단어의 값 벡터와 곱하고 모두 더해 최종 출력을 만듭니다. 최종 출력은 현재 단어의 의미를 주변 단어들과의 관계를 고려하여 새롭게 표현한 것으로 단순히 단어 자체의 의미뿐만 아니라, 문맥 속에서의 의미를 포함하게 됩니다.

(2) Multi-Head Attention

셀프 어텐션을 여러 번 병렬로 수행하는 기법입니다. 각 "헤드"는 서로 다른 관점에서 입력 데이터를 분석합니다.

작동 원리

  1. 입력 데이터를 여러 개의 헤드로 나눕니다.
  2. 각 헤드는 독립적으로 셀프 어텐션을 계산합니다.
  3. 모든 헤드의 결과를 결합하여 최종 출력을 생성합니다.

장점

  • 다양한 관점에서 데이터를 분석할 수 있습니다.
  • 더 풍부한 특징(feature)을 포착할 수 있습니다.

Transformer의 혁신

1) 병렬 처리 능력

문장의 모든 단어를 동시에 처리할 수 있어 학습 속도가 빠릅니다.
대규모 데이터셋에서의 학습이 가능해지며, 모델 성능 향상으로 이어졌습니다.

2) 장거리 의존성 문제 해결

장문의 이해나 복잡한 문맥 파악에 있었던 문제를 해결하였습니다.
셀프 어텐션 메커니즘을 통해 문장 내 멀리 떨어진 단어 사이의 관계도 직접적으로 모델링합니다.

3) 모델 구조의 유연성

Transformer는 인코더/디코더라는 두 가지 구성요소로 이루어져있습니다.

인코더 : 입력데이터(예: 원본 문장)을 받아 컴퓨터가 이해할 수 있도록 변환
디코더 : 인코더 변환 정보를 받아 출력(예: 번역된 문장)을 생성

Transformer의 장점이나 특이한 점은 인코더와 디코더 수를 자유롭게 조절할 수 있다는 점입니다.
이를 통해 테스크에 따라 모델의 크기와 복잡도를 조정할 수 있습니다. 이로 인해 BERT(인코더만 사용), GPT(디코더만 사용) 곽 같은 변형 모델 탄생으로 이끌었습니다. = AI의 활용 범위를 크게 확장

BERT : 주로 텍스트 이해 작업(예: 문장 분류, 질문 답변)에 사용
GPT : 주로 텍스트 생성 작업(예: 문장 완성, 창작 글쓰기)에 사용됨

4) 전이학습(Transfer Learning)의 용이성 향상

  • 대규모 데이터로 사전 학습된 모델을 다양한 하위 테스크에 쉽게 적용할 수 있습니다.

참조
https://blog.kakaocloud.com/91
https://wikidocs.net/31379


profile
해보고 싶은 것이 너무나도 많은 하고잡이

0개의 댓글