안녕하세요! 오늘은 마이크로소프트에서 개발한 GRIN MoE라는 모델에 대해 알아보겠습니다. GRIN MoE(GRadient-IN formed Mixture-of-Experts, 기울기 정보 기반 전문가 혼합) 모델은 SparseMixer-v2라는 새로운 기법을 활용해 모델을 효율적으로 훈련시킵니다. 이 모델은 6.6B 활성 파라미터만으로 모든 파라미터를 항상 사용하는 14B 모델과 비슷한 성능을 달성했으며, GPT-4o를 능가하는 지표도 기록하였습니다. 이는 선택적 전문가 활성화를 통해 모델 효율성을 크게 향상시켰음을 보여줍니다. 이 블로그에서는 GRIN MoE 모델의 개요, 특징, 주요 기능을 알아보고 성능 테스트를 해보겠습니다.
https://www.aitimes.com/news/articleView.html?idxno=163526
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
GRIN MoE 개요
GRIN(GRadient-INformed) MoE 모델은 대규모 언어 모델의 효율성과 확장성을 향상시키는 것을 목표로 합니다. 모델 학습에서 기울기(Gradient)는 손실 함수를 최소화하기 위해 매개변수를 조정하는 수학적 도구이며, MoE 모델에서도 기울기는 입력에 따라 어떤 전문가에게 작업을 분배할지 결정하는 전문가 라우팅 메커니즘을 학습하는 데 중요한 역할을 합니다. 즉, GRIN MoE는 학습 과정에서 얻어진 기울기 정보를 활용하여, 입력에 가장 적합한 전문가를 선택하도록 라우팅 메커니즘을 동적으로 조정합니다.
GRIN MoE 16x3.8B는 총 42B개의 파라미터를 가지고 있으며, 추론에 사용되는 활성화 파라미터는 6.6B개로, 훈련 과정에서 최적의 라우팅 메커니즘으로 일부 전문가 모듈만 활성화하는 MoE(Mixture-of-Experts) 아키텍처를 기반으로, 적은 파라미터로도 기존 거대 언어 모델과 경쟁하는 성능을 달성했습니다. 다음 그래프는 GRIN MoE 모델이 활성화된 매개변수 대비 높은 MMLU 정확도를 보여주는 것을 보여줍니다.
GRIN MoE는 6.6B개의 활성화된 매개변수만 사용하여 7B Dense 모델보다 성능이 뛰어나며, 14B Dense 모델과 비슷한 성능을 달성했습니다. 이는 GRIN MoE가 전문가 선택 라우팅과 모델 훈련의 효율성을 높이는 기술을 통해 필요한 전문가만 활성화하여 효율적으로 작업을 수행하고, 적은 수의 활성화된 매개변수만으로도 높은 성능을 구현함으로써, 대규모 언어 모델을 보다 효율적으로 훈련하고 배포할 수 있는 가능성을 제시합니다.
GRIN MoE 특징 및 주요 기능
MoE(Mixture-of-Experts) 모델은 마치 여러 분야의 전문가들이 모여 문제를 해결하는 것처럼, 서로 다른 작업을 잘 수행하는 여러 개의 작은 네트워크(전문가)로 구성되어 있습니다. 이때 어떤 데이터에 대해 어떤 전문가의 의견을 중점적으로 활용할지 결정하는 것을 전문가 라우팅이라고 합니다.
GRIN MoE에서 채택한 SparseMixer-v2는 이러한 최적의 전문가를 선택하기 위한 라우팅을 효과적으로 수행하기 위해 "MaskedSoftmax"와 "Heun의 3차 방법"이라는 기술을 사용합니다.
- MaskedSoftmax: 기존에는 최적의 전문가를 선택하기 위해 모든 전문가를 평가해야 했지만, 이 방식은 특정 조건을 만족하는 전문가만을 대상으로 점수를 계산하므로, 최종적으로 선택되는 전문가의 수를 제한하고, 계산 효율성을 높입니다. 이렇게 해서 필요 없는 전문가의 평가를 줄이는 방식으로 작동합니다.
- Heun의 3차 방법: 이 방법은 마치 목표물을 향해 화살을 쏘는 것과 비슷합니다. 처음에 대략적인 값을 예측한 후, 그 예측을 바탕으로 전문가를 선택하는 데 필요한 기울기를 점진적으로 수정하여 더욱 정확한 전문가 선택을 가능하게 하는 방식입니다.
또한, GRIN MoE는 모델 훈련의 효율성을 높이기 위해 모델 병렬 처리, Top-2 라우팅, Megablocks 기법을 사용합니다.
- 모델 병렬 처리: GRIN MoE는 기존의 전문가 병렬 처리 대신 파이프라인 병렬 처리와 텐서 병렬 처리를 사용하여 훈련함으로써, 훈련 중 토큰 삭제를 방지하고 용량 계수를 사용하지 않아도 되므로 더욱 효율적인 훈련이 가능합니다.
항목 | 전문가 병렬 처리 | 파이프라인 병렬 처리 | 텐서 병렬 처리 |
작업 방식 | 여러 전문가 네트워크를 서로 다른 장치에 분산 | 모델 계층 분할, 모델의 서로 다른 계층을 여러 GPU에 분할 | 각 전문가 네트워크를 여러 GPU에 분할 |
주요 단점 | - Capacity Factor로 인해 모델 용량 제한 - Token Dropping으로 학습 데이터 손실 발생 |
전문가 수가 너무 많으면 계층 분할 필요 | - All-to-All 통신 오버헤드 발생 - 역전파 중 통신과 계산이 겹침 |
장점 | 각 전문가가 병렬로 작업 가능 | 메모리 효율성 향상, 처리 시간 단축, 더 많은 전문가 활용 가능 | 연산 병렬화로 속도향상, 메모리 부담 분산, 통신과 계산의 효율적 병행 |
적용 환경 | 작은 규모의 전문가 네트워크 | 많은 전문가를 활용해야 하는 경우 | 대규모 전문가 네트워크 처리 |
- Top-2 라우팅: GRIN MoE는 각 레이어에서 16명의 전문가 중 상위 2개의 전문가만 선택하는 Top-2 라우팅을 사용합니다. 이는 전체 모델 매개변수 중 일부만 활성화하여 계산량을 줄이고 효율성을 높이는 데 기여합니다.
- Megablocks: GRIN MoE는 Megablocks 라이브러리를 활용하여 전문가 병렬 처리 없이 MoE 계산을 효율적으로 수행합니다. Megablocks는 MoE 모델의 학습과 실행을 최적화하는 기법입니다. 핵심은 grouped_GEMM 커널로, 여러 작은 비-0 행렬 곱셈을 동시에 처리합니다. 이는 MoE의 희소 행렬(대부분의 값이 0인 행렬)을 효율적으로 다루어 계산 속도와 메모리 사용을 개선합니다.
GRIN MoE 벤치마크 결과
아래 벤치마크 결과에서와 같이 적은 수의 활성화된 매개변수만 사용하는 GRIN MoE는 다양한 벤치마크에서 모든 파라미터를 항상 사용하는 Dense 모델과 유사하거나 능가하는 성능을 보여줍니다.
- MMLU: GRIN MoE는 6.6B 활성 매개변수만 사용하여 7B Dense 모델보다 높은 MMLU 정확도를 달성했으며, 14B Dense 모델과 유사한 성능을 보였습니다.
- 코딩 및 수학: GRIN MoE는 특히 코딩 및 수학 작업에서 뛰어난 성능을 발휘합니다. 예를 들어 HumanEval(코딩능력)에서 74.4점, MBPP(Mostly Basic Python Programming)에서 80.3점, MATH에서 58.9점을 기록했습니다.
- 다른 MoE 모델과 비교: GRIN MoE는 Mixtral 8×7B, Mistral 7B, Gemma 7B, Llama3 8B와 같이 유사한 활성 매개변수 수를 가진 많은 오픈 소스 MoE 모델보다 우수한 성능을 보여주었습니다. 또한, 대부분의 작업에서 Mixtral 8×22B보다 뛰어났습니다. GRIN MoE의 성능은 전문가 라우팅 최적화와 모델 병렬 처리 전략의 효과를 보여주는 증거입니다.
GRIN MoE 테스트
다음은 GRIN MoE 모델의 코딩, 수학 및 추론성능을 테스트해 보겠습니다. 테스트는 허깅페이스 스페이스 사이트에서 진행하였습니다. 코딩 테스트는 edabit.com 코딩 교육 사이트 Python, C++에 대하여 테스트하였으며, 재시도 없이 첫 번째 시도의 채점결과를 그대로 반영하였습니다.
1. 코딩 성능 테스트
GRIN MoE/Pass@1 | Easy | Medium | Hard | Very Hard | Expert |
Python | Pass | Pass | Pass | Pass | Pass |
C++ | Pass | Pass | Pass | Pass | Pass |
JavaScript | Pass | Pass | Pass | Pass | Pass |
코딩 테스트 결과, GRIN MoE는 Python, C++, JavaScript 모든 난이도의 문제를 첫 번째 시도에 모두 맞혔습니다.
2. 수학 성능 테스트
No. | 문제 구분 | 문제 | GRIN MoE | GPT-4o-mini |
1 | 기초 대수 문제 | 두 숫자 𝑥 x와 𝑦 y가 있습니다. 이들이 만족하는 식은 3 𝑥 + 4 𝑦 = 12 3x+4y=12이며, 𝑥 − 2 𝑦 = 1 x−2y=1입니다. 𝑥 x와 𝑦 y의 값을 구하세요 | Pass | Pass |
2 | 기하학 문제 | 반지름이 7cm인 원의 넓이를 구하세요. 𝜋 = 3.14159 π=3.14159로 계산하세요. | Pass | Pass |
3 | 확률 문제 | 주사위를 두 번 던졌을 때, 두 숫자의 합이 7이 될 확률을 구하세요. | Pass | Pass |
4 | 수열 문제 | 첫 번째 항이 3이고, 공차가 5인 등차수열의 10번째 항을 구하세요. | Pass | Pass |
5 | 최적화 문제 | 어떤 직사각형의 둘레가 36cm입니다. 이 직사각형의 넓이를 최대화하려면 가로와 세로의 길이는 각각 얼마여야 하나요? | Pass | Pass |
6 | 복합 문제 | 복소평면에서 다음 극한값을 구하시오. lim[n→∞] (1 + i/n)^(n^2) 여기서 i는 허수단위 (i^2 = -1)입니다. | Pass | Pass |
수학 테스트 결과에서 GRIN MoE는 6문제 모두를 맞히며, 128B 파라미터의 GPT-4o-mini와 유사한 성능을 보였습니다.
3. 추론 성능 테스트
No. | 문제 | GRIN MoE | GPT-4o-mini |
1 | 160 students in 5th and 6th grade participated in tree planting. As a result of planting an average of 5 trees each by 6th graders and an average of 3 trees each by 5th graders, a total of 560 trees were planted. How many 5th and 6th graders participated in tree planting? | Pass | Pass |
2 | Betty is saving money for a new purse. The purse costs $100. Betty only has half the money she needs. Her parents decide to give her $15 for that purpose, and her grandparents give her twice as much as her parents. How much more money does Betty need to buy the purse? | Pass | Pass |
3 | A national elementary school math competition was held, and three people, Young-hee, Chul-soo, and Jin-ho, participated. They are students from Seoul, Busan, and Incheon, and they received first, second, and third place awards, respectively. When you know the following, where is Jin-ho from and what place did he get? 1) Young-hee is not a player from Seoul. 2) Chul-soo is not a player from Busan. 3) The player from Seoul is not first place. 4) The player from Busan got second place. 5) Chul-soo is not third place. | Pass | Fail |
4 | There are three murderers in a room. A person enters the room and kills one of them. No one leaves the room. How many murderers are left in the room? Explain the reasoning process step by step. | Pass | Pass |
5 | A marble is put in a glass. The glass is then turned upside down and put on a table. Then the glass is picked up and put in a microwave. Where's the marble? Explain your reasoning step by step. | Fail | Pass |
추론 테스트에서도 GRIN MoE는 5문제 중 4문제를 맞히며 우수한 추론 성능을 보였습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
마치며
오늘 살펴본 GRIN MoE 모델은 SparseMixer-v2와 같은 혁신적인 기술을 활용해 대규모 언어 모델의 효율성을 극대화한 결과물입니다. 전문가 라우팅 최적화, 모델 병렬 처리, Top-2 라우팅, Megablocks와 같은 기법들을 통해 적은 수의 활성화된 파라미터만으로도 뛰어난 성능을 보여주었으며, 특히 코딩과 수학에서 강력한 성능을 보여줍니다. 이러한 성능은 비용과 에너지 효율성을 동시에 고려해야 하는 AI 모델 개발에 새로운 가능성을 제시합니다.
GRIN MoE 모델을 테스트하면서 느낀 점은 다음과 같습니다.
- 코딩과 수학 성능이 매우 우수하다.
- 비용과 에너지 효율성이 높은 LLM을 구축할 수 있다.
- MoE 모델이 미래 AI 모델의 표준이 될 수도 있다.
오늘 블로그의 내용은 여기까지입니다. 여러분도 데모 사이트에서 GRIN MoE 모델을 체험해 보시길 추천드리면서, 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2024.08.24 - [AI 언어 모델] - 🤖마이크로소프트 Phi-3.5 시리즈: 소형 MoE 모델의 혁신
'AI 언어 모델' 카테고리의 다른 글
👁️🤖Llama 3.2: 에지 컴퓨팅과 비전까지 확장한 Meta의 AI 모델 (36) | 2024.09.28 |
---|---|
🚀Qwen2.5: 오픈소스 모델 최고 성능! MMLU 86.1% HumanEval 88.4% 달성! (28) | 2024.09.26 |
🖼️Pixtral 12B: 추론과 코딩에 강한 Mistral AI의 첫번째 멀티모달 모델 (28) | 2024.09.18 |
🌟업스테이지 Solar Pro Preview 분석: 단일 GPU 최강 AI 모델 (26) | 2024.09.16 |
🤖DeepSeek V2.5: 대화와 코딩 능력을 하나로 통합한 차세대 AI 모델 (23) | 2024.09.11 |