Tech

MoE란? AI 모델 구조 MoE(전문가 혼합)의 개념·원리·장단점 쉽게 이해하기

|

October 29, 2026

|

8

분

MoE란? AI 모델 구조 MoE(전문가 혼합)의 개념·원리·장단점 쉽게 이해하기

요즘 새로운 AI 모델이 나오면 소개 글에 숫자가 두 개씩 붙어 있곤 해요. 솔라 오픈2 모델 카드의 '총 파라미터'와 '활성 파라미터' 두 칸이 그래요.

Model Name모델 이름Architecture구조Total Parameters총 파라미터Active Parameters활성 파라미터
Solar Open 2(250B-A15B)Hybrid-Attention Mixture-of-Experts (MoE)250B15B(per token)
솔라 오픈2 모델 카드의 사양 일부를 옮겨 적었어요. 출처: Hugging Face (upstage/Solar-Open2-250B)

파라미터가 모델의 크기를 나타낸다는 건 알겠는데 활성 파라미터라니? 처음엔 무슨 말인가 싶었어요.

힌트는 그 앞의 '구조' 칸에서 찾을 수 있었어요. 두 숫자는 MoE라는 모델 구조에서 나온 거예요(앞에 붙은 Hybrid-Attention은 이번 글에서 다루지 않아요). DeepSeek, Qwen, gpt-oss처럼 요즘 나오는 큰 모델 중 상당수가 이 구조를 쓰고 있어서 MoE를 알면 새 모델 소식이 훨씬 잘 읽힐 거예요. 그래서 이번엔 MoE를 제대로 공부해 왔어요.


MoE란 무엇인가요?

MoE는 Mixture of Experts의 줄임말이에요. 우리말로 옮기면 '전문가 혼합'이라는 뜻인데요. 이름처럼 MoE는 AI 모델 안의 일부를 '전문가'라고 부르는 여러 부분으로 나누고, 들어온 글을 잘게 나눈 조각마다 그중 필요한 몇 개만 골라 일을 시키는 구조예요.

종합병원을 떠올리면 쉬워요. 장면 1은 접수처가 환자를 증상에 맞는 과로만 안내하는 모습이에요.

내과외과소아과내과로 가세요~배가 아파요…증상에 맞는 과에만 불이 켜져요

장면 1. 접수처는 환자를 증상에 맞는 과로만 안내해요. 나머지 과의 전문의는 이번 환자를 맡지 않아요.

큰 병원에는 여러 과의 전문의가 있지만 환자 한 명이 모든 의사를 만나지는 않아요. 접수처가 증상을 듣고 맞는 과 한두 곳으로 안내해요. MoE도 똑같아요. 병원의 접수처 역할을 하는 라우터(router)가 들어온 토큰을 보고 어느 전문가에게 보낼지 정하고, 선택된 전문가들만 계산을 해요.


총 파라미터와 활성 파라미터는 뭐가 다를까요?

이제 도입부에서 봤던 솔라 오픈2 모델 카드 사양을 다시 살펴볼까요? 총 파라미터는 250B, 활성 파라미터는 15B였어요. 앞에서 공부한 내용에 대입해 보면, 출근한 전문의 전체가 250B이고 환자 한 명을 실제로 진료하는 전문의가 15B인 셈이에요.

이번에는 병원 대신 실제 모델이 어떻게 동작하는지 조금 더 자세히 살펴볼게요. 라우터는 토큰이 들어오면 전문가마다 이 토큰을 맡기면 좋을지 추천 점수를 매겨요. 그리고 점수가 높은 상위 몇 개 전문가만 실제로 계산하게 해요. 나머지 전문가는 이번 토큰은 맡지 않아요. 그림 1에서는 조각마다 색이 다른 선을 따라가면, 그 조각이 고른 전문가 2명이 보여요.

MoE 라우팅 — 조각마다 전문가 8명 중 2명을 골라요코드를 만들어 줘코드를만들어줘라우터(접수처)전문가 부분전문가 1전문가 2전문가 3전문가 4전문가 5전문가 6전문가 7전문가 8가중 합(조각마다 따로)다음 층으로

그림 1. 라우터가 조각마다 추천 점수 상위 2개 전문가를 고르고, 그 두 전문가의 결과만 섞어(가중 합) 다음 층으로 보내요. 전문가 부분에서는 조각끼리 섞이지 않아요. 층 안에서 전문가로 나뉘는 건 일부이고, 나머지는 모든 토큰이 함께 거쳐요. 실제 모델은 이런 층을 수십 개 쌓고, 층마다 전문가를 새로 골라요. (전문가 조합은 설명을 위한 예시)

그림 1에서는 전문가 8명 중 2명이 일했지만 실제 큰 모델은 전문가를 수십~수백 개 두고 그중 몇 개만 골라 일하게 해요. 이때 토큰 하나에 전문가를 몇 개 고르도록 설계하느냐에 따라 활성 파라미터도 달라져요. 똑같이 총 파라미터가 250B인 모델이라도, 전문가를 더 많이 고르게 만들면 20B가 될 수도 있고, 더 적게 고르게 만들면 10B가 될 수도 있어요.


대형 AI 모델은 왜 MoE를 쓸까요?

과거에는 대형 AI 모델 대부분이 MoE가 아닌 밀집(dense) 구조였어요. 밀집 구조는 토큰이 들어올 때마다 모델 전체가 다 같이 계산하는 방식이에요. 모델이 작을 때는 이 구조로도 큰 문제가 없었지만 더 똑똑한 모델을 만들려고 파라미터를 늘리면서 문제가 생겼어요. 파라미터가 늘어나는 만큼 계산도 함께 늘어나서, 토큰 하나를 처리할 때 꼭 필요하지 않은 부분까지 매번 계산하게 된 거예요. 그래서 지식은 늘리면서 계산은 늘리지 않는 방법이 필요했고, 그 결과 MoE 구조가 주목받게 됐어요.

장면 2는 장면 1의 병원이 밀집 모델처럼 돌아간다면 어떤 모습일지 그려 본 거예요.

내과1외과2안과3내과, 외과, 안과 모두 들러주세요배가 아파요…밀집 모델이라면 모든 과를 차례로 거쳐요

장면 2. 밀집 모델이라면 배가 아파 온 환자도 내과, 외과, 안과를 모두 거쳐야 해요. 의사가 늘어날수록 진료 한 번이 그만큼 길어져요.

밀집 모델에서는 토큰 하나가 모델 전체를 거쳐요. 병원으로 치면 배가 아파 온 환자도 내과, 외과, 안과를 차례로 모두 들러야 하는 셈이에요. 물론 안과에서 배 아픈 환자의 눈을 살펴보다가 뜻밖의 단서를 찾을 수도 있지만 사실 그런 일은 드물어요. 대부분은 내과만 가도 모든 과를 다 들른 것과 거의 같은 진단을 받을 수 있어요. MoE가 노리는 것도 이거예요. 토큰마다 맞는 전문가 몇 개만 계산하면서도 답의 품질은 크게 잃지 않는 거예요.


활성 파라미터가 적으면 메모리도 적게 들까요?

앞에서 본 것처럼 MoE의 가장 큰 장점은 계산에 드는 시간과 자원을 줄여 준다는 거예요. 다만 한 가지 기억해야 할 게 있어요. 진료하는 의사는 한두 명이어도, 어떤 환자가 올지 모르니 전문의는 모두 출근해 있어야 한다는 점이에요.

종합병원진료하는 2명 = 계산출근한 8명 = 메모리
토큰라우터추천 점수 상위 2개 선택GPU전문가 1전문가 2계산 중전문가 3전문가 4계산 중전문가 5전문가 6전문가 7전문가 8계산: 고른 2개만 → 활성 파라미터메모리: 8개 모두 올려 둠 → 총 파라미터

장면 3. 병원에서 진료하는 의사는 2명이어도 8명 모두 출근해 있듯, MoE 모델도 계산은 고른 전문가 2개만 하지만 GPU 메모리에는 전문가 8개를 모두 올려 둬요.

실제 MoE 모델도 마찬가지예요. AI 모델을 돌리려면 계산 말고도 파라미터를 올려 두는 공간인 메모리가 필요한데, 다음 토큰이 어떤 전문가를 부를지 미리 알 수 없으니 전문가 전원이 늘 메모리에 올라가 있어야 해요. 그래서 계산은 활성 파라미터만큼, 메모리는 총 파라미터만큼 필요해요. MoE 구조라고 해서 모델 전체 크기가 줄어드는 건 아니라는 뜻이에요. 솔라 오픈2를 원본 그대로 돌리려면 파라미터를 저장하는 데만 500.6GB가 들어서 AI용 GPU(H100)가 8장 필요해요.


MoE를 가볍게 만들 때는 뭐가 어려울까요?

지난번 양자화 해설에서 노타가 잘하는 일이 큰 모델을 성능은 지키면서 작게 만드는 양자화라고 말씀드렸는데요. MoE 모델도 전체 크기가 커서, 실제로 쓰려면 양자화로 작게 만들어야 하는 경우가 많아요. 그런데 MoE 모델은 일반 모델보다 양자화하기가 훨씬 까다로워요.

앞에서 MoE의 접수처 역할을 하는 게 뭐였는지 기억나세요? 바로 라우터예요. 라우터는 토큰마다 맞는 전문가를 잘 골라 줘야 해요. 그런데 양자화로 모델 속 숫자가 조금씩 덜 정확해지면, 라우터가 매기는 추천 점수도 원래와 조금씩 달라져요. 그러면 원래와 다른 전문가를 고를 수 있어요. 병원으로 치면 몸을 가볍게 하려고 다이어트를 한 접수처 직원이 기운이 빠져, 내과로 보내야 할 배 아픈 환자를 외과로 보내는 셈이에요. 물론 외과 의사도 배 아픈 환자를 어느 정도는 볼 수 있겠지만 내과 의사만큼 잘 보기는 어려울 거예요.

내과외과안과원래 가야 할 곳외과로 가세요~배가 아파요…기운 빠진 접수처 = 추천 점수가 달라진 라우터

장면 4. 기운이 빠진 접수처 직원이 배 아픈 환자를 내과가 아닌 외과로 안내해요. 양자화로 추천 점수가 조금 달라진 라우터가 원래와 다른 전문가를 고르는 상황이에요.

MoE 모델 양자화가 어려운 이유는 하나 더 있어요. 양자화하기 전에는 예시 데이터를 넣어 보면서 모델 속 숫자들이 어느 범위에 있는지 재는 캘리브레이션을 거치는데 평범한 데이터만 넣으면 일부 전문가는 거의 불리지 않아요.

말이 조금 어려웠는데요. 다시 병원으로 비유해 보면, 감기 환자는 많아서 내과 전문의는 자주 불리지만 맹장이 터진 환자는 드물어서 맹장 수술을 하는 외과 전문의는 거의 불리지 않아요. 이렇게 거의 불리지 않은 전문의는 어떻게 일하는지 잴 수가 없으니 양자화한 뒤에 정작 맹장 환자가 오면 제대로 진료하기 어려워요.


MoE 양자화, 노타는 어떻게 풀고 있을까요?

이렇게 MoE를 양자화할 때는 라우터가 원래와 같은 전문가를 고르도록 지키고, 거의 불리지 않는 전문가까지 제대로 재는 게 핵심이에요. 노타는 이 두 문제를 이렇게 풀고 있어요.

  • 라우터 문제: 노타의 MoE 전용 양자화 기법인 NMQ(Nota MoE Quantization)로, 양자화한 뒤에도 원래 모델과 같은 전문가가 선택되도록 보정해요. (같은 주제를 다룬 노타 논문 두 편은 ICML 2026 워크숍에 채택되기도 했어요.)
  • 거의 불리지 않는 전문가 문제: 잠들어 있는 전문가를 일부러 부르는 캘리브레이션 데이터를 AI로 합성해요. 맹장 환자 사례를 일부러 만들어 외과 전문의를 불러내는 것과 같아요. (이 방법으로 엔비디아 Nemotron 해커톤에서 20팀 중 종합 1위를 차지하기도 했어요.)

그리고 이 두 가지 방법을 함께 쓴 사례가 글 처음에 소개한 솔라 오픈2예요. 양자화에 가지치기(덜 중요한 부분을 덜어내는 기법)까지 더해 원본 500.6GB를 117.8GB로 줄였고, 그 덕분에 H100 8장이 필요하던 모델을 2장으로 돌릴 수 있게 됐어요. 고난도 추론 과제 점수도 원래의 99% 이상을 유지했어요(평균 83.99점 → 83.39점).

숫자 두 개로 시작했는데 라우터부터 메모리, 양자화까지 생각보다 알아야 할 게 많았어요. 그래도 이것만 기억하면 돼요. 계산은 고른 전문가만큼, 메모리는 전문가 전원만큼! 그리고 이 복잡한 MoE를 작게 줄이면서도 성능은 거의 그대로 유지해 주는 곳이 바로 노타라는 사실도요!



자주 묻는 질문

MoE는 모델을 가볍게 만드는 압축 기술인가요?

아니요, MoE는 모델을 처음 만들 때 정하는 설계 방식이에요. 모델을 가볍게 만드는 압축 기술은 양자화나 가지치기예요. 오히려 MoE 모델은 총 파라미터가 커서 메모리를 많이 쓰기 때문에, 실제로 돌릴 때는 압축이 더 필요한 경우가 많아요.

MoE의 전문가는 정말 분야별 전문가인가요?

꼭 그렇지는 않아요. 전문가가 어떤 일을 맡을지는 사람이 정해 주는 게 아니라 모델이 학습하면서 저절로 나뉘어요. 그래서 '수학 담당', '코딩 담당'처럼 딱 떨어지기보다, 비슷한 모양의 단어나 문장 구조처럼 사람이 이름 붙이기 어려운 기준으로 나뉘는 경우가 많아요. 종합병원 비유의 내과·외과는 '맡는 일이 나뉜다'는 점을 보여 주려고 든 예예요.

토큰 하나에 전문가를 몇 개나 고르나요?

모델마다 달라요. 믹스트랄(Mixtral 8x7B)은 전문가 8개 중 2개, gpt-oss-120b는 128개 중 4개, Qwen3-235B는 128개 중 8개, DeepSeek-V3는 256개 중 8개를 골라요. 전문가 수가 많아질수록 고르는 비율은 더 작아지는 경향이 있어요.

활성 파라미터가 적으면 답도 그만큼 빨리 나오나요?

계산이 줄어드는 만큼 빨라지긴 하지만 딱 그 비율만큼 빨라지지는 않아요. 전문가 전원을 메모리에 올려 두고 필요한 전문가의 파라미터를 그때그때 꺼내 써야 하고, GPU 여러 장에 나눠 담으면 GPU끼리 데이터를 주고받는 시간도 들거든요.

MoE는 여러 모델을 합쳐 쓰는 앙상블과 다른가요?

달라요. 앙상블은 따로 만든 완성된 모델 여러 개에게 같은 문제를 전부 풀게 하고 답을 모으는 방식이라, 모델 수만큼 계산이 늘어나요. MoE는 모델 하나 안의 일부를 전문가로 나누고 그중 몇 개만 풀게 해서, 계산이 크게 늘지 않아요.

MoE의 장단점은 뭔가요?

장점은 지식의 양(총 파라미터)을 크게 늘려도 토큰 하나를 처리하는 계산은 작게 유지할 수 있다는 거예요. 단점은 전문가 전원을 메모리에 올려 둬야 해서 메모리가 많이 들고, 양자화로 크기를 줄일 때도 일반 모델보다 까다롭다는 점이에요.


함께 읽으면 좋은 글

Related