우세한 순열 변환 모델들은 인코더와 디코더를 포함하는 복잡한 순환 또는 합성곱 신경망에 기반을 두고 있습니다. 가장 성능이 우수한 모델들은 또한 인코더와 디코더를 어텐션 메커니즘을 통해 연결합니다. 우리는 재귀와 합성곱을 완전히 배제하고 오직 어텐션 메커니즘에만 기반한 새로운 간단한 네트워크 아키텍처인 Transformer를 제안합니다. 두 가지 기계 번역 작업에 대한 실험 결과, 이러한 모델들이 품질 면에서 우수할 뿐만 아니라 병렬화가 더 용이하며 훈련에 필요한 시간이 현저히 적음을 보여줍니다. 우리의 모델은 WMT 2014 영어-독일어 번역 작업에서 28.4의 BLEU 점수를 달성하여, 앙상블을 포함한 기존 최고 결과를 2 BLEU 이상 상회했습니다. WMT 2014 영어-프랑스어 번역 작업에서는 8개의 GPU에서 3.5일간 훈련한 후 단일 모델 기준 최신 BLEU 점수 41.8을 기록했으며, 이는 문헌상의 최상위 모델들의 훈련 비용의 작은 부분에 불과합니다. 우리는 대규모 및 제한된 학습 데이터를 모두 사용하여 영어 구성 구문 분석 작업에 성공적으로 적용함으로써 Transformer가 다른 작업으로 잘 일반화됨을 보여줍니다.
arXiv:1706.03762v7 [cs.CL] 2023년 8월 2일
∗동일한 기여도. 나열된 순서는 무작위입니다. Jakob은 RNN을 자기주의(self-attention)로 대체하는 아이디어를 제안하고, 이 아이디어를 평가하기 위한 작업을 시작했습니다. Ashish는 Illia와 함께 최초의 Transformer 모델을 설계하고 구현했으며, 이 작업의 모든 측면에 핵심적으로 관여했습니다. Noam은 스케일링된 닷-프로덕트 어텐션, 멀티헤드 어텐션 및 파라미터 없는 위치 표현을 제안했으며, 거의 모든 세부 사항에 관여한 또 다른 주요 인물입니다. Niki는 원래 코드베이스와 tensor2tensor에서 수많은 모델 변형을 설계, 구현, 튜닝 및 평가했습니다. Llion 또한 새로운 모델 변형에 실험했으며, 초기 코드베이스, 효율적인 추론 및 시각화를 담당했습니다. Lukasz와 Aidan은 tensor2tensor의 다양한 부분을 설계하고 구현하며 수없이 긴 시간을 보냈고, 이는 우리의 이전 코드베이스를 대체하여 결과를 크게 개선하고 연구 속도를 획기적으로 가속화했습니다.
†Google Brain 재직 중 수행한 연구.
‡Google Research 재직 중 수행한 연구.
1 서론
순환 신경망, 특히 장기 단기 기억 [13] 및 게이트드 순환 [7] 신경망은 언어 모델링과 기계 번역과 같은 시퀀스 모델링 및 전도 문제에서 최첨단 접근 방식으로 확고히 자리 잡았습니다 [35, 2, 5]. 이후 수많은 연구들이 순환 언어 모델과 인코더-디코더 아키텍처의 한계를 지속적으로 넓혀 왔습니다 [38, 24, 15].
순환 모델은 일반적으로 입력 및 출력 시퀀스의 심볼 위치를 따라 계산을 분할합니다. 계산 시간의 단계에 위치를 정렬함으로써, 이전 은닉 상태 ht−1과 위치 t의 입력을 함수로 하여 은닉 상태의 시퀀스 ht를 생성합니다. 이러한 본질적으로 순차적인 성질은 훈련 예제 내에서의 병렬화를 배제하며, 이는 메모리 제약이 예제 간 배치(batching)를 제한하기 때문에 더 긴 시퀀스 길이에서 특히 중요합니다. 최근 연구는 인수분해 트릭 [21]과 조건부 계산 [32]을 통해 계산 효율성을 크게 개선했으며, 후자의 경우 모델 성능도 향상시켰습니다. 그러나 순차적 계산의 근본적인 제약은 여전히 존재합니다.
어텐션 메커니즘은 다양한 작업에서 매력적인 시퀀스 모델링 및 전도 모델의 핵심 부분이 되었으며, 입력 또는 출력 시퀀스 내 거리와 무관하게 의존성을 모델링할 수 있게 해줍니다 [2, 19]. 그러나 대부분의 경우 [27] 이러한 어텐션 메커니즘은 순환 네트워크와 함께 사용됩니다.
본 논문에서는 재귀를 배제하고 대신 어텐션 메커니즘에만 전적으로 의존하여 입력과 출력 간의 전역적 의존성을 추출하는 Transformer라는 모델 아키텍처를 제안합니다. Transformer는 훨씬 더 많은 병렬화를 가능하게 하며, 8개의 P100 GPU에서 단 12시간만 학습해도 번역 품질에서 새로운 최첨단 기록을 달성할 수 있습니다.
2 배경
순차적 계산을 줄이는 목표는 Extended Neural GPU [16], ByteNet [18] 및 ConvS2S [9]의 기초를 형성하며, 이들은 모두 합성곱 신경망을 기본 구성 요소로 사용하여 모든 입력 및 출력 위치에 대해 은닉 표현을 병렬로 계산합니다. 이러한 모델에서 두 임의의 입력 또는 출력 위치 간 신호를 연관시키는 데 필요한 연산 수는 위치 간 거리에 따라 증가하며, ConvS2S의 경우 선형적으로, ByteNet의 경우 로그 함수적으로 증가합니다. 이로 인해 먼 거리에 있는 위치 간의 의존성을 학습하는 것이 더 어려워집니다 [12]. 트랜스포머에서는 이 문제가 상수 개의 연산으로 줄어들지만, 주의 가중치를 적용한 위치들을 평균화함으로써 유효 해상도가 감소하는 대가를 치릅니다. 이는 3.2절에서 설명하는 Multi-Head Attention으로 상쇄됩니다.
자기 주의 메커니즘(self-attention)은 때때로 내부 주의(intra-attention)라고 불리며, 단일 시퀀스의 서로 다른 위치들 간의 관계를 설정하여 시퀀스의 표현을 계산하는 주의 메커니즘입니다. 자기 주의는 읽기 이해, 추상적 요약, 텍스트 함의, 그리고 작업 독립적인 문장 표현 학습을 포함한 다양한 작업에서 성공적으로 사용되었습니다 [4, 27, 28, 22].
종단간 메모리 네트워크(end-to-end memory networks)는 시퀀스 정렬 순환 대신 재귀적 주의 메커니즘에 기반하며, 간단한 언어 질문 답변 및 언어 모델링 작업에서 우수한 성능을 보였습니다 [34].
그러나 저희가 아는 한, 트랜스포머는 시퀀스 정렬 RNN이나 합성곱을 사용하지 않고 자기 주의에만 전적으로 의존하여 입력과 출력의 표현을 계산하는 최초의 전도(transduction) 모델입니다. 다음 절에서는 트랜스포머를 설명하고, 자기 주의의 동기를 부여하며, [17, 18] 및 [9]와 같은 모델 대비 그 장점을 논의하겠습니다.
3 모델 아키텍처
대부분의 경쟁력 있는 신경 시퀀스 전도 모델은 인코더-디코더 구조를 가지고 있다 [5, 2, 35]. 여기서 인코더는 기호 표현들의 입력 시퀀스 (x1,...,xn)을 연속적인 표현들의 시퀀스 z=(z1,...,zn)로 매핑한다. z가 주어지면, 디코더는 한 번에 하나의 요소를 생성하여 기호들의 출력 시퀀스 (y1,...,ym)을 생성한다. 각 단계에서 모델은 자기회귀적(auto-regressive)이다 [10], 즉 다음 요소를 생성할 때 이전에 생성된 기호들을 추가 입력으로 소비한다.
Transformer는 스택된 자기 주의 메커니즘과 점별 완전 연결 레이어를 사용하여 인코더와 디코더 모두에 동일한 아키텍처를 따르며, 이는 각각 그림 1의 왼쪽과 오른쪽 반에서 나타납니다.
3.1 인코더와 디코더 스택
인코더: 인코더는 N=6개의 동일한 레이어가 쌓여 구성됩니다. 각 레이어에는 두 개의 하위 레이어가 있습니다. 첫 번째는 다중 헤드 자기 주의 메커니즘이고, 두 번째는 간단한 위치별 완전 연결 순방향 신경망입니다. 우리는 각 하위 레이어 주위에 잔차 연결 [11]을 사용하고, 그 후에 레이어 정규화 [1]를 적용합니다. 즉, 각 하위 레이어의 출력은 LayerNorm(x+Sublayer(x))이며, 여기서 Sublayer(x)는 하위 레이어 자체가 구현하는 함수입니다. 이러한 잔차 연결을 용이하게 하기 위해 모델 내 모든 하위 레이어와 임베딩 레이어는 차원 dmodel=512의 출력을 생성합니다.
디코더: 디코더 또한 N=6개의 동일한 레이어가 쌓여 구성됩니다. 인코더 레이어의 두 하위 레이어 외에도, 디코더는 인코더 스택의 출력에 대해 다중 주의를 수행하는 세 번째 하위 레이어를 삽입합니다. 인코더와 유사하게, 우리는 각 하위 레이어 주위에 잔차 연결을 사용하고 그 후에 레이어 정규화를 적용합니다. 또한 디코더 스택의 자기 주의 하위 레이어를 수정하여 특정 위치가 이후 위치들에 주의를 기울이는 것을 방지합니다. 이러한 마스킹과 출력 임베딩이 한 위치만큼 오프셋되어 있다는 사실은, 위치 i에 대한 예측이 오직 i보다 작은 위치들의 알려진 출력에만 의존할 수 있도록 보장합니다.
3.2 어텐션
어텐션 함수는 쿼리와 키-값 쌍의 집합을 출력으로 매핑하는 것으로 설명될 수 있으며, 여기서 쿼리, 키, 값 및 출력은 모두 벡터입니다. 출력은 가중 합으로 계산됩니다.
그림 2: (왼쪽) 스케일된 닷-프로덕트 어텐션. (오른쪽) 멀티-헤드 어텐션은 병렬로 실행되는 여러 어텐션 레이어로 구성됩니다.
각 값에 할당된 가중치는 쿼리와 해당 키의 호환성 함수를 통해 계산됩니다.
3.2.1 스케일된 닷-프로덕트 어텐션
우리는 특별한 주의 깊게 "스케일된 닷-곱 어텐션"(Figure 2)을 호출합니다. 입력은 차원이 dk인 쿼리와 키, 그리고 차원이 dv인 값으로 구성됩니다. 우리는 쿼리와 모든 키의 닷-곱을 계산하고, 각각을 dk로 나누며, 소프트맥스 함수를 적용하여 값에 대한 가중치를 얻습니다.
실제로, 우리는 일련의 쿼리들을 동시에 어텐션 함수에 계산하며, 이를 행렬 Q로 함께 포장합니다. 키와 값도 또한 행렬 K와 V로 함께 포장됩니다. 우리는 출력의 행렬을 다음과 같이 계산합니다:
Attention(Q,K,V)=softmax(dkQKT)V(1)
가장 일반적으로 사용되는 두 가지 어텐션 함수는 가법적 어텐션 [2]과 닷-곱(승법적) 어텐션입니다. 닷-곱 어텐션은 스케일링 인자 dk1를 제외하면 우리의 알고리즘과 동일합니다. 가법적 어텐션은 단일 은닉층을 가진 순방향 네트워크를 사용하여 호환성 함수를 계산합니다. 이론적 복잡성은 둘 다 유사하지만, 닷-곱 어텐션은 실제로 훨씬 빠르고 공간 효율적이므로, 이는 고도로 최적화된 행렬 곱셈 코드를 사용하여 구현될 수 있기 때문입니다.
작은 dk 값에서는 두 메커니즘이 비슷한 성능을 보이지만, 더 큰 dk 값에서는 스케일링 없는 닷-곱 어텐션보다 가법적 어텐션이 더 나은 성능을 보입니다 [3]. 우리는 큰 dk 값에서 닷-곱의 크기가 커져서 소프트맥스 함수가 매우 작은 기울기를 갖는 영역으로 밀어넣어진다고 추측합니다 4. 이 효과를 상쇄하기 위해, 우리는 닷-곱을 dk1로 스케일링합니다.
3.2.2 멀티 헤드 어텐션
dmodel 차원의 키, 값 및 쿼리를 사용하는 단일 어텐션 함수를 수행하는 대신, 우리는 학습된 서로 다른 선형 프로젝션을 통해 쿼리, 키 및 값을 각각 dk, dk 및 dv 차원으로 h번 선형 투영하는 것이 유익함을 발견했습니다. 그런 다음 이러한 투영된 버전의 쿼리, 키 및 값 각각에 대해 어텐션 함수를 병렬로 수행하여 dv 차원의
4q와 k의 성분이 평균이 0이고 분산이 1인 독립적인 확률 변수라고 가정하면, 내적 q⋅k=∑i=1dkqiki는 평균이 0이고 분산이 dk가 됩니다. 이는 내적 값이 커지는 이유를 설명합니다.
논문 리뷰가 얇아지는 이유는 영어보다 원고가 깨지기 때문
연구실 랩미팅은 다음 주 슬롯이 먼저 잡힙니다. 논문 리뷰 당번표에 이름이 올라가는 순간, 읽는 시간보다 「슬라이드를 채워야 하는 시간」이 더 짧아집니다.
영어 논문 읽는 법을 적은 블로그는 많습니다. Abstract를 먼저 보라, Related Work는 뒤로 미뤄라 — 조언은 맞습니다. 부족한 것은, 2단 PDF를 채팅창에 붙이는 순간 수식이 무너지고 표가 공백이 되는 현장의 실패입니다.
논문 리뷰 PPT가 얇아지는 이유의 대부분은 이해 부족이 아니라 소재 부족입니다. Transformer의 attention을 말로 설명하려면 softmax 식이 노트 위에 살아 있어야 합니다. 웹 번역기에 넣으면 인라인 수식이 단어로 깨지고, 캡션이 단을 건너 섞입니다. 그 잔해를 ChatGPT에 넘겨도 랩미팅에서 쓸 리뷰는 나오지 않습니다.
순서를 단순화합니다. 먼저 논문을, 수식이 LaTeX로 남은 대역 Markdown으로 만듭니다. 그다음 쓰던 NotebookLM이나 ChatGPT에 「다음 랩미팅용으로 기여·방법·실험·예상 질문」을 부탁합니다. PPT 디자인은 연구실 템플릿에 맞추면 됩니다.
논문 리뷰 PPT까지의 구체적인 절차
소개할 영어 논문 PDF를 정합니다. 페이지가 많으면 도입·방법·그림이 있는 범위면 충분합니다.
KolmoPDF 번역에 올리고, 출력을 대역(원문과 한국어)으로 둡니다. 수식·표·단 구성을 유지한 채 진행합니다.
받은 Markdown을 에디터에서 열고, 말할 순서대로 제목을 남깁니다. 랩미팅에서는 「이 논문이 무엇을 깼는지」가 맨 앞에 필요합니다.
같은 파일을 NotebookLM 소스로 넣거나 ChatGPT 긴 컨텍스트에 붙입니다. 지시는 「연구실 랩미팅용. 수식은 LaTeX 그대로. 슬라이드는 12장 이내 구성만」.
나온 구성을 연구실 PPT에 옮깁니다. 그림은 원논문 그림을 씁니다. AI에게 그림을 그리게 하지 않습니다.
영어 논문을 아직 다 못 읽은 주라도, 대역 노트가 있으면 구두 논문 리뷰는 성립합니다. 완전한 한국어 번역을 외울 필요는 없습니다. 슬라이드에 남기는 것은 문제 설정, 제안, 실험 숫자, 한계 — 이 넷이면 충분한 경우가 많습니다.
랩미팅에서 논문이 걸렸을 때
구글 검색창에 「랩미팅」 월간 검색량이 비어 있어도, 네이버 자동완성은 랩미팅 발표·준비·PPT를 밀어 올립니다. 한국 연구실에서 논문 리뷰가 실제로 불리는 자리입니다.
저널클럽이라는 수입 단어로 검색하면 병원 저널클럽과 섞입니다. 이 페이지의 대상은 이공 랩의 영어 논문 한 편입니다. 의학 저널클럽 진행표는 다루지 않습니다.
논문 읽는 법만 독립된 기술처럼 다루면 랩미팅 마감에 못 맞춥니다. Abstract와 결론을 먼저 보고, 그림 캡션을 먼저 읽는 고전적인 읽기는 그대로 씁니다. 다만 PDF 뷰어 안에서 하이라이트만 해서는 다음 날 논문 발표 슬라이드에 숫자가 남지 않습니다.
대역 Markdown으로 두면 검색할 수 있습니다. Attention 정의, 데이터셋 이름, 비교 기법 표를 랩미팅 아침에 자기 노트에서 집어 올립니다. 그게 「읽는 법」의 본체입니다.
이 페이지에서 하지 않는 것
논문 요약 AI(월 검색 2900)는 ChatPDF류가 이미 깔려 있습니다. 여기서 요약 서비스를 다시 만들지 않습니다. 요약은 수식이 남은 노트 다음에 하는 일입니다. FAQ에서만 한 줄로 가리킵니다.
논문 번역 AI, PDF 한글 번역은 메인 사이트의 도구 페이지가 맡습니다. 이 장면 페이지의 H1에 기능명을 올리지 않습니다.
데모는 Attention Is All You Need 앞 몇 쪽입니다. 왼쪽이 2단 영어 PDF, 오른쪽이 수식을 남긴 한국어 Markdown입니다. DeepL이나 채팅에 PDF를 바로 넣었을 때의 붕괴는 softmax 식과 캡션에서 잘 납니다. 논문 리뷰 PPT에 식을 올릴 거면 이 단계를 건너뛰지 않습니다.
자주 묻는 질문
논문 리뷰 PPT는 몇 장이 적당한가요?
연구실마다 다르지만, 12장 전후로 기여·방법·실험·한계를 말할 수 있으면 충분한 경우가 많습니다. 장수보다 식과 표가 원문과 맞는지가 질문에서 더 자주 나옵니다.
랩미팅 PPT에 영어를 남겨야 하나요?
모델 이름과 식은 영어·LaTeX 그대로가 안전합니다. 설명하는 본문만 한국어로 둡니다. 대역 노트가 있으면 슬라이드에 무엇을 올릴지 나중에 고를 수 있습니다.
영어 논문이 너무 힘들어 랩미팅이 돌아왔습니다.
전문을 정독하고 만들기 시작하면 못 맞춥니다. 그림·표와 방법 절을 대역하고, 리뷰를 먼저 입으로 낼 수 있는 형태로 둡니다. 정독은 발표 뒤에 돌아가도 됩니다.
논문 요약 AI만 쓰면 끝나나요?
끝나지 않습니다. 요약은 전처리 다음입니다. 랩미팅의 본체는 그 노트로 자기 말로 논문 리뷰를 하는 일입니다. AI에게 통째로 읽히면 질문에 못 버팁니다.
저널클럽이랑 같은 페이지인가요?
아닙니다. 저널클럽은 병원에서 쓰는 수입어이고 구글 검색량도 거의 없습니다. 이 페이지는 이공 랩미팅의 논문 리뷰입니다.