Connect with us

์ „๋ฌธ๊ฐ€ ๆททๅˆ ๋ชจ๋ธ์˜ ๋ถ€์ƒ: ํšจ์œจ์ ์ธ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์„ ์œ„ํ•œ

์ธ๊ณต์ง€๋Šฅ

์ „๋ฌธ๊ฐ€ ๆททๅˆ ๋ชจ๋ธ์˜ ๋ถ€์ƒ: ํšจ์œจ์ ์ธ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์„ ์œ„ํ•œ

mm
Mixture of Experts Grok Mistral

자연어 처리(NLP) 세계에서 더 큰 규모와 더 강력한 언어 모델을 구축하려는 노력은 최근 많은 발전을 이끌어낸 원동력이었다. 그러나 이러한 모델의 크기가 커짐에 따라 훈련과 추론을 위한 컴퓨팅 요구 사항이 점점 더苛刻해져서, 사용 가능한 하드웨어 자원의 한계를 밀어붙인다.

여기에 전문가 混合 모델(Mixture-of-Experts, MoE)이 등장한다. MoE는 컴퓨팅 부담을 완화하면서 더 큰 규모와 더 강력한 언어 모델을 훈련할 수 있는 기술이다. 아래에서 MoE에 대해 논의하고, 그 기원, 내부 작동 방식, 그리고 트랜스포머 기반 언어 모델에서의 응용을 살펴본다.

전문가 混合 모델의 기원

전문가 混합 모델(MoE)의 개념은 1990년대 초에 연구자들이 조건부 계산의 아이디어를 탐구했을 때로 거슬러 올라간다. 여기서 신경망의 일부는 입력 데이터에 따라 선택적으로 활성화된다. 이 분야의 선구적인 연구 중 하나는 1991년 Jacobs 등이 발표한 “로컬 전문가의 적응적 混合” 논문이었다. 이 논문은 입력 공간의 다른 영역에서 전문성을 가진 신경망 앙상블을 위한 지도 학습 프레임워크를 제안했다.

MoE의 핵심 아이디어는 여러 “전문가” 네트워크를 두어 각 네트워크가 입력 데이터의 하위 집합을 처리하도록 하는 것이다. 게이팅 메커니즘, 일반적으로 신경망 자체,는 어떤 전문가가 특정 입력을 처리해야 하는지 결정한다. 이 접근 방식은 모델이 각 입력에 대해 전체 모델 용량을 사용하는 대신 관련 전문가를 활성화하여 컴퓨팅 자원을 더 효율적으로 할당할 수 있도록 한다.

수년 동안 다양한 연구자들이 조건부 계산의 아이디어를 탐구하고 확장하여 계층적 MoE, 조건부 계산을 위한 저랭크 근사, 확률적 뉴런과 하드 임계 활성화 함수를 통해 기울기를 추정하는 기술 등의 개발을 이끌어냈다.

트랜스포머 기반 언어 모델에서의 전문가 混合 모델

์ „๋ฌธ๊ฐ€ ๆททํ•ฉ ๋ชจ๋ธ

전문가 混합 모델

MoE의 아이디어는 수십 년 동안 존재했지만, 트랜스포머 기반 언어 모델에 대한 그들의 응용은 상대적으로 최근에 이루어졌다. 트랜스포머는 현재 언어 모델의 표준이 된 상태로, 여러 레이어로 구성되며, 각 레이어에는 셀프 어텐션 메커니즘과 피드 포워드 신경망(FFN)이 있다.

트랜스포머에 MoE를 적용하는 데 있어 핵심적인 혁신은 밀집 FFN 레이어를 전문가 FFN 레이어와 게이팅 메커니즘으로 구성된 희박한 MoE 레이어로 대체하는 것이다. 게이팅 메커니즘은 각 입력 토큰에 대해 어떤 전문가가 처리해야 하는지 결정하여, 모델이 특정 입력 시퀀스에 대해 일부 전문가만 선택적으로 활성화할 수 있도록 한다.

MoE를 트랜스포머에 적용한 초기 연구 중 하나는 Shazeer 등이 2017년에 발표한 “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer” 논문이었다. 이 연구는 희박한 게이팅 메커니즘을 사용하는 MoE 레이어의 개념을 도입했으며, 이는 전문가 선택 과정에 희박성과 노이즈를 추가하여 각 입력에 대해 일부 전문가만 활성화되도록 보장했다.

그 이후로 여러 다른 연구가 트랜스포머에 MoE를 적용하는 방식을 더욱 발전시켜 왔으며, 훈련 불안정성, 로드 밸런싱, 효율적인 추론 등의課題를 해결했다. 주목할 만한 예로는 Switch Transformer (Fedus 등, 2021), ST-MoE (Zoph 등, 2022), GLaM (Du 등, 2022) 등이 있다.

언어 모델에서 전문가 混合 모델의 이점

언어 모델에서 MoE를 사용하는 주요 이점은 추론 중에 상대적으로 일정한 컴퓨팅 비용을 유지하면서 모델의 크기를 확장할 수 있는 것이다. 각 입력 토큰에 대해 일부 전문가만 선택적으로 활성화함으로써, MoE 모델은 훨씬 더 큰 밀집 모델의 표현력을 달성할 수 있으면서도 훨씬 적은 계산이 필요하다.

예를 들어, 70억 매개변수를 가진 밀집 FFN 레이어를 가진 언어 모델을 고려해 보자. 이 레이어를 7억 매개변수를 가진 8개의 전문가로 구성된 MoE 레이어로 대체하면, 총 매개변수 수는 560억으로 증가한다. 그러나 추론 중에 각 토큰에 대해 2개의 전문가만 활성화하면, 계산 비용은 140억 매개변수를 가진 밀집 모델과 동일해진다. 이는 2개의 7억 매개변수 행렬 곱셈을 계산하기 때문이다.

이러한 추론 중의 계산 효율성은 리소스가 제한된 배포 시나리오에서 특히 유용하다. 예를 들어, 모바일 기기 또는 에지 컴퓨팅 환경이 있다. 또한 훈련 중의 감소된 계산 요구 사항은 상당한 에너지 절약과 더 낮은 탄소 발자국으로 이어질 수 있다. 이는 지속 가능한 AI 관행에 대한 증가하는 강조와 일치한다.

課題와 고려 사항

MoE 모델은 매력적인 이점을 제공하지만, 그들의 채택과 배포도 여러課題와 고려 사항을 수반한다:

  1. 훈련 불안정성: MoE 모델은 밀집 모델에 비해 훈련 불안정성이 더 크게 발생할 수 있다. 이는 전문가 활성화의 희박성과 조건부성으로 인해 발생하는 문제로, 기울기 전파와 수렴에課題를 일으킬 수 있다. 이러한 불안정성을 완화하기 위한 기술로 Zoph 등(2022)이 제안한 라우터 z-손실이 있다. 그러나 추가적인 연구가 여전히 필요하다.
  2. 파인튜닝과 과적합: MoE 모델은 파인튜닝 중에 더 쉽게 과적합할 수 있다. 특히 다운스트림 작업이 상대적으로 작은 데이터셋을 가질 때如此하다. 이는 MoE 모델의 증가된 용량과 희박성으로 인해 발생하는 현상으로, 훈련 데이터에 대한 과도한 전문화로 이어질 수 있다. 이러한 문제를 완화하기 위한주의 깊은 정규화와 파인튜닝 전략이 필요하다.
  3. 메모리 요구 사항: MoE 모델은 추론 중에 계산 비용을 줄일 수 있지만, 유사한 크기의 밀집 모델에 비해 더 높은 메모리 요구 사항을 가질 수 있다. 이는 모든 전문가 가중치가 메모리에 로드되어야 하기 때문이다. 그러나 각 입력에 대해 일부 전문가만 활성화된다. 메모리 제약은 리소스가 제한된 장치에서 MoE 모델의 확장성을 제한할 수 있다.
  4. 로드 밸런싱: 최적의 계산 효율성을 달성하기 위해, 전문가 간의 로드를 균형 있게 분산시키는 것이 중요하다. 즉, 어떤 전문가도 과도하게 로드되지 않도록 하면서, 다른 전문가는 활용되지 않도록 하는 것이다. 이러한 로드 밸런싱은 일반적으로 훈련 중에 보조 손실을 사용하고, 각 전문가에 할당할 수 있는 최대 토큰 수를 결정하는 용량 인자를 조심스럽게 조정하여 달성된다.
  5. 통신 오버헤드: 분산 훈련과 추론 시나리오에서, MoE 모델은 다른 장치 또는 가속기에서 실행되는 전문가 간에 활성화와 기울기 정보를 교환해야 하므로 추가적인 통신 오버헤드를 일으킬 수 있다. 효율적인 통신 전략과 하드웨어 인식 모델 설계는 이러한 오버헤드를 완화하기 위해 필수적이다.

이러한課題에도 불구하고, MoE 모델이 더 큰 규모와 더 강력한 언어 모델을 가능하게 하는 잠재적인 이점은 이러한 문제를 해결하고 완화하기 위한 상당한 연구 노력을 자극했다.

예시: Mixtral 8x7B와 GLaM

언어 모델에서 MoE의 실제 적용을示すために, 두 가지 주목할 만한 예시를 살펴보자: Mixtral 8x7B와 GLaM.

Mixtral 8x7B는 Anthropic에서 개발한 Mistral 언어 모델의 MoE 변이이다. 이는 7억 매개변수를 가진 8개의 전문가로 구성되어 있으며, 총 560억 매개변수를 가지게 된다. 그러나 추론 중에 각 토큰에 대해 2개의 전문가만 활성화되므로, 계산 비용은 140억 매개변수를 가진 밀집 모델과 동일해진다.

Mixtral 8x7B는 70억 매개변수를 가진 LLaMA 모델을 능가하는 성능을 보여주었으며, 훨씬 더 빠른 추론 시간을 제공했다. 또한 Mixtral-8x7B-Instruct-v0.1이라는 명령어 튜닝 버전이 출시되어, 자연어 명령어를 따르는 능력을 더욱 향상시켰다.

또 다른 주목할 만한 예시는 Google에서 개발한 대규모 MoE 모델인 GLaM이다. GLaM은 디코더 전용 트랜스포머 아키텍처를 사용하며, 1.6조 토큰의 데이터셋에서 훈련되었다. 모델은 몇 샷과 한 샷 평가에서 뛰어난 성능을 보여주었으며, GPT-3와 유사한 품질을 보여주면서도 GPT-3를 훈련하는 데 필요한 에너지의 3분의 1만을 사용했다.

GLaM의 성공은 효율적인 MoE 아키텍처에 기인한다. 이는 모델의 매개변수 수가 많음에도 불구하고, 합리적인 계산 요구 사항을 유지할 수 있었다. 또한 MoE 모델이 밀집 모델에 비해 더 에너지 효율적이고 환경적으로 지속 가능한 잠재력을 보여주었다.

Grok-1 아키텍처

GROK MIXTURE OF EXPERT

GROK MIXTURE OF EXPERT

Grok-1은 효율성과 성능을 최대화하기 위해 설계된 고유한 아키텍처를 가진 트랜스포머 기반 MoE 모델이다. 주요 사양을 살펴보자:

  1. 매개변수: 3140억 매개변수를 가진 Grok-1은 현재 가장 큰 공개 언어 모델이다. 그러나 MoE 아키텍처 덕분에, 각 시점에 활성화되는 가중치의 25%(약 860억 매개변수)만이 활성화된다. 이는 처리 능력을 향상시킨다.
  2. 아키텍처: Grok-1은 8개의 전문가로 구성된 Mixture-of-Experts 아키텍처를 사용하며, 각 토큰은 추론 중에 2개의 전문가에 의해 처리된다.
  3. 레이어: 모델은 64개의 트랜스포머 레이어로 구성되며, 각 레이어에는 멀티 헤드 어텐션과 밀집 블록이 있다.
  4. 토큰화: Grok-1은 131,072개의 토큰을 가진 SentencePiece 토크나이저를 사용한다.
  5. 임베딩과 위치 인코딩: 모델은 6,144차원 임베딩을 특징으로 하며, 회전 위치 인코딩을 사용하여 전통적인 고정 위치 인코딩보다 더 동적인 데이터 해석을 가능하게 한다.
  6. 어텐션: Grok-1은 쿼리용 48개의 어텐션 헤드와 키/값용 8개의 어텐션 헤드를 사용하며, 각 헤드의 크기는 128이다.
  7. 컨텍스트 길이: 모델은 최대 8,192개의 토큰을 처리할 수 있으며, 효율적인 계산을 위해 bfloat16 정밀도를 사용한다.

성능과 구현 세부 사항

Grok-1은 뛰어난 성능을 보여주었으며, LLaMa 2 70B와 Mixtral 8x7B를 능가하는 MMLU 점수 73%를 달성했다. 이는 다양한 테스트에서 효율성과 정확성을 보여주었다.

그러나 Grok-1이 상당한 GPU 리소스를 필요로 한다는 점은 주목할 만하다. 이는 모델의巨대함으로 인해 발생한다. 현재 공개 버전은 모델의 올바름을 검증하기 위해 비효율적인 MoE 레이어 구현을 사용하여, 사용자 정의 커널이 필요하지 않다.

그럼에도 불구하고, 모델은 활성화 샤딩과 8비트 양자화를 지원하여 성능을 최적화하고 메모리 요구 사항을 줄일 수 있다.

xAI는 Grok-1을 Apache 2.0 라이선스 하에 공개하여, 모델의 가중치와 아키텍처를 전세계 커뮤니티에서 사용하고 기여할 수 있도록 했다.

공개 버전에는 모델을 로드하고 실행하는 방법을示하는 JAX 예시 코드 저장소가 포함되어 있다. 사용자는 체크포인트 가중치를 토렌트 클라이언트나 직접 HuggingFace Hub를 통해 다운로드할 수 있다. 이는 이 혁신적인 모델에 쉽게 접근할 수 있도록 한다.

언어 모델에서 전문가 混合 모델의 미래

더 큰 규모와 더 강력한 언어 모델에 대한需求이 계속 증가함에 따라, MoE 기술의 채택은 더욱 गत력을 얻을 것으로 예상된다. 진행 중인 연구 노력은 훈련 안정성 개선, 파인튜닝 중 과적합 완화, 메모리 및 통신 요구 사항 최적화 등 남아 있는課題를 해결하는 데 집중되어 있다.

한 가지 유망한 방향은 계층적 MoE 아키텍처의 탐구이다. 여기서 각 전문가는 여러 하위 전문가로 구성된다. 이러한 접근 방식은 더 큰 규모와 계산 효율성을 가능하게 하면서도 큰 모델의 표현력을 유지할 수 있을 것이다.

또한 MoE 모델을 효율적으로 처리할 수 있는 하드웨어와 소프트웨어 시스템의 개발은 활발한 연구 분야이다. MoE 모델의 희박한 계산 패턴을 효율적으로 처리하도록 설계된専用 가속기와 분산 훈련 프레임워크는 이러한 모델의 성능과 확장성을 더욱 향상시킬 수 있다.

さらに, MoE 기술을 언어 모델링의 다른 발전, 즉 희박한 어텐션 메커니즘, 효율적인 토큰화 전략, 멀티모달 표현 등과 통합하는 것은 훨씬 더 강력하고 다재다능한 언어 모델을 만들 수 있을 것이다. 이러한 모델은 다양한 작업을 수행할 수 있을 것이다.

결론

전문가 混합 모델 기술은 더 큰 규모와 더 강력한 언어 모델을 구축하려는 노력에서 강력한 도구로 등장했다. 입력 데이터에 따라 전문가를 선택적으로 활성화함으로써, MoE 모델은 밀집 모델의 계산課題를 해결하는 유망한 솔루션을 제공한다. 훈련 불안정성, 과적합, 메모리 요구 사항 등의課題가 여전히 남아 있지만, MoE 모델의 계산 효율성, 확장성, 환경적 지속 가능성의 잠재적인 이점은 이러한 모델을 흥미로운 연구 및 개발 분야로 만든다.

자연어 처리 분야가 무엇이 가능한지의 경계를 계속해서 넓히고 있는 동안, MoE 기술의 채택은 다음 세대의 언어 모델을 가능하게 하는 데 중요한 역할을 할 것으로 예상된다. MoE를 모델 아키텍처, 훈련 기술, 하드웨어 최적화의 다른 발전과 결합함으로써, 우리는 훨씬 더 강력하고 다재다능한 언어 모델을 기대할 수 있다. 이러한 모델은 인간과 자연스럽고 무결한 방식으로 소통할 수 있을 것이다.

์ง€๋‚œ 5๋…„ ๋™์•ˆ็งใฏ Machine Learning๊ณผ Deep Learning์˜ ๋งค๋ ฅ์ ์ธ ์„ธ๊ณ„์— ๋ชฐ๋‘ํ•ด ์™”์Šต๋‹ˆ๋‹ค.็งใฎๆƒ…็†ฑใจๅฐ‚้–€็Ÿฅ่ญ˜ใฏใ€AI/ML์— ์ค‘์ ์„ ๋‘” 50๊ฐœ ์ด์ƒ์˜ ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค.็งใฎ็ถ™็ถš็š„ใช ํ˜ธ๊ธฐ์‹ฌ์€ ๋˜ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ๋กœ็งใฎ ๊ด€์‹ฌ์„ ๋Œ์—ˆ๊ณ , ๋” ๊นŠ์ด ํƒ๊ตฌํ•˜๊ณ  ์‹ถ์€ ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค.