The Transformer language model architecture, originally proposed for machine translation, consists of an encoder and a decoder. The encoder is composed of a stack of N = 6 identical Transformer layers. Each layer has two sub-layers. The first one is a multi-head self-attention layer, and the other one is a simple position-wise fully connected feed-forward network. The decoder is composed of a stack of 6 identical layers. In addition to the two sub-layers in each encoder layer, the decoder has a third sub-layer, which performs multi-head attention over the output of the encoder stack. The attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is computed as a weighted sum of the values, where the weight assigned to each value is computed by a compatibility function of the query with the corresponding key. Instead of performing a single attention function with \(d_{model}\) dimensional keys, values and queries, it is found to be beneficial to linearly project the queries, keys and values \(h\) with different, learned linear projections to \(d_{k}\), \(d_{k}\) and \(d_{v}\) dimensions, respectively. Positional encoding is incorporated to fuse information about the relative or absolute position of the tokens in the sequence.
머신 번역을 위해 처음 제안된 Transformer 언어 모델 아키텍처는 Encoder와 Decoder로 구성됩니다. Encoder는 N = 6의 동일한 Transformer 레이어 스택으로 구성됩니다. 각 레이어에는 두 개의 하위 레이어가 있습니다. 첫 번째는 multi-head self-attention 레이어이고, 다른 하나는 단순한 위치별 완전 연결 피드 포워드 네트워크입니다. Decoder는 6개의 동일한 레이어 스택으로 구성됩니다. 각 Encoder 레이어의 두 개의 하위 레이어 외에도 Decoder에는 Encoder 스택의 출력에 대해 multi-head attention을 수행하는 세 번째 하위 레이어가 있습니다. Attention 기능은 쿼리와 키-값 쌍 세트를 출력에 매핑하는 것으로 설명할 수 있으며, 여기서 쿼리, 키, 값 및 출력은 모두 벡터입니다. 출력은 값의 가중치 합으로 계산되며, 각 값에 할당된 가중치는 해당 키와 쿼리의 호환성 함수에 의해 계산됩니다. \(d_{model}\) 차원의 키, 값, 쿼리를 사용하여 단일 attention 기능을 수행하는 대신, 학습된 서로 다른 선형 투영을 통해 쿼리, 키, 값 \(h\)를 각각 \(d_{k}\), \(d_{k}\), \(d_{v}\) 차원으로 선형적으로 투영하는 것이 유리한 것으로 나타났습니다. 위치 인코딩은 시퀀스에서 토큰의 상대적 또는 절대적 위치에 대한 정보를 융합하기 위해 통합됩니다.
머신 번역을 위해 처음 제안된 트랜스포머 언어 모델 아키텍처는 인코더와 디코더로 구성됩니다. 인코더는 N = 6의 동일한 트랜스포머 레이어 스택으로 구성됩니다. 각 레이어에는 두 개의 하위 레이어가 있습니다. 첫 번째는 다중 헤드 자기 주의 레이어이고, 다른 하나는 단순한 위치별 완전 연결 피드 포워드 네트워크입니다. 디코더는 6개의 동일한 레이어 스택으로 구성됩니다. 각 인코더 레이어의 두 개의 하위 레이어 외에도 디코더에는 인코더 스택의 출력에 대해 다중 헤드 주의를 수행하는 세 번째 하위 레이어가 있습니다. 주의 기능은 쿼리와 키-값 쌍 세트를 출력에 매핑하는 것으로 설명할 수 있으며, 여기서 쿼리, 키, 값 및 출력은 모두 벡터입니다. 출력은 값의 가중치 합으로 계산되며, 각 값에 할당된 가중치는 해당 키와 쿼리의 호환성 함수에 의해 계산됩니다. d_{model}$ 차원의 키, 값, 쿼리를 사용하여 단일 주의 기능을 수행하는 대신, 학습된 서로 다른 선형 투영을 통해 쿼리, 키, 값 $h$를 각각 $d_{k}$, $d_{k}$, $d_{v}$ 차원으로 선형적으로 투영하는 것이 유리한 것으로 나타났습니다. 위치 인코딩은 시퀀스에서 토큰의 상대적 또는 절대적 위치에 대한 정보를 융합하기 위해 통합됩니다.