XYZNOT

논문 · arXiv 1701.06538

엄청나게 거대한 신경망: 희소 게이팅 전문가 혼합 레이어 (Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer)

Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer

게시일 cs.LGcs.CLcs.NEstat.ML arXivPDF

XYZNOT로 읽기 (전문 번역과 AI 해설)

세 줄 요약

  1. 🎯 밀집 신경망(dense neural networks)은 방대한 데이터셋을 흡수하기 위해 모델 용량을 확장할 때 연산 비용이 2차 곡선 형태로 폭증하는 문제를 겪습니다.
  2. 🔧 분산 GPU 샤드 전반에서 Noisy Top-K gating과 보조 부하 분산 손실을 사용하는 희소 게이팅 전문가 혼합(MoE) 레이어를 도입합니다.
  3. 📈 언어 및 번역 모델을 최대 1,370억 개의 파라미터로 확장하여, 더 적은 연산 비용으로 기존 발표된 최고의 LM perplexity를 24%에서 39%까지 개선합니다.

초록

정보를 흡수하는 신경망의 용량은 파라미터 수에 의해 제한됩니다. 예제마다 네트워크의 일부만 활성화하는 조건부 연산(conditional computation)은 연산량의 비례적 증가 없이 모델 용량을 획기적으로 늘리는 방법으로 이론적으로 제안되어 왔습니다. 그러나 실제로는 상당한 알고리즘 및 성능적 한계가 존재했습니다. 본 연구에서는 이러한 문제를 해결하고 조건부 연산의 가능성을 마침내 실현하여, 최신 GPU 클러스터에서 연산 효율성의 손실을 최소화하면서 모델 용량을 1000배 이상 향상시켰습니다. 우리는 수천 개의 피드포워드 서브 네트워크로 구성된 희소 게이팅 전문가 혼합 레이어(Sparsely-Gated Mixture-of-Experts layer, MoE)를 소개합니다. 학습 가능한 게이팅 네트워크는 각 예제에 사용할 이러한 전문가들의 희소한 조합을 결정합니다. 우리는 학습 말뭉치에 존재하는 방대한 지식을 흡수하기 위해 모델 용량이 매우 중요한 언어 모델링 및 기계 번역 태스크에 MoE를 적용합니다. 최대 1,370억 개의 파라미터를 가진 MoE가 적층된 LSTM 레이어 사이에 합성곱 형태로 적용된 모델 아키텍처를 제시합니다. 대규모 언어 모델링 및 기계 번역 벤치마크에서 이 모델들은 더 낮은 연산 비용으로 최첨단 기술(SOTA)보다 훨씬 더 뛰어난 결과를 달성합니다.

영어 원문 초록

The capacity of a neural network to absorb information is limited by its number of parameters. Conditional computation, where parts of the network are active on a per-example basis, has been proposed in theory as a way of dramatically increasing model capacity without a proportional increase in computation. In practice, however, there are significant algorithmic and performance challenges. In this work, we address these challenges and finally realize the promise of conditional computation, achieving greater than 1000x improvements in model capacity with only minor losses in computational efficiency on modern GPU clusters. We introduce a Sparsely-Gated Mixture-of-Experts layer (MoE), consisting of up to thousands of feed-forward sub-networks. A trainable gating network determines a sparse combination of these experts to use for each example. We apply the MoE to the tasks of language modeling and machine translation, where model capacity is critical for absorbing the vast quantities of knowledge available in the training corpora. We present model architectures in which a MoE with up to 137 billion parameters is applied convolutionally between stacked LSTM layers. On large language modeling and machine translation benchmarks, these models achieve significantly better results than state-of-the-art at lower computational cost.

논문 해설

문제와 동기

딥러닝 모델은 대규모 데이터셋으로 학습할 때 파라미터 용량의 이점을 크게 누립니다. 그러나 표준 아키텍처는 모든 입력 토큰이나 예제에 대해 전체 네트워크를 활성화합니다. 이는 네트워크 크기와 데이터셋 규모가 커짐에 따라 연산 비용이 비현실적으로 증가하게 만듭니다.

조건부 연산(예제마다 모델의 서브셋만 활성화하는 방식)이 이론적으로 제안되었지만, 이전의 구현 방식들은 다음과 같은 이유로 최신 가속기에서 어려움을 겪었습니다:

  • GPU는 분기 연산(branching)보다 균일한 산술 연산을 선호합니다.
  • 예제의 서브셋을 라우팅하면 개별 서브 네트워크에 작고 비효율적인 배치 크기만 남게 되는 "배치 축소 문제(shrinking batch problem)"가 발생합니다.
  • 디바이스 간 네트워크 대역폭 병목 현상이 발생합니다.
  • 소수의 서브 네트워크만 과도하게 사용되고 다른 서브 네트워크는 굶주리는 불균형 라우팅이 일어납니다.

핵심 아이디어

  • 희소 게이팅 MoE 레이어(Sparsely-Gated MoE Layer): 피드포워드 서브 네트워크("전문가")가 순환 레이어(예: 적층된 LSTM) 사이에 배치됩니다. 위치마다 전문가들의 희소한 상위 개(top-) 선택만 평가됩니다.
  • Noisy Top-K Gating: 상위 개 선택 및 softmax를 적용하기 전에 게이팅 로짓에 조정 가능한 가우시안 노이즈를 추가하여, 연속적이고 역전파 가능한 그래디언트를 제공하고 전문가 전반에 걸친 균형 잡힌 탐색을 장려합니다.
  • 데이터 및 모델 병렬 처리의 결합: 표준 레이어와 게이팅은 디바이스 전반에 걸쳐 데이터 병렬로 실행되는 반면, 전문가는 GPU 간에 모델 병렬로 분할됩니다. 모든 디바이스의 배치가 결합되어 전문가들이 충분히 큰 집약된 미니 배치를 받도록 합니다.
  • 균형 제약 조건: 전문가 중요도와 전문가 부하에 대한 명시적인 보조 손실을 도입하여 게이팅 네트워크가 소수의 전문가만 과도하게 사용하는 퇴화된 해(degenerate solution)로 붕괴하는 것을 방지합니다.

방법론 (핵심 방정식 포함)

MoE 레이어는 개의 피드포워드 전문가 네트워크 과 게이팅 네트워크 로 구성됩니다. 레이어 출력은 다음과 같습니다: 일 때는 언제나 연산이 생략됩니다.

Noisy Top-K Gating

희소성과 미분 가능한 게이팅을 결합하기 위해 선형 투영에 노이즈를 주입합니다:

부하 분산 손실 (Load-Balancing Losses)

균등한 총 게이팅 가중치를 강제하기 위해 변동 계수()를 사용하여 배치 에 대한 중요도 손실을 정의합니다: 전문가당 동일한 수의 예제를 보장하기 위해, 매끄러운 부하 추정기는 정규분포 CDF 를 사용합니다:

결과 (핵심 수치 포함)

  • 1 Billion Word Benchmark: 연산량을 맞춘 MoE-4096-h 모델은 테스트 perplexity 34.1을 달성했습니다(연산량을 맞춘 베이스라인 LSTM 대비 24% 감소). 대규모 예산의 MoE 모델은 32개의 K40 GPU에서 47시간 만에 28.0의 테스트 perplexity에 도달하여 기존 SOTA 결과인 34.7(32개 K40 GPU에서 59시간 소요)을 능가했습니다.
  • 100 Billion Word Corpus: 전문가 수를 65,536개(680억 파라미터)까지 확장했을 때 밀집 베이스라인 대비 테스트 perplexity가 39% 감소했으며(28.9 vs. 47.0), GPU당 0.72 TFLOPS를 유지했습니다.
  • 기계 번역: MoE가 강화된 GNMT는 타임스텝당 연산량을 절반 이하로 줄이면서도 WMT'14 EnFr에서 40.56 BLEU(RL을 사용하지 않은 GNMT 대비 +1.34 BLEU), WMT'14 EnDe에서 26.03 BLEU(+1.12 BLEU)를 달성했습니다.
  • 다국어 번역: 단일 다국어 MoE 모델은 12개 언어 쌍 중 11개에서 다국어 GNMT 베이스라인을 능가했으며(KoreanEnglish에서 최대 +5.84 BLEU), 검증 perplexity를 19% 낮췄습니다.

한계점 및 미해결 과제

  • 극단적인 희소성은 수확 체감이나 성능 저하를 초래할 수 있습니다. 1,000억 단어 데이터셋에서 전문가를 65,536개에서 131,072개로 확장할 때 perplexity가 다소 악화되었습니다.
  • 분산 통신 오버헤드는 은닉층 대 입출력 비율에 계속 의존하므로 전문가 용량이 작을수록 대역폭 효율성이 떨어집니다.
  • RNN 순환 스텝 내에서 MoE를 반복적으로 적용하면 시퀀스 위치에 걸친 배치 언롤링 최적화가 깨지므로 활성화 재연산 스킴이 필요합니다.

핵심 용어

Sparsely-Gated Mixture-of-Experts Layer (MoE)
학습 가능한 게이팅 네트워크가 각 입력 예제에 대해 희소한 전문가 서브셋만 선택하는 여러 개의 병렬 전문가 서브 네트워크를 포함하는 신경망 레이어.
Conditional Computation
연산량의 비례적 증가 없이 파라미터 용량을 늘리기 위해 예제 단위로 신경망의 일부를 동적으로 활성화하거나 비활성화하는 아키텍처 패러다임.
Noisy Top-K Gating
상위 k개 값만 유지하고 softmax를 적용하기 전에 로짓에 조정 가능한 가우시안 노이즈를 추가하여 역전파를 가능하게 하고 라우팅 붕괴를 방지하는 게이팅 메커니즘.
Shrinking Batch Problem
입력이 수많은 전문가에게 희소하게 분할될 때 개별 서브 네트워크가 전달받는 유효 배치 크기가 줄어들어 하드웨어 연산 효율성이 저하되는 현상.
Importance Loss
균등한 전문가 할당을 장려하기 위해 배치 전반에 걸친 전문가당 게이트 값 합계의 변동 계수 제곱에 페널티를 부여하는 보조 손실.
Load Loss
하드웨어 부하 균형을 맞추기 위해 전문가 전반에 걸친 토큰의 추정 확률 가중 할당 수의 분산을 최소화하는 보조 목표.
Hierarchical Mixture of Experts
분기 계수와 분산 통신 오버헤드를 줄이기 위해 기본 게이팅 네트워크가 입력을 2차 MoE 클러스터로 라우팅하는 2단계 MoE 구조.

자주 묻는 질문

게이팅 네트워크는 이산적인 top-k 라우팅을 통해 역전파를 어떻게 수행하나요?

Top-k 선택이 softmax 이전에 적용되기 때문에, 선택된 전문가에 대한 0이 아닌 게이트 값은 입력 가중치에 대해 연속적인 도함수를 유지하여 그래디언트가 게이팅 네트워크를 통해 역전파될 수 있습니다.

분산 디바이스 전반에서 배치 축소 문제(shrinking batch problem)는 어떻게 해결되나요?

이 모델은 데이터 병렬과 모델 병렬을 혼합합니다. 표준 레이어는 여러 디바이스에서 독립적인 미니 배치를 처리하지만, 서로 다른 GPU에 호스팅된 고정 전문가에게 라우팅하기 전에 모든 디바이스의 토큰을 하나로 집약합니다.

게이팅 네트워크에서 노이즈가 필요한 이유는 무엇인가요?

주입된 가우시안 노이즈는 학습 초기에 전문가 전반의 탐색을 촉진하고 부하 분산 손실을 위한 매끄러운 추정기를 제공하여, 특정 전문가만 계속 선택되는 붕괴 현상을 방지합니다.

모델을 131,072개의 전문가로 확장하면 어떤 현상이 발생하나요?

Perplexity가 28.9(전문가 65,536개)에서 29.2(전문가 131,072개)로 소폭 악화되었고 연산 효율성은 0.30 TFLOPS/GPU로 떨어졌는데, 이는 극단적인 희소성과 확장되지 않고 고정된 배치 크기 때문으로 추정됩니다.

이 페이지의 해설은 AI가 논문을 바탕으로 작성했으며 오류가 있을 수 있습니다. 자세한 내용은 원문을 확인하세요.

XYZNOT로 읽기 (전문 번역과 AI 해설)