JetBrains Mellum2의 MoE 구조와 코딩 LLM 배포 전략

JetBrains Mellum2의 희소 MoE 구조와 코딩 성능, 멀티모델 파이프라인 활용법, 온프레미스 배포 구성을 분석한다.

2026-08-14 · 최초 발행 2026-06-10

전체 모델보다 작은 연산 경로

JetBrains는 2026년 6월 2일 Mellum2를 Apache 2.0 라이선스로 공개했다. 이 모델은 12B의 전체 파라미터를 갖지만, 토큰을 처리할 때 실제로 활성화되는 파라미터는 2.5B다. 동급 밀집 모델 대비 2배 이상의 추론 속도와 131,072 토큰의 컨텍스트 윈도우를 내세우며, 대규모 코드베이스 분석과 멀티모델 파이프라인의 고속 서브에이전트 역할을 겨냥한다.

이러한 연산 방식은 MoE(Mixture of Experts)에서 나온다. 기존 밀집 FFN(Feed-Forward Network) 레이어 대신 64개의 병렬 전문가 서브네트워크를 두고, 학습된 라우터가 각 토큰에 필요한 전문가 8개를 선택한다.

항목
총 파라미터 12B
토큰당 활성 파라미터 2.5B (약 20.8%)
레이어 수 28
Hidden Size 2,304
Intermediate Size 7,168
Q 어텐션 헤드 / KV 헤드 32 / 4 (GQA)
슬라이딩 윈도우 1,024 토큰
최대 컨텍스트 131,072 토큰
어휘 크기 98,304
정밀도 bfloat16
전문가 구성 64 전문가, 토큰당 8개 활성화

어텐션에는 GQA(Grouped Query Attention)를 적용했다. Q 헤드는 32개지만 KV 헤드는 4개이므로 긴 컨텍스트를 처리할 때 KV 캐시가 차지하는 메모리를 줄일 수 있다. 1,024 토큰 슬라이딩 윈도우 어텐션과 전체 어텐션을 혼합해 지역적인 코드 패턴과 장거리 의존성을 함께 다룬다.

학습에는 소프트웨어 엔지니어링 태스크에 초점을 맞춘 약 10.6조 토큰이 사용됐다. 전작 Mellum이 코드 완성에 집중했다면 Mellum2는 자연어 이해와 생성 능력까지 갖춰 코드와 자연어가 섞인 작업에도 대응한다.

라우터가 전문가를 고르는 방식

밀집 모델은 토큰마다 모든 FFN 파라미터를 계산한다. MoE는 라우터가 상위 k개의 전문가만 선택하므로 전체 파라미터 중 5~20%만 활성화할 수 있다. Mellum2에서는 전문가 수를 기준으로 64개 중 8개, 약 12.5%가 선택된다. 파라미터 기준 활성화 비율은 2.5B/12B = 약 20.8%다.

메모리 상주, 연산 미참여입력 토큰임베딩 레이어라우터 게이팅 네트워크Top-8 전문가 선택Expert 3Expert 17Expert 31Expert 42Expert 55 ...가중 합산 (Weighted Sum)다음 레이어 / 출력비활성 전문가 56개

라우터는 소프트맥스 확률 분포에서 상위 k개 전문가를 고른 뒤, 각 전문가의 출력을 라우터 가중치에 따라 합산한다. 학습 과정에서는 보조 로드 밸런싱 손실(Auxiliary Load Balancing Loss)을 적용한다. 토큰이 일부 전문가에만 몰리는 전문가 붕괴(Expert Collapse)를 억제하고 전문가 활용을 분산하기 위한 장치다.

전문가가 실제로 무엇에 특화되는지를 두고는 상반된 해석도 있다. arXiv:2604.09780의 「The Myth of Expert Specialization in MoEs」는 라우팅이 시맨틱 전문화보다 임베딩 공간의 기하학적 근접성을 반영한다고 주장한다. 반대로 arXiv:2603.11114의 「Task-Conditioned Routing Signatures」는 태스크별로 재현 가능한 전문가 활성화 패턴이 존재한다고 본다. 코딩 LLM에서는 구문 패턴과 언어 키워드, 논리 구조가 서로 다른 전문가로 라우팅되는 경향이 성능 향상에 기여한다는 점이 경험적으로 확인되고 있다.

벤치마크와 모델 선택

Mellum2 Thinking 변형의 성능은 다음과 같다.

벤치마크 Mellum2 Thinking Qwen3.5-9B Seed-Coder-8B
EvalPlus (HumanEval+ + MBPP+) 78.4% 71.8% 73.8%
LiveCodeBench v6 69.9% - -
AIME 2025+2026 58.4% - -
추론 속도 동급 대비 2배+ 기준 -

배포되는 변형은 Base, Base-Pretrain, Instruct, Instruct-SFT, Thinking, Thinking-SFT까지 6개다. 단순한 코드 완성에는 Instruct를, 복잡한 추론이 필요한 에이전트 작업에는 Thinking 변형을 선택할 수 있다.

2026년 MoE 생태계의 대형 모델과 비교하면 Mellum2의 지향점이 선명해진다. DeepSeek-V3는 총 671B 가운데 37B를 활성화하고, Mixtral 8x22B는 총 141B 가운데 39B를 활성화한다. 이들은 높은 성능만큼 큰 VRAM을 요구한다. Mellum2는 12B 중 2.5B를 활성화하며 RTX 4090 단일 카드에서도 운용할 수 있는 범위를 겨냥한다.

프론티어 모델과 작업을 나누는 고속 전문가

JetBrains가 Mellum2에 부여한 역할은 멀티모델 워크플로우의 고속 전문가(Fast Specialist)다. Claude나 GPT-4o 같은 프론티어 모델이 복잡한 추론을 맡고, Mellum2는 자주 호출되면서 지연 시간에 민감한 작업을 처리하는 구조다.

복잡한 추론아키텍처 설계고빈도 / 저지연태스크사용자 요청오케스트레이터 에이전트태스크 분류프론티어 모델(Claude / GPT-4o)Mellum2(고속 전문가)컨텍스트 수집코드 플래닝검증 / 라우팅요약 / 정규화최종 응답 조합사용자

Mellum2가 맡을 수 있는 작업에는 코드베이스에서 관련 파일과 함수를 찾아 요약하는 컨텍스트 수집, 작업 단계와 서브태스크를 만드는 플래닝, 생성 코드의 구문·논리 오류에 대한 1차 검토가 있다. 요청의 복잡도를 판단해 프론티어 모델로 에스컬레이션할지 결정하는 라우팅이나 긴 로그·에러 트레이스·문서를 압축하는 요약 정규화에도 사용할 수 있다.

이 하이브리드 아키텍처는 고품질 결과를 유지하면서 프론티어 모델 API 비용을 80% 절감하는 접근법의 핵심 구성요소로 자리 잡고 있다.

온프레미스 서빙 스택 구성

Mellum2 가중치는 Hugging Face에 공개됐고 Apache 2.0 라이선스로 상업적으로 활용할 수 있다. 배포 설계에서는 먼저 가중치 정밀도에 따른 VRAM 요구량을 맞춰야 한다.

bfloat16 전체 정밀도의 12B 파라미터는 약 24GB VRAM을 요구한다. RTX 4090 24GB 단일 카드에 배포할 수 있으며, 4비트 양자화를 적용하면 약 6~8GB로 줄어 RTX 3080이나 RTX 4080에서도 운용할 수 있다.

정밀도 필요 VRAM 권장 하드웨어
bfloat16 ~24GB RTX 4090, A100 40GB
int8 ~12GB RTX 3090, A10G
int4/GGUF Q4 68GB RTX 3080, RTX 4070

개발과 프로토타입에는 Ollama를 사용할 수 있다. GGUF 포맷으로 변환하면 단일 명령으로 서빙할 수 있고 OpenAI 호환 API도 제공한다. 다만 동시 연결이 128개 이상이면 성능이 급락하므로 프로덕션 용도에는 맞지 않는다.

프로덕션 환경에서는 vLLM을 쓸 수 있다. PagedAttention이 KV 캐시를 페이지 단위로 관리해 메모리 단편화를 줄이며, 2025~2026년에 나온 프리필/디코드 분리(Disaggregated Prefill/Decode) 아키텍처는 GPU 활용률을 크게 개선한다.

# vLLM으로 Mellum2 Instruct 서빙
vllm serve JetBrains/Mellum2-12B-A2.5B-Instruct \
  --dtype bfloat16 \
  --max-model-len 32768 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.9

로컬 vLLM과 Ollama, 클라우드 API를 하나의 OpenAI 호환 엔드포인트 뒤에 두려면 LiteLLM Proxy를 연결할 수 있다. 모델 라우팅과 로드 밸런싱, 폴백, 비용 추적은 YAML 설정으로 구성한다.

# litellm_config.yaml
model_list:
  - model_name: mellum2-instruct
    litellm_params:
      model: openai/JetBrains/Mellum2-12B-A2.5B-Instruct
      api_base: http://localhost:8000
      api_key: dummy

  - model_name: mellum2-thinking
    litellm_params:
      model: openai/JetBrains/Mellum2-12B-A2.5B-Thinking
      api_base: http://localhost:8000
      api_key: dummy

router_settings:
  routing_strategy: "least-busy"
  fallbacks:
    - mellum2-instruct: ["claude-3-5-sonnet-20241022"]

IDE에서는 JetBrains AI Pro의 네이티브 통합을 이용할 수 있다. Continue.dev 확장을 사용하면 VS Code와 IntelliJ에서도 커스텀 로컬 모델로 연결할 수 있다.

긴 컨텍스트에서 KV 캐시를 줄이는 설계

MoE는 연산에 참여하는 활성 파라미터를 줄이지만, 전체 가중치는 VRAM에 상주시켜야 한다. 라우터가 토큰마다 다른 전문가를 고를 수 있어야 하므로 12B 파라미터 모두를 메모리에 로드해야 한다.

Mellum2는 KV 헤드를 4개로 제한한 GQA 설계로 이 부담을 완화한다. KV 캐시 크기는 다음 공식으로 계산할 수 있다.

KV Cache = 2 × num_layers × num_kv_heads × head_dim × seq_len × bytes_per_element
         = 2 × 28 × 4 × 576 × seq_len × 2  (bfloat16)

MHA(Multi-Head Attention)의 32 KV 헤드 대신 4 KV 헤드를 사용하므로 KV 캐시는 1/8로 줄어든다. 최대 컨텍스트인 131,072 토큰을 처리할 때는 이 차이가 수십 GB에 이른다.

1,024 토큰의 슬라이딩 윈도우 어텐션은 지역 패턴을 처리하고, 특정 레이어의 전체 어텐션이 장거리 의존성을 맡는다. 이 혼합 구조가 131K 토큰 컨텍스트를 실용적인 메모리 범위에서 처리하도록 돕는다. 여기에 vLLM의 PagedAttention을 결합하면 KV 캐시를 비연속 메모리 페이지로 관리해 배치 처리 중 GPU 메모리 활용률을 90% 이상으로 유지할 수 있다.

오픈소스 코딩 모델로서의 자리

2026년 오픈소스 코딩 LLM 생태계에서는 Mistral의 Devstral 2가 72.2% SWE-bench, Moonshot의 Kimi K2.5가 99% HumanEval을 기록했고 DeepSeek-V4-Pro도 경쟁에 참여하고 있다.

Mellum2의 차별점 가운데 하나는 IntelliJ IDEA, PyCharm, GoLand 등 JetBrains IDE 생태계와의 네이티브 통합이다. IDE 벤더가 직접 만든 모델이라는 점에서 열린 파일, 커서 위치, 프로젝트 구조, 빌드 상태 같은 에디터의 실시간 컨텍스트를 효율적으로 사용할 수 있다.

또 다른 방향은 “클로드 코드가 닿지 못하는 곳으로” 진출하는 것이다. 보안 규정과 데이터 주권 요건, 에어갭 환경 때문에 클라우드 API를 쓰지 못하는 금융·의료·국방·공공 부문이 주요 대상이다.

Kong 2025 Enterprise AI 보고서에서는 조직의 44%가 데이터 프라이버시를 LLM 도입의 최대 장벽으로 꼽았다. 하루 5천만 토큰을 기준으로 GPT-4o API 비용은 월 약 18,750달러이며, 자체 호스팅 양자화 모델은 1만~1만2천 달러 수준이다. 약 40%를 절감할 수 있고 ROI 손익분기점은 약 4개월이어서 중견기업 이상에서는 경제적 타당성이 충분하다.

Mellum2는 모든 작업을 단독으로 해결하는 프론티어 모델보다, 빠른 반복 작업을 맡는 코딩 전문 모델에 가깝다. 12B 가중치를 메모리에 올려야 하는 MoE의 제약은 남지만 토큰당 연산은 2.5B로 제한된다. Apache 2.0 가중치와 Hugging Face 배포, vLLM과 LiteLLM Proxy의 조합은 소비자 GPU부터 온프레미스 멀티모델 환경까지 이어지는 배포 경로를 제공한다.

Sources

Mellum2코딩 LLMMoE온프레미스vLLM