NL-341, Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, ICLR 2017

ABSTRACT

신경망이 정보를 흡수할 수 있는 능력은 그 파라미터 수에 의해 제한된다. 조건부 계산(conditional computation)은 네트워크의 일부가 예제마다 선택적으로 활성화되도록 하여, 계산량을 그에 비례해 늘리지 않고도 모델 용량을 극적으로 키우는 이론적 방법으로 제안되어 왔다. 그러나 실제로는 알고리즘적·성능적 난제가 상당하다. 본 연구에서는 이러한 난제를 해결하고 조건부 계산의 가능성을 마침내 실현하여, 현대 GPU 클러스터에서 계산 효율의 손실은 크지 않으면서 모델 용량을 1000배 이상 향상시킨다. 우리는 수천 개의 feed-forward 서브네트워크로 구성된 Sparsely-Gated Mixture-of-Experts 레이어(MoE)를 제안한다. 학습 가능한 게이팅 네트워크는 각 예제마다 사용할 전문가들의 희소한 조합을 결정한다. 우리는 이 MoE를 언어 모델링과 기계번역에 적용하는데, 이들 과제에서는 훈련 코퍼스에 존재하는 방대한 지식을 흡수하기 위해 모델 용량이 매우 중요하다. 또한 최대 1370억 개의 파라미터를 갖는 MoE가 스택된 LSTM 층 사이에 합성곱 방식으로 적용되는 아키텍처를 제시한다. 대규모 언어 모델링 및 기계번역 벤치마크에서, 이러한 모델은 더 낮은 계산 비용으로 기존 최고 성능을 크게 능가하는 결과를 보인다.

1 INTRODUCTION AND RELATED WORK

1.1 CONDITIONAL COMPUTATION

학습 데이터와 모델 크기를 함께 확장하는 것은 딥러닝 성공의 핵심이었다. 데이터셋이 충분히 클 때, 신경망의 용량(파라미터 수)을 늘리면 예측 정확도를 훨씬 더 크게 높일 수 있다. 이는 텍스트(Sutskever et al., 2014; Bahdanau et al., 2014; Jozefowicz et al., 2016; Wu et al., 2016), 이미지(Krizhevsky et al., 2012; Le et al., 2012), 오디오(Hinton et al., 2012; Amodei et al., 2015) 등의 영역에서 입증되었다. 일반적인 딥러닝 모델처럼 모든 예제마다 모델 전체를 활성화하는 경우, 모델 크기와 학습 예제 수가 함께 증가함에 따라 학습 비용이 대략 제곱적으로 증가한다. 안타깝게도, 계산 성능과 분산 계산의 발전은 이러한 수요를 따라가지 못하고 있다.

모델 용량을 계산 비용의 비례적 증가 없이 키우기 위한 방법으로, 다양한 형태의 조건부 계산이 제안되어 왔다(Davis & Arel, 2013; Bengio et al., 2013; Eigen et al., 2013; Ludovic Denoyer, 2014; Cho & Bengio, 2014; Bengio et al., 2015; Almahairi et al., 2015). 이러한 방식에서는 네트워크의 큰 부분이 각 예제마다 활성화되거나 비활성화된다. 게이팅 결정은 이진적이거나 희소하고 연속적일 수 있으며, 확률적이거나 결정적일 수도 있다. 게이팅 결정을 학습하기 위해 다양한 강화학습 및 역전파 방법이 제안되었다.

이러한 아이디어들은 이론적으로 유망하지만, 지금까지 모델 용량, 학습 시간, 또는 모델 품질에서 대규모 향상을 보여준 작업은 없었다. 우리는 그 이유를 다음과 같은 여러 난점의 결합으로 본다.

• 현대의 계산 장치, 특히 GPU는 분기(branching)보다 산술 연산에 훨씬 더 빠르다. 앞선 대부분의 연구는 이 점을 인식하고, 각 게이팅 결정마다 네트워크의 큰 블록을 켜거나 끄는 방식을 제안했다.

• 큰 배치 크기는 성능에 매우 중요하다. 이는 파라미터 전송과 업데이트 비용을 분산시키기 때문이다. 조건부 계산은 조건적으로 활성화되는 네트워크 부분의 배치 크기를 줄인다.

• 네트워크 대역폭은 병목이 될 수 있다. GPU 클러스터의 계산 성능은 장치 간 전체 네트워크 대역폭보다 수천 배 클 수 있다. 계산적으로 효율적이려면, 알고리즘의 계산 요구량이 네트워크 요구량에 비해 이 비율을 넘어야 한다. 임베딩 계층은 조건부 계산의 한 형태로 볼 수 있는데, 바로 이 문제 때문에 제약을 받는다. 임베딩은 일반적으로 네트워크를 통해 전송되어야 하므로, (예제, 파라미터) 상호작용의 수가 계산 용량이 아니라 네트워크 대역폭에 의해 제한된다.

• 방식에 따라, 각 청크 및/또는 각 예제 수준의 원하는 희소성을 달성하기 위해 손실 항이 필요할 수 있다. Bengio et al. (2015)은 이런 항을 세 가지 사용한다. 이러한 문제는 모델 품질과 부하 균형 모두에 영향을 줄 수 있다.

• 모델 용량은 매우 큰 데이터셋에서 가장 중요하다. 기존의 조건부 계산 연구는 최대 60만 장 정도의 상대적으로 작은 이미지 인식 데이터셋을 다룬다. 이 이미지들의 라벨이 수백만, 더 나아가 수십억 개의 파라미터를 가진 모델까지 적절히 학습시키기에 충분한 신호를 제공한다고 보기는 어렵다.

본 연구에서는 처음으로 위의 모든 난점을 다루고, 조건부 계산이 약속했던 가능성을 마침내 실현한다. 우리는 계산 효율의 손실은 거의 없이 모델 용량을 1000배 이상 향상시키며, 공개 언어 모델링 및 번역 데이터셋에서 최신 성능을 크게 앞선다. 

1.2 OUR APPROACH: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER

조건부 계산에 대한 우리의 접근은, 새로운 범용 신경망 구성요소인 Sparsely-Gated Mixture-of-Experts Layer(MoE)를 도입하는 것이다. MoE는 여러 개의 전문가(expert)로 이루어지며, 각 전문가는 단순한 feed-forward 신경망이고, 학습 가능한 게이팅 네트워크가 각 입력을 처리할 전문가들의 희소한 조합을 선택한다(그림 1 참조). 네트워크의 모든 부분은 역전파를 통해 함께 학습된다.

이 논문에서 도입한 기법은 일반적이지만, 우리는 매우 큰 모델이 이점이 있는 언어 모델링과 기계번역에 초점을 맞춘다. 특히 우리는 MoE를 stacked LSTM 층 사이에 합성곱 방식으로 적용한다(Hochreiter & Schmidhuber, 1997), 그림 1과 같다. 

MoE는 텍스트의 각 위치마다 한 번씩 호출되며, 위치마다 서로 다른 전문가 조합이 선택될 수 있다. 서로 다른 전문가들은 통사(syntax)와 의미(semantics)를 바탕으로 매우 전문화되는 경향이 있다(부록 E의 표 9 참조). 언어 모델링과 기계번역 벤치마크 모두에서, 우리는 훨씬 적은 계산 비용으로 기존에 발표된 최고 성능을 능가한다.

1.3 RELATED WORK ON MIXTURES OF EXPERTS

2대 이상 전부터 도입된 이래(Jacobs et al., 1991; Jordan & Jacobs, 1994), mixture-of-experts 접근법은 많은 연구의 대상이 되어 왔다. 전문가의 구조로는 SVM(Collobert et al., 2002), Gaussian Process(Tresp, 2001; Theis & Bethge, 2015; Deisenroth & Ng, 2015), Dirichlet Process(Shahbaba & Neal, 2009), 그리고 딥 네트워크 등 다양한 형태가 제안되었다. 다른 연구들은 계층적 구조(Yao et al., 2009), 무한 개의 전문가(Rasmussen & Ghahramani, 2002), 전문가를 순차적으로 추가하는 방식(Aljundi et al., 2016)처럼 서로 다른 전문가 구성에 초점을 맞추었다. Garmash & Monz (2016)은 기계번역을 위해 mixture-of-experts 형식의 앙상블 모델을 제안했으며, 게이팅 네트워크는 사전 학습된 앙상블 NMT 모델 위에서 학습된다.

위의 연구들은 전체 모델이 곧 mixture-of-experts인, 이른바 top-level mixture-of-experts를 다룬다. Eigen et al. (2013)은 각자 별도의 게이팅 네트워크를 가진 여러 MoE를 깊은 모델의 일부로 사용하는 아이디어를 제시했다. 복잡한 문제는 서로 다른 전문가를 필요로 하는 여러 하위 문제를 포함할 수 있으므로, 후자의 접근이 더 강력하다는 것은 직관적으로도 자연스럽다. 그들은 또한 결론에서 희소성(sparsity)을 도입할 가능성을 언급했으며, 이를 통해 MoE를 계산적 계산(computational computation)의 도구로 만들 수 있음을 시사했다.

우리의 작업은 MoE를 범용 신경망 구성요소로 사용하는 이러한 흐름 위에 놓여 있다. Eigen et al. (2013)은 두 개의 MoE를 쌓아 두 단계의 게이팅 결정을 가능하게 했지만, 우리의 MoE를 합성곱 방식으로 텍스트의 각 위치에 적용함으로써 위치마다 서로 다른 게이팅 결정을 내릴 수 있다. 또한 우리는 희소 게이팅을 실제로 구현하고, 이것이 모델 용량을 대규모로 늘리는 실용적인 방법임을 보여준다.

2 THE STRUCTURE OF THE MIXTURE-OF-EXPERTS LAYER

Mixture-of-Experts(MoE) 레이어는 n개의 “expert network” (E_1, \cdots, E_n)과, 출력이 희소한 n차원 벡터인 “gating network” (G)로 이루어진다. 

그림 1은 MoE 모듈의 개요를 보여준다. 

전문가들은 각각 자신만의 파라미터를 갖는 신경망이다. 원칙적으로는 전문가들이 같은 크기의 입력을 받아 같은 크기의 출력을 내기만 하면 되지만, 이 논문에서의 초기 연구에서는 동일한 아키텍처를 가지되 파라미터는 서로 다른 feed-forward 네트워크로 제한한다.

입력 (x)에 대해, 게이팅 네트워크의 출력과 i번째 전문가 네트워크의 출력을 각각 (G(x)), (E_i(x))라고 하자. 그러면 MoE 모듈의 출력 (y)는 다음과 같이 쓸 수 있다:

우리는 (G(x))의 출력이 희소하다는 점을 이용해 계산량을 줄인다. (G(x)_i = 0)인 경우에는 (E_i(x))를 계산할 필요가 없다. 우리의 실험에서는 전문가 수가 수천 개에 이르지만, 각 예제마다 실제로 평가해야 하는 것은 그중 극히 일부뿐이다. 

전문가 수가 매우 많아지면, 두 단계의 계층적(hierarchical) MoE를 사용해 분기 수를 줄일 수 있다. 계층적 MoE에서는 1차 게이팅 네트워크가 전문가들의 희소 가중 조합을 선택하고, 각 전문가는 다시 자기만의 게이팅 네트워크를 가진 2차 Mixture-of-Experts가 된다. 이하에서는 일반적인 MoE에 초점을 맞춘다. 계층적 MoE에 대한 자세한 내용은 부록 B에 있다.

우리의 구현은 다른 조건부 계산 모델들과 관련이 있다. 전문가가 단순한 가중치 행렬인 MoE는 (Cho & Bengio, 2014)에서 제안된 parameterized weight matrix와 유사하다. 전문가가 하나의 hidden layer를 갖는 MoE는 (Bengio et al., 2015)에서 설명한 block-wise dropout과 유사하며, 여기서 dropout된 층은 완전히 활성화된 층들 사이에 끼워져 있다.






















Reference

댓글