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

◼ Comment

  • 이 논문은 MoE의 시초로 쓱 봤는데, MoE 아이디어를 한번더 확인한 느낌
  • 알아둬야할것은 2.1 섹션이면 될것 같음
    • 즉 입력값에 weight 곱하고 softmax 취해서 expert 취한다는 것인데
    • 단순히 이렇게 하면 확률의 차이지 모든 expert을 계산해야하기 때문에
    • Noisy top-k gating이라해서, 가우시안 노이즈 더하고 expoert top-k만 선별하는 식으로 업데이트한다
  • 섹션4에서 MoE학습시, 몇 개의 epxert가 큰 가중치를 주는 상태로 수렴하는 경향이 있는 문제가 있음
    • 즉 선호되는 expert가 있고, 이것이 자주 선택되고 빠르게 학습되기 때문에 local minimum에 빠질 수 있다고함
    • 그래서 추가적인 loss을 제안해서 밸런싱을 맞추려고 한 것 같음

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된 층은 완전히 활성화된 층들 사이에 끼워져 있다.

2.1 GATING NETWORK

Softmax 게이팅: 비희소(non-sparse) 게이팅 함수의 가장 단순한 선택(Jordan & Jacobs, 1994)은 입력에 학습 가능한 가중치 행렬 (W_g)를 곱한 뒤 Softmax 함수를 적용하는 것이다.

Noisy Top-K 게이팅: 우리는 Softmax 게이팅 네트워크에 두 가지 요소, 즉 **희소성(sparsity)**과 **노이즈(noise)**를 추가한다. Softmax를 적용하기 전에 조절 가능한 Gaussian noise를 더한 뒤, 상위 (k)개 값만 남기고 나머지는 (-\infty)로 설정한다. 그러면 그에 대응하는 게이트 값은 0이 된다. 이러한 희소성은 위에서 설명한 대로 계산량을 줄이는 역할을 한다. 물론 이런 형태의 희소성은 게이팅 함수 출력에 이론적으로는 다소 불연속적인 지점을 만들지만, 실제로는 문제가 되지 않는다고 확인했다. 노이즈 항은 부하 균형(load balancing)에 도움이 되며, 이는 부록 A에서 설명한다. 각 성분에 대한 노이즈의 크기는 두 번째 학습 가능한 가중치 행렬 (W_{\text{noise}})가 조절한다.

  • 식2는 원래 입력에 Wg 곱해서 softmax 취해서 게이팅을 어떻게 할지 단순히 정하는건데, 계산량을 줄이기 위해 식3-5 방법을 제안
  • 먼저 식 4처럼, Wg을 곱하고 여기에 N(0,1)에서 샘플링한 가우시안 노이즈인 Standard Noraml()을 Softplus만큼 곱해서 더한다
  • Softplus는 입력 x에 Wnoise 곱한것을 양수로 만든 것으로 weight라고 보면됨 (expert i마다 노이즈 세기가 다른 형태)
  • 이렇게 만든 H(x)에서 top k 에 해당하는 expert만 학습한다는 것. 나머지는 -무한대로 만들어 버리는 것
  • 따라서 항상 top-k외에 expert는 계산이 안되고, top-k만 학습하기 때문에 계산량을 줄여줘서 load balancing에 도움이 됨

게이팅 네트워크 학습: 우리는 게이팅 네트워크도 모델의 나머지 부분과 함께 단순한 역전파로 학습한다. (k > 1)로 선택하면, 상위 (k)개 전문가의 게이트 값은 게이팅 네트워크의 가중치에 대해 0이 아닌 미분값을 갖는다. 이런 식의 때때로 민감한(occasionally-sensitive) 동작은 noisy rectifier와 관련하여 Bengio et al. (2013)에서 설명된 바 있다. 또한 그래디언트는 게이팅 네트워크를 거쳐 그 입력으로도 역전파된다. 우리의 방법은 boolean gate를 사용하고 REINFORCE 스타일 접근으로 게이팅 네트워크를 학습한 Bengio et al. (2015)와는 다르다.

3 성능 문제 해결

3.1 배치 크기 감소 문제

현대의 CPU와 GPU에서는 계산 효율을 위해 큰 배치 크기가 필요하다. 이는 파라미터를 불러오고 업데이트하는 데 드는 오버헤드를 여러 예제에 걸쳐 분산시키기 위해서이다. 만약 게이팅 네트워크가 각 예제마다 (n)개의 expert 중 (k)개를 선택한다면, 배치 크기가 (b)인 경우 각 expert가 받는 배치는 대략 (kb/n)개의 예제로 훨씬 작아진다. 이는 (n)이 커질수록 순진한 MoE 구현이 매우 비효율적이 되게 만든다. 이 배치 축소(shrinking batch) 문제의 해결책은 원래 배치 크기를 가능한 한 크게 만드는 것이다. 그러나 배치 크기는 보통 forward와 backward 사이에 저장해야 하는 activation 메모리 양에 의해 제한된다. 우리는 배치 크기를 늘리기 위해 다음과 같은 기법들을 제안한다.

데이터 병렬성과 모델 병렬성의 혼합: 전통적인 분산 학습 설정에서는 여러 장치에 있는 모델 복제본들이 서로 다른 배치를 비동기적으로 처리하고, 파라미터는 파라미터 서버를 통해 동기화된다. 우리의 방법에서는 이들 서로 다른 배치를 동기적으로 실행하여 MoE 레이어에서 함께 결합할 수 있게 한다. 우리는 모델의 일반 레이어들과 게이팅 네트워크는 전통적인 데이터 병렬 방식으로 분산하지만, 각 expert는 하나의 공유 복사본만 유지한다. MoE 레이어의 각 expert는 모든 데이터 병렬 입력 배치들에서 관련 예제들을 모은 결합 배치를 받는다. 같은 장치 집합이 일반 레이어와 게이팅 네트워크에서는 데이터 병렬 복제본으로, 각 expert의 일부를 호스팅하는 모델 병렬 shard로 동시에 동작한다. 모델이 (d)개의 장치에 분산되어 있고 각 장치가 크기 (b)의 배치를 처리한다면, 각 expert는 대략 (kbd/n)개의 예제로 이루어진 배치를 받는다. 따라서 expert의 배치 크기를 (d)배 늘리는 효과를 얻는다. 계층적 MoE의 경우(부록 B), 1차 게이팅 네트워크는 데이터 병렬성을 사용하고 2차 MoE들은 모델 병렬성을 사용한다. 각 2차 MoE는 하나의 장치에 위치한다.

이 기법을 통해 훈련 클러스터의 장치 수를 비례적으로 늘림으로써 expert 수(그리고 따라서 파라미터 수)도 늘릴 수 있다. 전체 배치 크기는 증가하지만 expert당 배치 크기는 일정하게 유지된다. 장치당 메모리와 대역폭 요구량도 그대로이고, step time도 같으며, 모델의 파라미터 수와 같은 수의 학습 예제를 처리하는 데 걸리는 시간도 그대로다. 우리의 목표는 1조 파라미터 모델을 1조 단어 코퍼스에 대해 학습하는 것이다. 이 논문을 작성하는 시점에는 시스템을 그 정도까지 확장하지는 못했지만, 더 많은 하드웨어를 추가하면 가능할 것이다.

합성곱적 구조(convolutionality)의 활용: 우리의 언어 모델에서는 이전 레이어의 각 시점마다 동일한 MoE를 적용한다. 이전 레이어가 먼저 끝날 때까지 기다리면, 모든 시점에 대해 MoE를 한 번에 하나의 큰 배치로 적용할 수 있다. 이렇게 하면 MoE 레이어로 들어가는 입력 배치 크기가 펼쳐진 시간 단계 수만큼 증가한다.

순환 MoE에서 배치 크기 늘리기: 더 강력한 모델은 MoE를 순환적으로 적용하는 형태일 수 있다고 우리는 예상한다. 예를 들어 LSTM이나 다른 RNN의 가중치 행렬을 MoE로 대체할 수 있다. 하지만 이런 모델은 한 시점의 MoE 입력이 이전 시점의 MoE 출력에 의존하므로, 앞 단락에서 쓴 합성곱 트릭은 더 이상 쓸 수 없다. Gruslys et al. (2016)은 펼쳐진 RNN에서 forward activation을 다시 계산하는 대가로 저장해야 하는 activation 수를 크게 줄이는 방법을 설명한다. 이는 배치 크기를 크게 늘릴 수 있게 해준다.

3.2 네트워크 대역폭

분산 컴퓨팅에서 또 하나의 중요한 성능 문제는 네트워크 대역폭이다. 위에서 설명했듯이 전문가들은 고정되어 있고, 게이팅 파라미터의 수는 작기 때문에, 통신의 대부분은 전문가의 입력과 출력을 네트워크를 통해 주고받는 데서 발생한다. 계산 효율을 유지하려면, 한 expert의 계산량과 그 입력 및 출력 크기의 비율이 계산 장치의 연산 용량과 네트워크 용량의 비율을 넘어야 한다. GPU의 경우 이 비율은 수천 대 일에 이를 수 있다. 우리의 실험에서는 수천 개의 ReLU 활성 단위를 가진 하나의 은닉층을 갖는 expert를 사용한다. expert 내부의 가중치 행렬 크기는 (input_size \times hidden_size)와 (hidden_size \times output_size)이므로, 계산량 대비 입력·출력 비율은 은닉층 크기와 같다. 다행히도 은닉층을 더 크게 만들거나 은닉층 수를 늘리기만 해도 계산 효율을 쉽게 높일 수 있다.

4 BALANCING EXPERT UTILIZATION

우리는 게이팅 네트워크가 항상 같은 몇 개의 expert에 큰 가중치를 주는 상태로 수렴하는 경향이 있음을 관찰했다. 이런 불균형은 스스로 강화된다. 선호받는 expert는 더 빨리 학습되고, 그 결과 게이팅 네트워크는 그 expert들을 더 자주 선택하게 된다. Eigen et al. (2013)도 같은 현상을 설명했으며, 이런 국소 최적해를 피하기 위해 학습 초기에 hard constraint를 사용했다. Bengio et al. (2015)은 각 gate의 배치 평균에 대한 soft constraint를 사용한다.¹

우리는 soft constraint 접근을 택한다. 어떤 expert의 중요도(importance)를 학습 배치에 대해, 그 expert의 gate 값들을 배치 전체에서 합한 값으로 정의한다. 그리고 전체 손실 함수에 추가되는 (L_{\text{importance}})라는 손실 항을 정의한다. 이 손실은 importance 값들의 변동계수(coefficient of variation)의 제곱에, 손으로 정한 스케일링 계수 (w_{\text{importance}})를 곱한 값이다. 이 추가 손실은 모든 expert의 importance가 같아지도록 유도한다.

¹ Bengio et al. (2015)은 추가로 두 개의 손실도 사용한다. 하나는 예제별 희소성을 제어하는 것인데, 우리는 고정된 (k) 값으로 이미 희소성이 보장되므로 필요하지 않다. 또 하나는 gate 값의 다양성을 장려한다. 우리의 실험에서는 expert들이 특화되면서 gate 값도 자연스럽게 다양화되는 선순환이 일어나므로, 별도로 다양성을 강제할 필요가 없었다.

이 손실 함수는 importance를 같게 만들 수는 있지만, expert가 받는 예제 수가 여전히 크게 다를 수 있다. 예를 들어 어떤 expert는 큰 가중치를 가진 소수의 예제를 받을 수 있고, 다른 expert는 작은 가중치를 가진 많은 예제를 받을 수 있다. 이는 분산 하드웨어에서 메모리와 성능 문제를 일으킬 수 있다. 이 문제를 해결하기 위해 우리는 두 번째 손실 함수 (L_{\text{load}})를 도입하여 load가 균형을 이루도록 만든다. 이 함수의 정의와 실험 결과는 부록 A에 있다.

5 EXPERIMENTS

5장에서는 MoE가 같은 계산량에서도 더 큰 용량을 쓰면 성능이 좋아진다는 점을 여러 과제에서 보여준다. 먼저 1B Word 언어모델링에서는 두 개의 LSTM 사이에 MoE를 넣고, 계산량은 비슷하게 맞춘 채 expert 수만 바꿔 실험했다. 4개 expert의 작은 모델은 기준 LSTM과 비슷했고, expert 수를 4096개까지 늘리면 test perplexity가 24% 정도 더 좋아졌다. 계산을 더 많이 쓰는 큰 모델들까지 포함하면, 기존 최고 결과보다 적은 계산으로도 더 낮은 perplexity를 달성했다.

100B Word Google News 코퍼스에서는 데이터가 더 클수록 큰 용량의 이점이 더 커진다는 점을 확인했다. expert 수를 32개에서 131072개까지 늘려 보니, 65536 expert(약 680억 파라미터)까지는 성능이 계속 좋아져 baseline보다 perplexity가 39% 낮아졌지만, 너무 희소해진 131072 expert에서는 오히려 성능이 떨어졌다. 그럼에도 가장 큰 모델에서도 계산 효율은 꽤 유지되었다.

기계번역에서는 GNMT를 줄인 버전에 MoE를 encoder와 decoder에 넣었고, WMT’14 En→Fr, En→De, 그리고 Google Production En→Fr에서 기존보다 더 좋은 결과를 냈다. 특히 BLEU 점수가 기존 강한 기준선보다 향상되었고, 번역 품질도 perplexity 측면에서도 개선되었다. 다국어 번역에서도 MoE는 다국어 GNMT보다 dev perplexity를 낮추고, 12개 언어쌍 중 대부분에서 BLEU를 올렸다. 논문의 핵심 결론은, 조건부 계산을 잘 설계하면 계산 비용을 크게 늘리지 않고도 모델 용량을 극적으로 키울 수 있다는 것이다.

6 결론

이 연구는 딥 네트워크에서 조건부 계산(conditional computation) 이 실제로 큰 성과를 낼 수 있음을 처음으로 보여주었다. 우리는 조건부 계산에서 생기는 설계상의 고려사항과 성능상의 난점을 면밀히 파악했고, 이를 알고리즘적 해결책과 엔지니어링적 해결책을 결합해 해결했다. 비록 우리는 텍스트에 초점을 맞추었지만, 충분히 큰 학습 데이터가 주어진다면 조건부 계산은 다른 분야에서도 도움이 될 수 있다. 앞으로 조건부 계산의 새로운 구현과 응용이 많이 나오기를 기대한다.

Reference

댓글