30B MoE 구조의 North Mini Code 공개와 Apache 2.0 라이선스 적용

코딩 에이전트를 구축할 때 모델 크기를 키우면 추론 비용과 지연 시간이 급증한다. 코히어는 이 문제의 대안으로 전체 파라미터 30B, 활성 파라미터 3B 규모의 Mixture-of-Experts(MoE, 전문가 혼합) 모델인 North Mini Code를 공개했다. 이 모델은 에이전트 기반의 소프트웨어 엔지니어링과 터미널 작업 최적화에 특화되어 설계되었다. Apache 2.0 라이선스로 Hugging Face를 통해 배포되어 누구나 상업적 이용과 수정이 가능하다. 활성 파라미터를 최소화한 MoE 구조는 추론 시 연산량을 줄이면서도 대규모 모델의 지식 저장 능력을 유지하는 전략이다.

North Mini Code는 30B라는 상대적으로 작은 규모임에도 불구하고 에이전트 작업에 최적화된 학습 구조를 통해 효율성을 극대화했다. 특히 복잡한 소프트웨어 엔지니어링 워크플로우와 터미널 기반의 에이전트 작업에서 강점을 보인다. 이는 파라미터 수의 단순 증량보다 정교한 학습 설계가 성능에 더 큰 영향을 미침을 보여준다.

128개 전문가 블록 기반의 희소 MoE 구조와 단계적 캐스케이드 학습

이 모델은 디코더 전용 트랜스포머 기반의 희소 전문가 혼합(MoE) 구조를 채택했다. 전체 128개의 전문가 블록 중 토큰당 8개만 활성화해 실제 연산량을 억제했다. 각 전문가 블록은 SwiGLU 활성화 함수를 사용하는 FFN 블록으로 구성되며, 라우터는 top-k 선택 전 시그모이드 활성화 함수를 적용해 토큰을 배분한다. 희소 레이어 앞에는 단일 밀집 레이어를 배치해 기초 표현력을 확보했다. 어텐션 구조는 RoPE(Rotary Positional Embedding)가 적용된 슬라이딩 윈도우 어텐션과 위치 임베딩이 없는 글로벌 어텐션을 3:1 비율로 교차 배치해 긴 컨텍스트 처리 시 메모리 사용량을 제어한다.

학습 파이프라인은 2단계의 지도 미세 조정(SFT) 후 검증 가능한 보상을 사용하는 강화 학습(RLVR)을 적용하는 순서로 설계되었다. 1단계 SFT에서는 학습 토큰의 70%를 코드 데이터로 채웠으며, 에이전트 도구 사용 데이터 43%, 경쟁 및 과학 프로그래밍 데이터 27%를 포함해 도구 활용 능력과 논리적 추론 능력을 배양했다.

컨텍스트 길이를 확장하는 방식에서는 '롱투롱거(long-to-longer)' 캐스케이드 기법을 도입했다. 1단계 SFT에서 64K 길이를 학습하고, 2단계 SFT에서 이를 128K까지 확장했다. 이 방식은 데이터 간 충돌을 방지해 모델이 일관된 코딩 스타일을 유지하게 한다. 실제 평가에서도 64K까지만 절단해 학습시킨 경우가 전체 길이 분포를 학습시킨 경우보다 더 긴 최종 궤적을 생성하는 결과가 나타났다.

최종적으로 SFT는 RLVR을 위한 프라이밍 단계로 활용되어 샘플링 다양성과 pass@K 성능을 높이는 데 집중했다. 잘못된 도구 호출이나 환각 인용 같은 현상을 제거하기 위해 샘플 수준의 필터링을 수행했으며, RLVR 과정에서 구조적 생성이 잘못된 하이퍼파라미터는 제거했다. 이를 통해 모델이 템플릿을 암기하는 것이 아니라 지시어에 맞는 정확한 도구 호출과 코드 생성을 학습하게 했다.

거대 모델을 상회하는 Artificial Analysis 코딩 지표와 벤치마크 성과

North Mini Code는 Artificial Analysis 코딩 지표에서 33.4점을 기록했다. 이는 비슷한 체급의 경쟁 모델인 Qwen3.5(35B-A3B), Gemma 4(26B-A4B), Devstral Small 2(24B Dense)의 수치를 모두 앞지른 결과다.

특히 120B 규모의 Nemotron 3 Super(120B-A12B), 119B의 Mistral Small 4(119B-A6B), 123B의 Devstral 2보다 높은 성능을 보였다. 파라미터 수가 4배 이상 차이 나는 거대 모델들을 제치고 코딩 지표 상위권에 진입하며, 최적화된 학습 전략으로 규모의 열세를 극복했음을 수치로 증명했다.

실제 소프트웨어 엔지니어링 환경을 모사한 벤치마크에서도 구체적인 성과가 확인된다. SWE-Bench Verified에서는 pass@10 기준 80.2%의 달성률을 기록했으며, 터미널 기반의 에이전트 작업 능력을 측정하는 Terminal-Bench v2에서도 pass@10 기준 55.1%를 기록했다. 이는 에이전트가 반복적인 시도를 통해 정답에 도달할 수 있는 높은 잠재력을 가졌음을 뜻하며, 실제 개발 환경에서 도구를 사용하고 오류를 수정하는 실무 적용 가능성을 입증한 결과다.

다양한 에이전트 하네스 환경에서의 일반화 성능 확보

North Mini Code는 SWE-Agent(전용 CLI 인터페이스), mini-SWE-agent(단일 bash 도구), OpenCode(JSON 구조 응답), Terminus 2(평문 채팅 기반) 등 서로 다른 네 가지 하네스(Harness) 환경을 모두 지원한다. SWE-Agent가 bash와 str_replace_editor 같은 특수 명령어를 사용하는 반면, mini-SWE-agent는 쉘의 표준 출력만을 피드백으로 활용하고, OpenCode는 edit, grep, todowrite 등 세분화된 도구를 통해 구조화된 JSON을 반환한다.

2단계 SFT 과정에서 전체 데이터 믹스의 6%만 벤치마크 하네스 데이터로 구성해 학습시켰음에도, OpenCode 하네스에서의 성능이 10% 향상되는 교차 전이 효과가 나타났다. mini-SWE-Agent의 경우 pass@1 기준 61.0%의 성능을 기록했다. 이는 서로 다른 하네스들이 도구 기능 면에서 겹치는 부분이 많아, 적은 데이터로도 충분한 표현 구조를 공유하며 성능이 전이된 결과다.

학습 데이터의 신뢰도를 위해 5,000개 이상의 고유 리포지토리에서 추출한 70,000개 이상의 검증 가능한 작업을 사용했으며, SWE-Bench 및 SWE-Bench-Pro 리포지토리 소스와의 중복 제거 작업을 수행했다. 특히 Terminus 2 하네스를 위해 데이터 믹스에 20% 미만의 평문 데이터를 포함했다. 이러한 방식은 모델이 지시어에 따라 적절한 도구를 선택하고 실행하는 능력을 학습시켜, 예측 불가능한 도구 환경에서도 강건하게 작동하는 기반이 된다.

온프레미스 환경의 코딩 에이전트 도입 가능성과 실무적 이점

이러한 범용적인 하네스 지원 능력은 기업의 온프레미스 환경에서 강력한 이점이 된다. 기업 내부에서 코딩 에이전트를 구축할 때 가장 큰 병목은 GPU 메모리 점유율과 추론 지연 시간이다. North Mini Code는 3B의 활성 파라미터만 사용하는 MoE 구조를 통해 100B급 거대 모델 수준의 성능을 내면서도 하드웨어 요구 사양을 대폭 낮췄다. 이는 제한된 GPU 자원만으로도 엔터프라이즈급 성능을 구현할 수 있는 실질적인 경로를 제공한다.

검증 가능한 보상을 기반으로 학습된 모델은 터미널 기반의 에이전트 작업에서 높은 신뢰도를 보이며, 개발자가 모델의 환각 현상을 잡아내기 위해 소모하던 검수 시간을 줄여준다. 결과적으로 복잡한 코드 수정과 테스트, 배포로 이어지는 소프트웨어 엔지니어링 자동화 파이프라인의 오류율을 낮추는 토대가 된다.

또한 Apache 2.0 라이선스를 적용해 상업적 이용과 모델 수정이 완전히 자유롭다. 내부 보안 정책상 외부 API 사용이 불가능한 금융권이나 제조 기업이 자체 서버에 모델을 올리고, 기업 내부의 전용 코드베이스나 도메인 특화 언어로 추가 학습시키기에 최적의 조건이다. 경량 모델의 추론 효율성과 라이선스의 개방성이 결합되면서, 기업 내부 코딩 어시스턴트 구축을 가로막던 비용과 법적 진입장벽이 제거되었다.

모델 규모의 확장은 필연적으로 추론 비용과 지연 시간의 급증을 초래한다. North Mini Code는 30B 파라미터 규모임에도 120B의 Nemotron 3 Super보다 높은 코딩 지표를 기록하며 규모의 한계를 넘었다.

64K에서 128K로 확장하는 long-to-longer 캐스케이드 SFT와 검증 가능한 보상을 활용한 RLVR 학습이 성능 최적화를 견인했다. Apache 2.0 라이선스 기반의 이 경량 모델은 고성능 코딩 에이전트를 구축하려는 개발자에게 비용 효율적인 실무 기준점을 제공한다. 코딩 모델의 실질적 경쟁력은 파라미터의 양이 아니라 학습 전략의 정교함에서 결정된다.