[논문리뷰] Attention is All you need

인관종·2025년 9월 29일

AI 논문리뷰(AI Paper)

목록 보기
3/11
post-thumbnail

Attention Is All You Need 논문은 2025년 9월 기준으로 약 196,417회 인용된 딥러닝 / 자연어처리 분야의 대표작이다. 현대 대규모 언어모델(LLM)의 기반이 되었으며, 인공지능 연구 흐름을 완전히 바꿨다.
“어텐션만 있으면 된다”라는 제목부터 강한 이목을 끈다. 개인적으로 이러한 패기 있는 선언은 멋지고 힙하다고 생각한다.

원문은 아래 링크를 참조.

Original Paper : https://arxiv.org/abs/1706.03762


Attention Is All You Need (Transformer)

딥러닝, 특히 NLP 분야에 한 획을 그은 논문, "Attention Is All You Need"를 자세히 리뷰해 보겠습니다. 이 논문에서 제안된 트랜스포머(Transformer) 아키텍처는 현재 GPT, BERT 등 수많은 언어 모델의 기반이 되고 있다.

기존 RNN, LSTM 기반 모델의 한계를 극복하고 오직 어텐션(Attention) 메커니즘만으로 어떻게 더 뛰어난 성능을 달성했는지, 목차별로 핵심 내용을 정리해보았습니다.

요약(Abstract)

이 논문의 핵심은 간단하다. 기존의 복잡한 RNN(순환 신경망)이나 CNN(합성곱 신경망) 기반의 인코더-디코더 구조를 완전히 대체하는 새로운 아키텍처, 트랜스포머(Transformer)를 제안했다.

트랜스포머는 이름처럼 재귀(Recurrence)나 합성곱(Convolution) 없이 오직 어텐션 메커니즘에만 의존하여 시퀀스 데이터의 관계를 파악한다.

  • 성능 : 기계 번역 태스크에서 기존 SOTA(State-of-the-art) 모델보다 우수한 성능을 보였다.

    • WMT 2014 영어-독일어 번역: 28.4 BLEU (기존 최고 성능보다 2 BLEU 이상 향상)
    • WMT 2014 영어-프랑스어 번역: 41.0 BLEU (새로운 단일 모델 최고 기록)
  • 효율성 : 병렬화에 용이하여 훈련 시간을 획기적으로 단축시켰다.


1. 서론 (Introduction)

기존의 기계 번역과 같은 시퀀스 변환 모델들은 대부분 RNN, 특히 LSTM이나 GRU를 기반으로 했다. 하지만 이런 순환 모델들은 입출력 시퀀스를 순차적으로 처리해야 한다는 본질적인 한계가 있었다. 이는 시퀀스가 길어질수록 계산 속도가 느려지고 병렬화가 어렵다는 단점으로 이어졌다.

어텐션 메커니즘은 이러한 한계를 일부 보완해주었지만, 여전히 RNN과 함께 사용되는 보조적인 역할에 그쳤다.

이 논문은 과감하게 재귀 구조를 버리고, 전적으로 어텐션에만 의존하여 입력과 출력 간의 전역적인 관계(Global Dependencies)를 학습하는 트랜스포머를 제안했다.


2. 배경 (Background)

순차적 계산을 줄이려는 시도는 이전에도 있었다. Extended Neural GPU, ByteNet, ConvS2S 같은 모델들은 CNN을 활용하여 병렬 계산을 시도했다.

  • CNN 기반 모델의 한계: 두 위치 간의 관계를 파악하기 위해 필요한 연산 횟수가 거리에 따라 선형적 또는 로그적으로 증가했다. 즉, 멀리 떨어진 단어 간의 관계를 학습하기 어려웠다.
  • 트랜스포머의 장점: 셀프-어텐션(Self-Attention)을 통해 이 연산 횟수를 상수 시간(O(1)O(1))으로 줄였다. 어떤 위치에 있든 모든 단어 간의 관계를 동일한 연산량으로 파악할 수 있게 되었다.

셀프-어텐션(Self-Attention)이란?
하나의 시퀀스 내에서 다른 위치에 있는 단어들을 서로 연결하여 해당 시퀀스의 표현(representation)을 계산하는 어텐션 메커니즘이다.

트랜스포머는 RNN이나 CNN 없이 오직 셀프-어텐션만으로 입출력 표현을 계산하는 최초의 변환 모델이라는 점에서 독창적이다.


3. 모델 아키텍처 (Model Architecture)

트랜스포머도 기존 모델들처럼 인코더-디코더 구조를 따른다.

  • 인코더 (Encoder): 입력 시퀀스(예: 한국어 문장)를 받아 연속적인 표현(representation)으로 변환한다.
  • 디코더 (Decoder): 인코더의 표현을 받아 출력 시퀀스(예: 영어 문장)를 한 단어씩 생성한다.

    • 내용: 트랜스포머의 전체 아키텍처를 보여주는 그림이다. 왼쪽이 인코더 스택, 오른쪽이 디코더 스택이며, 두 스택이 어떻게 연결되는지 명확히 보여준다.

3.1 인코더 및 디코더 스택

  • 인코더 (Encoder)

    • 총 6개의 동일한 레이어를 쌓아 만들었다.
    • 각 레이어는 멀티 헤드 셀프-어텐션(Multi-Head Self-Attention)위치별 피드-포워드 신경망(Position-wise Feed-Forward Network), 두 개의 서브 레이어로 구성된다.
    • 각 서브 레이어에는 잔차 연결(Residual Connection)레이어 정규화(Layer Normalization)가 적용된다.
  • 디코더 (Decoder)

    • 역시 6개의 동일한 레이어로 구성된다.
    • 인코더의 두 서브 레이어 외에, 인코더의 출력에 대한 어텐션을 수행하는 인코더-디코더 어텐션 서브 레이어가 하나 더 추가된다.
    • 디코더의 셀프-어텐션에는 마스킹(Masking) 기법이 적용된다. 이는 예측 시점(i)에서 미래 시점(i+1, i+2, …)의 단어 정보를 참고하지 못하게 하여, 모델이 정답을 훔쳐보는 것을 방지한다.

3.2 어텐션 (Attention)

어텐션은 쿼리(Query, Q)키(Key, K)와의 유사도를 계산하고, 이 유사도를 가중치로 삼아 값(Value, V)의 가중 합을 구하는 메커니즘이다. “내가 어떤 정보(Q)에 대해, 어떤 키워드(K)를 기준으로 중요한 값(V)들을 가져올 것인가?”로 이해할 수 있다.

  • 내용 : 스케일드 닷-프로덕트 어텐션의 연산 과정을 도식화한 그림이다. (오른쪽) 멀티 헤드 어텐션이 어떻게 여러 어텐션을 병렬로 수행하고 결과를 합치는지 시각적으로 설명한다.

3.2.1 스케일드 닷-프로덕트 어텐션 (Scaled Dot-Product Attention)

트랜스포머는 내적(Dot-Product) 기반의 어텐션을 사용한다.

  • 계산식
    Attention(Q, K, V) = softmax( (Q * K^T) / sqrt(d_k) ) * V
  • 스케일링 이유 : 키(K)의 차원(dkd_k)이 커질수록 내적 값이 너무 커져 softmax 함수의 기울기(gradient)가 0에 가까워지는 문제를 방지하기 위해 dk\sqrt{d_k}로 나눠준다. 이는 안정적인 학습을 가능하게 한다.

3.2.2 멀티 헤드 어텐션 (Multi-Head Attention)

한 번의 어텐션을 수행하는 대신, Q, K, V를 여러 개(hh개, 논문에서는 8개)의 작은 차원으로 나누어 병렬적으로 어텐션을 수행한 뒤, 결과를 다시 합치는 방식이다.

  • 장점 각 어텐션 헤드(head)가 문장의 다른 측면(예: 어떤 헤드는 문법 구조, 다른 헤드는 의미 관계)을 학습할 수 있어, 모델이 다양한 정보를 종합적으로 포착하도록 돕는다. 즉, “다양한 관점에서 문장을 바라보는 효과”를 준다.

3.3 위치별 피드-포워드 네트워크 (Position-wise Feed-Forward Networks)

어텐션 서브 레이어를 통과한 결과는 완전 연결 피드-포워드 네트워크를 한 번 더 거친다. 이는 각 위치(단어)마다 개별적으로, 하지만 동일한 가중치를 공유하며 적용된다. 어텐션을 통해 얻은 문맥 정보를 더욱 정교하게 처리하는 역할을 한다.

3.4 위치 인코딩 (Positional Encoding)

트랜스포머는 RNN처럼 단어를 순서대로 입력받지 않기 때문에, 단어의 순서 정보를 모델에 알려줄 방법이 필요하다. 이를 위해 위치 인코딩 값을 입력 임베딩에 더해준다.

  • 방식 서로 다른 주파수를 가진 sin, cos 함수를 사용하여 각 위치에 대한 고유한 벡터를 생성한다.
  • 장점 이 방식을 사용하면 모델이 학습 데이터에 없던 긴 시퀀스에 대해서도 위치 정보를 유추(extrapolate)할 수 있으며, 상대적인 위치 관계를 쉽게 학습할 수 있다.

4. 왜 셀프-어텐션인가 (Why Self-Attention)

논문은 셀프-어텐션을 RNN, CNN과 세 가지 측면에서 비교하며 장점을 설명했다.

  • 내용 : Self-Attention, Recurrent, Convolutional 레이어의 계산 복잡도, 순차 연산 횟수, 최대 경로 길이를 비교하여 Self-Attention의 우수성을 수치로 보여준다.
  1. 계산 복잡도 : 시퀀스 길이(nn)가 임베딩 차원(dd)보다 작을 때, 셀프-어텐션이 RNN보다 빠르다.
  2. 병렬화 : 셀프-어텐션은 순차 연산 횟수가 O(1)O(1)이므로 병렬화에 매우 유리하다. 반면 RNN은 O(n)O(n)으로, 시퀀스 길이에 비례하여 순차 계산이 필요하다.
  3. 장거리 의존성 학습 : 단어 간의 최대 경로 길이가 O(1)O(1)로 매우 짧아, 문장 내에서 멀리 떨어진 단어 간의 관계를 효과적으로 학습할 수 있다.

5. 훈련 (Training)

  • 데이터셋 : WMT 2014 영어-독일어, 영어-프랑스어 번역 데이터셋

  • 하드웨어 : NVIDIA P100 GPU 8개

  • 옵티마이저 : Adam optimizer (학습률 스케줄러 포함)

  • 정규화

    • 잔차 드롭아웃 (Residual Dropout) : 과적합 방지
    • 레이블 스무딩 (Label Smoothing) : 모델이 정답을 너무 확신하지 않도록 하여 일반화 성능을 향상시킴

6. 결과 (Results)

6.1 기계 번역

트랜스포머는 훨씬 적은 훈련 비용으로 기존의 모든 모델을 능가하는 성능을 보여주었다.

  • 내용 : 트랜스포머(base, big)와 다른 모델들(GNMT, ConvS2S)의 BLEU 점수 및 훈련 비용을 비교한 표이다. 트랜스포머의 압도적인 효율성과 성능을 보여주는 핵심 결과이다.
  • 영어-독일어 번역 : 28.4 BLEU를 달성하여 기존 최고 성능을 2.0 BLEU 이상 경신했다.
  • 영어-프랑스어 번역 : 41.0 BLEU를 달성했으며, 훈련 비용은 1/4 수준이었다.

6.2 모델 변형 실험

트랜스포머의 어떤 요소가 중요한지 알아보기 위한 다양한 실험 결과이다.

  • 내용 : 어텐션 헤드 수, 키/값의 차원, 모델 크기 등 다양한 하이퍼파라미터를 변경했을 때의 성능 변화를 보여주는 표이다. 이를 통해 각 요소의 중요성을 파악할 수 있다.
  • 헤드 수(hh) : 8개가 최적이었으며, 1개일 때는 성능이 하락했다. 헤드가 너무 많아도 품질이 저하되었다.
  • 모델 크기 : 모델이 클수록 성능이 더 좋았다.
  • 위치 인코딩 : 학습 가능한 위치 임베딩과 sin/cos 함수 방식의 성능은 거의 동일했다.

7. 결론 (Conclusion)

이 논문은 RNN, CNN을 멀티 헤드 셀프-어텐션으로 완전히 대체한 트랜스포머를 제안했다.

  • 성과 : 훈련 속도를 획기적으로 단축하면서도 번역 품질에서 새로운 SOTA를 달성했다.
  • 의의 : 트랜스포머는 이후 NLP 분야의 패러다임을 바꾸는 게임 체인저가 되었고, 현재 거의 모든 최신 언어 모델의 근간을 이루고 있다.
  • 향후 과제 : 텍스트를 넘어 이미지, 오디오, 비디오 등 다른 도메인으로의 확장 가능성을 제시했다.

11페이지 분량으로 길지 않고, 표와 그림이 많아 읽기 좋다고 생각합니다.
현재 LLM의 기반이고 인공지능 연구의 흐름을 완전히 바꿔준 논문으로 인공지능이 관심이 있거나 인공지능관련 종사자이면 꼭 읽어봐야한다고 생각합니다.

제목부터 패기가 넘치고 매력적인 논문.

Attention is all you need 논문이후로 ~ is all you need 논문제목의 패러디들도 많이 생겼다고 한다.

그만큼 리뷰한 논문이 엄청 혁신적이였다는 뜻이라고 해석된다.

결국 Attention is all you need 논문의 결론은 제목에 나와있다.

어텐션만 있으면 된다.

profile
인공지능 관심많은 종자

0개의 댓글