All you need is Attention
0. 읽은이유
일단 llm관련해서 연구를 하고싶으면, 최신 llm에 대해 어느정도 알아야한다고 생각해서 읽기 시작함.
1. 논문 정보
- 저자: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, Illia Polosukhin
- 학술지/학회: Advances in Neural Information Processing Systems 30
- 발표 연도: 2017
- DOI (Digital Object Identifier):
2. 서론
- 연구 배경 및 중요성: 기존 seq2seq모델의 한계를 해결하기 위한 새로운 언어모델의 제안한다.
- 주요 연구 질문 또는 목표: CNN,RNN과 같은 신경망을 사용하지 않고,Attention 메커니즘만을 사용하여 만든 Transformer모델을 제안한다.
- 시퀀셜하게 단어를 예측하던 기존모델에서 벗어나, 문맥 전체 단어들의 관계를 파악하여 결과를 생성하는 새로운 모델을 제안한다.
- 리뷰어의 첫인상 (간략 요약): 25년도에 읽고있기 때문에, 익숙해진 내용이라고는 생각하지만, 그당시 지금과 같은 llm이 많이 제안되지 않았던것을 생각하면, 당연 필수라고 생각되는 신경망을 제거하는게 얼마나 과감한 시도인지 알수있다.
3. 본론
3.1 내용 요약
![[images/스크린샷 2025-04-29 오전 9.55.54.png]] 트렌스포머 아키텍처의 구조는 다음과같이, 인코더, 디코더로 나뉜다.
다음은 해당 도식에서 보이는 함수들의 대한 설명이다.
- Multi-Head Attention
- 입력 벡터를 을 h개의 각기 다른 행렬의 곱을 통해 h개로 나눈뒤 각각 어텐션 연산을 수행한 뒤 concat연산을 수행한다. 그 뒤 다시 행렬곱을 통해, 차원을 입력벡터와 동일하게 한다.

- 입력에 적용되는 행렬곱의 W는 모두 학습가능한 값 이기 때문에, 단어에 들어있는 어려가지의 정보(감정의정도, 문맥, 화자, 의미등등)을 나누어 학습할수있다. 또한 병렬처리가 가능하기때문에 GPU를 사용하면 학습 시간을 줄일수있다.
- Feed Forward Network
- 선형변환 - 활성화함수(ReLU) - 선형변환 의 형태로 차원을 대폭 늘려, 의미를 풍부하게 한다(?)
- 선형변환에 들어가는 가중치 와 편향 모두 학습가능한 값이다.
- Embedding
- 단어를 벡터로 변환하는 함수다. 임베딩또한 학습가능하지만, 위의 함수들처럼 학습되는것이 아닌, 이미 학습이 끝난 모델을 사용한다.
- 출력/입력 임베딩과 확률출력단에 있는 선형변환은 동일한 가중치를 공유하여, 모델크기를 줄이고, 혼동을 줄인다.
다음은 해당 논문에서 어텐션을 활용하는 3가지 방식이다.
- Encoder-Decoder Attention
- 어텐션의 쿼리는 디코더에서, 키와 벨류는 인코더에서 가져온다.
- Self-Attention
- Encoder-Encoder
- 모든 쿼리, 키, 벨류는 이전 레이어의 인코더에서 받아온다.
- Decoder-Decoder
- 모든 쿼리, 키, 벨류는 이전 레이어의 디코더에서 받아온다.
- 다만 디코더의 경우 아직 생성되지 않은 오른쪽의 위치한 단어가 현제 단어에 미치는 영향을 막아야한다.(need to prevent leftward information flow)
- 그렇기때문에 이 경우, 현제 단어 우측에 위치하는 단어에 대하여 소프트맥스 함수를 거칠때 모두 -∞으로 치환한다.(이 경우 소프트맥스를 거치면 확률이 0에 수렴하기 때문에)(Masking)
- Encoder-Encoder
다음은 셀프 어텐션을 사용하는 이유이다.

- 계산 복잡성
- self-attention의 계산복잡성은 O(n^2 _ d), 제한된 self-attention은 O(r _ n _ d) 로 CNN과, RNN의 핵심연산인 Convolutional O(k _ n _ d^2) ,Recurrent O(n _ d^2) 와 비교해 쉬운 연산이다
- 병렬화 가능성
- self-attention은 각 단어에따라 독립적인 연산이기때문에 병렬화가 가능하다.
- 장거리 의존성간 경로길이(Path Length for Long-Range Dependencies)(?)
- 단 한번의 연산으로 모든 단어와의 관계가 연결된다.
3.2 강점 분석
- 참신성 및 독창성: 기존의 신경망 기반의 언어모델의 단점을 해소하고, 성능면에서도 더 나은 성과
- 이론적 기여도: 25년 현제 기준 거의 대부분의 llm의 기반논문
3.3 약점 및 개선점 분석
- 전반적인 자연어 처리를 목적으로 아키텍처이지만, 벤치마크는 번역에 대한 벤치마크만 있는점
- 개인적으로 아쉬운건.. 기존 RNN, CNN, seq2seq에 대한 내용은 너무 없다.. 읽기 힘들다.
4. 결론
- 종합 평가: 향후 자연어처리 모델에 지대한 영향을 준 논문으로, 독창적이고 과감한 접근방식(NN에서의 탈피), 기반지식이 있다면 읽는것조차 명쾌하고 좋은 논문