포스트

DeepSeek는 왜 모든 Expert를 쓰지 않을까? MoE 효율 구조와 모델 선택법

DeepSeek의 MoE 효율은 많은 expert를 보유하되 입력마다 필요한 일부만 활성화해, 전체 parameter를 매번 같은 정도로 계산하지 않는 데서 나옵니다.

이 글은 DeepSeek 공식 사이트, GitHub 조직, DeepSeekMoE 논문DeepSeekMath 논문을 바탕으로 작성된 원문을 기술 선택 관점으로 다시 정리합니다. 출시, 시장, 비용 주장은 시점과 비교 조건에 따라 달라지므로 architecture 설명과 분리해서 봐야 합니다.

Sparse MoE는 보유 규모와 사용 연산을 나눕니다

Mixture of Experts는 여러 expert network와 입력을 어느 expert에 보낼지 정하는 routing으로 구성됩니다. 원문은 DeepSeek가 입력에 맞춰 2~4개 expert만 선택하는 sparse activation을 사용한다고 설명합니다. 모든 expert 출력을 같은 비중으로 계산하는 것보다 활성 연산을 줄이려는 구조입니다.

DeepSeek 모델 비교표

효율만큼 중요한 문제가 expert 쏠림입니다. 특정 expert에 token이 몰리면 나머지는 덜 학습되고 병목이 생길 수 있어, 원문은 expert balancing algorithm으로 사용량을 조정한다고 정리합니다. 따라서 MoE model을 평가할 때 총 parameter 수 하나만 보면 안 되고, 한 token에서 활성화되는 expert 수와 routing 균형을 함께 봐야 합니다.

이 글에는 실제 router 수식, capacity와 통신량 측정이 없습니다. “Sparse라서 언제나 빠르다”는 결론까지 증명하는 재현 코드가 아니라 architecture의 선택 이유를 설명하는 범위입니다.

일반 학습과 Domain 학습은 역할이 다릅니다

원문이 말하는 hybrid training은 먼저 대규모 일반 text로 language 규칙과 지식을 학습하고, 이후 수학, code, 과학 같은 domain data로 fine-tuning하는 흐름입니다. Pre-training과 fine-tuning을 한 단계의 비용으로 섞어 말하면 특정 model이 어디서 강점을 얻었는지 알기 어렵습니다.

DeepSeekMath는 수학 문제를 단계적으로 푸는 data를 활용해 수학 reasoning에 집중한 model로 소개됩니다. 일반 대화 model과 수학 특화 model을 같은 질문 몇 개로 순위를 매기기보다, 실제 task가 범용 text 생성인지 수학 풀이인지 먼저 정해야 합니다.

원문은 FlashAttention을 긴 context의 memory, 속도 최적화 수단으로, 4bit, 8bit quantization을 parameter memory를 줄이는 방법으로 소개합니다. 하지만 어떤 checkpoint와 hardware에서 지원되는지, 품질이 얼마나 변하는지는 제시하지 않습니다. “지원”과 “내 device에서 검증됨”을 구분해야 합니다.

모델 이름보다 사용 목적을 먼저 고릅니다

DeepSeek-LLM은 7B와 67B 규모의 범용 text model, DeepSeek-MoE는 sparse expert architecture, DeepSeekMath는 수학 특화 model로 정리돼 있습니다. DeepSeek-R1은 reinforcement learning 기반 reasoning model로 소개됩니다.

선택 순서는 task, memory budget, latency, output 검증 방법입니다. 범용 대화가 목적이면 domain 특화 점수만으로 고르지 않고, 수학 문제라면 정답률과 풀이의 일관성을 봅니다. MoE는 전체 weight를 올리는 memory 요구와 활성 연산량을 따로 계산해야 합니다. Quantized model은 bit 수만 확인하지 말고 같은 평가 문제에서 품질을 다시 비교해야 합니다.

또한 “생각 과정을 보여 준다”는 표현이 곧 답의 신뢰성을 보장하지는 않습니다. 생성된 설명은 최종 정답과 함께 검증해야 하며, 원문에는 이를 평가하는 별도 절차가 없습니다.

비용과 영향력 주장을 읽는 경계

원문은 전통적인 대형 model보다 낮은 개발비, 특정 고비용 model의 약 10분의 1이라는 알려진 주장, R1 출시 뒤 기술주 하락과 AI infrastructure 재평가를 언급합니다. 하지만 계산에 포함한 hardware 시간, data, 인건비, 비교 model과 환율 같은 조건이 본문에 제시돼 있지 않습니다.

그러므로 이 숫자는 deployment 예산표의 입력값으로 쓰지 않는 편이 안전합니다. 기술적으로 확인 가능한 것은 sparse activation, expert balancing, domain fine-tuning과 quantization 같은 설계 축입니다. 실제 도입에서는 공개된 model, code의 정확한 범위와 license, 필요한 memory, target task 성능을 해당 시점 자료로 별도 확인해야 합니다.

DeepSeek를 이해하는 가장 좋은 질문은 “미국 model보다 싼가?” 하나가 아니라 “어떤 expert가 언제 활성화되고, 내 task에서 활성 연산과 품질이 어떻게 바뀌는가?”입니다. 원문의 논문 두 편도 그 구조와 수학 특화 학습을 나눠 읽을 때 더 유용합니다.

MoE 비용을 어떤 항목으로 나누나요?

전체 weight memory, token당 active expert parameter와 router 연산을 따로 적습니다. Multi-device에서는 token dispatch, gather 통신, expert별 queue와 capacity 초과도 측정합니다. Total parameter가 크다는 사실과 한 token FLOPs가 작다는 사실을 한 숫자로 섞지 않습니다.

Routing log에서 expert 사용률, drop 또는 overflow와 latency 분포를 봅니다. 일부 expert 쏠림이 품질과 throughput에 미치는 영향을 실제 batch, sequence length에서 비교합니다.

모델 선택 평가를 어떻게 구성하나요?

실제 task의 정답 fixture, 안전, format 요구와 최대 context를 정하고 같은 prompt, decode 조건에서 평가합니다. 수학은 최종 정답과 풀이 검산, code는 test 실행, 범용 text는 사실성, 지시 준수를 구분합니다. Quantization 전후와 target hardware memory, latency도 같이 측정합니다.

비용 주장을 어떻게 검증하나요?

Training cost에는 hardware time뿐 아니라 data, 실패 run과 인력 범위가 무엇인지 확인합니다. 조건이 없는 알려진 숫자를 deployment budget에 넣지 않습니다. 배포 시점 license, checkpoint와 runtime 지원을 별도 확인하고 공개 architecture 설명과 현재 service 조건을 섞지 않습니다.

Router 품질을 어떻게 평가하나요?

같은 domain token이 항상 한 expert에만 몰리는지, expert별 token 수와 loss를 기록합니다. Balance loss를 강하게 하면 균등 사용은 늘어도 task specialization이 약해질 수 있어 품질과 throughput을 함께 봅니다. Router decision을 model 답의 정확성 설명으로 과신하지 않습니다.

긴 Context와 Quantization을 어떻게 분리하나요?

FlashAttention 지원은 target runtime, dtype와 sequence length에서 실제 peak memory와 latency를 측정합니다. Quantization은 weight memory를 줄여도 KV cache, MoE dispatch memory가 남고, 긴 context에서 병목이 달라질 수 있습니다. 동일 checkpoint, prompt의 full precision 결과와 task별 품질을 비교합니다.

자주 남는 질문

MoE는 모든 expert weight를 매 token 계산하나요?

아닙니다. Router가 일부 expert만 활성화하지만 전체 weight를 저장하는 memory 요구는 별도로 남습니다.

Sparse MoE면 항상 dense model보다 빠른가요?

보장할 수 없습니다. Routing, expert imbalance와 장치 간 통신, batch, runtime 지원이 실제 latency를 좌우합니다.

DeepSeek model은 이름만 보고 선택해도 되나요?

아닙니다. 범용 대화, 수학, reasoning 등 task, memory, latency와 실제 평가 문제를 먼저 정해야 합니다.

함께 읽으면 이해가 이어지는 글

자주 묻는 질문

MoE는 모든 expert weight를 매 token 계산하나요?

아닙니다. Router가 일부 expert만 활성화하지만 전체 weight를 저장하는 memory 요구는 별도로 남습니다.

Sparse MoE면 항상 dense model보다 빠른가요?

보장할 수 없습니다. Routing, expert imbalance와 장치 간 통신, batch, runtime 지원이 실제 latency를 좌우합니다.

DeepSeek model은 이름만 보고 선택해도 되나요?

아닙니다. 범용 대화, 수학, reasoning 등 task, memory, latency와 실제 평가 문제를 먼저 정해야 합니다.

THE END / OPSOAI

여기까지 읽었습니다

핵심 장면을 한 번 더 떠올려 보세요. 이해가 남았다면 이 책은 제 역할을 다했습니다.

다른 책 고르기
표지 1

키와 좌우 스와이프를 지원합니다. 읽던 페이지는 이 기기에 저장됩니다.

CONTENTS

이 책의 목차

    12개 장 12 분읽는 시간