논문 · arXiv 1706.03762
Attention Is All You Need
세 줄 요약
- 🎯 순환 모델은 토큰 위치에 따라 순차적으로 연산하여 학습 시 시퀀스 내 병렬 처리가 불가능하고 장기 의존성 경로 길이가 길어지는 문제가 있습니다.
- 🔧 스케일드 닷-프로덕트 멀티 헤드 셀프 어텐션과 위치별 피드포워드 네트워크에 전적으로 기반한 인코더-디코더 아키텍처인 Transformer를 제안합니다.
- 📈 WMT 2014 영어-독일어 28.4 BLEU, 영어-프랑스어 41.8 BLEU로 최고 수준의 번역 성능을 달성했으며, 8개의 GPU로 3.5일 만에 학습을 완료했습니다.
초록
기존의 대표적인 시퀀스 변환 모델들은 인코더-디코더 구조 기반의 복잡한 순환 신경망이나 합성곱 신경망을 주로 사용했습니다. 가장 뛰어난 성능을 보이는 모델들 역시 어텐션 메커니즘을 통해 인코더와 디코더를 연결해 왔습니다. 본 논문에서는 순환 및 합성곱 구조를 완전히 배제하고 오로지 어텐션 메커니즘에만 기반한 새로운 단순 네트워크 아키텍처인 Transformer를 제안합니다. 두 가지 기계 번역 과제에 대한 실험 결과, 이 모델은 병렬화가 훨씬 용이하고 학습 시간이 현저히 적게 소요되면서도 더 우수한 품질을 보여주었습니다. 본 모델은 WMT 2014 영어-독일어 번역 과제에서 기존의 앙상블을 포함한 최고 기록을 2 BLEU 이상 경신하며 28.4 BLEU를 기록했습니다. WMT 2014 영어-프랑스어 번역 과제에서는 8개의 GPU로 3.5일간 학습한 후 단일 모델 기준 최고 점수인 41.8 BLEU를 달성했으며, 이는 기존 문헌의 최고 모델들과 비교해 학습 비용의 극히 일부에 불과합니다. 또한, 방대하거나 제한적인 학습 데이터를 사용한 영어 선거구 분석(constituency parsing) 과제에 성공적으로 적용함으로써 Transformer가 다른 과제에도 우수하게 일반화됨을 입증했습니다.
영어 원문 초록
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
논문 해설
문제 및 동기
기존의 지배적인 시퀀스 변환 아키텍처는 인코더-디코더 구조로 배치된 순환 신경망(예: LSTM, GRU)이나 합성곱 신경망에 의존했습니다. 순환 신경망은 본질적으로 은닉 표현을 순차적으로 계산하므로(과 입력 를 조건으로 하는 ), 학습 예제 내에서 시간 단계(time step) 간 병렬화가 불가능합니다. 또한 순환 네트워크에서 멀리 떨어진 위치 간의 관계를 파악하려면 의 순차 연산이 필요하며, ConvS2S 및 ByteNet과 같은 합성곱 모델에서도 임의의 위치를 연결하려면 또는 의 연산이 요구됩니다. 저자들은 순환과 합성곱을 완전히 배제하여 시퀀스 길이에 걸친 완전한 병렬 처리를 가능하게 하고 임의의 두 토큰 간 최대 경로 길이를 로 단축하는 아키텍처 구축을 목표로 했습니다.
핵심 아이디어
- 순수 어텐션 아키텍처(Pure Attention Architecture): 순환 연결을 전적으로 어텐션 메커니즘으로 대체하여 시퀀스 내 모든 위치 간의 의존성을 직접 매핑합니다.
- 스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention): 내적 값을 로 스케일링하여 고차원에서 내적 값이 지나치게 커져 소프트맥스 함수가 기울기 소실(vanishing gradients) 구간으로 이동하는 현상을 방지합니다.
- 멀티 헤드 어텐션(Multi-Head Attention): 쿼리(queries), 키(keys), 값(values)을 병렬로 여러 저차원 표현 부분 공간으로 선형 사영하여, 네트워크가 서로 다른 위치와 표현 공간의 정보에 동시에 주목할 수 있도록 합니다.
- 위치 인코딩(Positional Encoding): 어텐션 연산 자체는 순열 불변(permutation-invariant) 특성을 가지므로, 다양한 주기의 고정된 삼각함수 값을 입력 및 출력 임베딩에 더해 토큰의 순서 정보를 주입합니다.
방법론
Transformer는 각각 개의 동일한 층을 쌓아 올린 인코더-디코더 프레임워크를 사용합니다.
인코더 및 디코더
각 인코더 층은 두 개의 서브 층으로 구성됩니다: 멀티 헤드 셀프 어텐션 메커니즘과 위치별 완전 연결 피드포워드 네트워크(FFN). 잔차 연결(residual connection)과 층 정규화(layer normalization)가 각 서브 층에 적용되며, 형태로 차원에서 연산됩니다.
각 디코더 층은 세 개의 서브 층을 포함합니다: 마스크드 멀티 헤드 셀프 어텐션(미래 위치를 가려 자기회귀적 디코딩 특성 유지), 인코더 출력에 대한 멀티 헤드 크로스 어텐션, 위치별 FFN.
수학적 정식화
행렬 에 대한 스케일드 닷-프로덕트 어텐션은 다음과 같이 계산됩니다:
멀티 헤드 어텐션은 개의 병렬 사영을 결합합니다: 기본(base) 모델의 경우 , 입니다.
위치별 피드포워드 서브 층은 각 위치에 동일하게 적용됩니다: 여기서 내부 레이어 차원은 입니다.
위치 인코딩은 사인 및 코사인 함수로 정의됩니다:
결과
- WMT 2014 영어-독일어: Transformer(big)는 28.4 BLEU로 기존 모델과 앙상블을 2.0 BLEU 이상 앞서며 당시 최고 기록을 달성했습니다. 베이스 모델은 이전 아키텍처 비용의 극히 일부인 FLOPs만을 사용하여 27.3 BLEU를 기록했습니다.
- WMT 2014 영어-프랑스어: 빅 모델은 8대의 NVIDIA P100 GPU로 3.5일간 학습( FLOPs) 후 41.8 BLEU(단일 모델)를 달성하여 새로운 최고 기록을 세웠습니다.
- 영어 선거구 분석(English Constituency Parsing): 작업별 특화 튜닝 없이 WSJ Section 23에서 평가한 결과, 4계층 Transformer는 판별(discriminative) 설정에서 91.3 , 준지도(semi-supervised) 설정에서 92.7 을 기록하며 RNN 기반 베이스라인을 능가했습니다.
한계점 및 미해결 과제
- 표준 셀프 어텐션은 층당 의 연산 복잡도를 가지므로, 매우 긴 시퀀스 길이 에 대해 연산 비용이 크게 증가합니다.
- 디코더의 생성이 여전히 자기회귀적(순차적으로 한 번에 하나의 토큰 생성)으로 이루어지므로 추론 지연 시간(latency)이 제한됩니다.
- 대규모 입력 및 출력 컨텍스트(예: 이미지, 오디오, 비디오)를 효율적으로 처리하기 위해 국소적(local) 또는 제한된 어텐션 이웃()을 탐구할 필요성이 제기됩니다.
핵심 용어
- Transformer
- 순환이나 합성곱 없이 순수하게 셀프 어텐션 메커니즘에만 기반을 둔 시퀀스 변환 모델 아키텍처.
- Scaled Dot-Product Attention
- 값(value)에 대한 소프트맥스를 계산하기 전에 쿼리(query)와 키(key)의 내적을 키 차원의 제곱근인 로 나누어주는 어텐션 함수.
- Multi-Head Attention
- 쿼리, 키, 값을 병렬로 여러 표현 부분 공간에 사영한 후 출력을 연결(concatenate)하여 사영하는 어텐션 메커니즘.
- Self-Attention
- 단일 시퀀스의 표현을 계산하기 위해 해당 시퀀스의 서로 다른 위치들을 상호 연관시키는 시퀀스 내부 어텐션 메커니즘.
- Positional Encoding
- 순열 불변 특성을 갖는 어텐션 계층에 토큰의 시퀀스 순서 정보를 주입하기 위해 토큰 임베딩에 더해지는 고정되거나 학습된 벡터 표현.
- Residual Dropout
- 서브 층 입력을 더하고 층 정규화를 적용하기 전 각 서브 층의 출력 및 토큰 임베딩에 적용되는 드롭아웃.
- Label Smoothing
- 학습 중 지나치게 확신하는 예측에 페널티를 부여하는 정규화 기법()으로, 펄플렉서티(perplexity)에는 다소 부정적이지만 BLEU 점수를 향상시킴.
- Constituency Parsing
- 구조적 제약과 긴 대상 출력을 요구하는 구문 분석 NLP 과제로, Transformer 아키텍처의 일반화 성능을 입증하는 데 활용됨.
자주 묻는 질문
Scaled Dot-Product Attention에서 $\sqrt{d_k}$로 나누는 이유는 무엇인가요?
값이 클수록 내적 결과의 절댓값이 매우 커져(평균 0, 분산 1을 가정할 때 내적의 분산은 ), 소프트맥스 함수가 기울기가 극히 작은 영역으로 밀려나게 됩니다. 로 스케일링하면 이러한 현상을 완화할 수 있습니다.
Transformer는 순환 구조 없이 어떻게 토큰의 순서를 유지하나요?
인코더와 디코더 스택 하단의 입력 및 출력 임베딩에 주기 함수 기반의 사인/코사인 위치 인코딩을 직접 더하여 각 토큰 위치에 고유한 주파수 패턴을 부여합니다.
학습 중 디코더 위치가 미래 토큰을 참조하지 못하도록 어떻게 방지하나요?
디코더의 셀프 어텐션 서브 층에서 허용되지 않는 미래 연결에 해당하는 소프트맥스 입력 값을 로 설정하는 마스킹(masking)을 사용합니다.
학습에 사용된 하드웨어 및 연산 요구량은 어느 정도였나요?
베이스 모델은 8대의 NVIDIA P100 GPU가 장착된 단일 머신에서 100,000 스텝(스텝당 0.4초, 총 12시간) 동안 학습되었습니다. 빅 모델은 300,000 스텝(스텝당 1.0초, 총 3.5일) 동안 학습되었습니다.
이 페이지의 해설은 AI가 논문을 바탕으로 작성했으며 오류가 있을 수 있습니다. 자세한 내용은 원문을 확인하세요.