본문 바로가기

IT 정보

[트랜스포머로 시작하는 자연어 처리] 트랜스포머 용어 정리

* 본포스팅은 <트랜스포머로 시작하는 자연어 처리>에서 발췌한 내용으로 작성되었습니다.

 

 

지난 수십 년 동안 CNNs(Convolutional Neural Network), RNNs(Recurrent Neural Networks)를 비롯한 다양한 인공신경망(Artificial Neural Networks, ANNs)이 개발되었다. 이들을 설명할 땐 공통적인 어휘들이 사용된다. 트랜스포머는 새로운 용어들을 도입하고 기존의 용어들을 다르게 사용한다. 이 부록은 트랜스포머를 간단히 살펴보며 트랜스포머의 용어를 설명한다. 트랜스포머 아키텍처는 딥러닝의 산업적인 활용을 고려하여 설계되었다. 트랜스포머는 병렬 처리에 적합한 구조를 가지고 있으며, 하드웨어를 최적화하기 위한 조건을 충족한다. 일례로 구글은 트랜스포머의 스택(stack) 구조를 활용하여 부동 소수점 정밀도를 적게 요구하는 도메인 특화 하드웨어를 설계했다. 트랜스포머 모델을 설계한다는 것은 하드웨어를 고려하는 것을 의미한다. 트랜스포머 아키텍처는 소프트웨어와 하드웨어를 최적화를 동시에 고려했다. 이 부록에서는 몇몇 신경망 용어를 새롭게 정의한다.

 

✔ 트랜스포머 용어 설명

 

1. 스택

아래 그림처럼 스택(stack)은 기존 딥러닝 모델과 다른 동일한 크기의 층(layer)을 쌓아 올린 형태이다. 스택은 아래에서 위로(bottom to top) 연결되어 있으며 인코더(encoder)나 디코더(decoder)가 될 수 있다.

 

 

트랜스포머의 스택은 위 층으로 갈수록 더 많은 것을 학습한다. 사람의 기억처럼 각 층은 다음 층으로 학습한 내용을 전달한다. 스택이 뉴욕의 엠파이어 스테이트 빌딩이라고 상상해 보자. 아래 층에서는 볼 수 있는 것이 많지 않다. 하지만 더 높은 층으로 올라갈수록 더 많이 더 멀리 볼 수 있다. 꼭대기에 도착하면 맨해튼의 환상적인 경치를 볼 수 있다!

 

 

2. 서브 층

각 층에는 아래 그림과 같은 서브 층(sublayer)이 있다. 서로 다른 층에 있는 각 서브 층은 동일한 구조를 가지고 있어, 하드웨어를 최적화하기 유리하다. 오리지널 트랜스포머에는 아래에서 위로 연결된 두 서브 층이 있다.

• NLP와 하드웨어 최적화를 위해 설계된 셀프-어텐션(self-attention) 서브 층
• 전통적인 순방향 네트워크(feedforward network)를 약간 변경한 서브 층

 

 

 

3. 어텐션 헤드

셀프-어텐션 서브 층은 헤드(head)라고 불리는 n개의 독립적이고 동일한 층으로 나눠진다. 오리지널 트랜스포머의 헤드는 8개이다. 아래 그림은 트랜스포머의 산업화된 구조와 하드웨어 적합성을 보여주기 위해 헤드를 프로세서(processor)로 표현했다.

 

 

위 그림은 병렬처리에 대한 트랜스포머의 강점을 나타내기 위해 어텐션 헤드를 마이크로프로세서(microprocessor)로 표현했다. 트랜스포머의 아키텍처는 NLP와 하드웨어 최적화에 모두 적합하다.

 


 

《트랜스포머로 시작하는 자연어 처리》

예스24

 

 

반응형