JetBrains AI
Supercharge your tools with AI-powered features inside many JetBrains products
Mellum, 오픈 소스로 전환: 개발자를 위한 맞춤형 LLM, 지금 Hugging Face에서 만나보세요
Mellum은 세상의 모든 것을 아는 모델은 아닙니다. 대신 한 가지, 바로 코드 완성을 정말 잘하기 위해 만들어졌습니다. 많은 것을 포괄하기보다 하나의 목적에 집중하도록 설계되었다는 의미로 저희는 포컬(focal) 모델이라고 부릅니다.
하지만 코드 완성은 시작에 불과합니다.
Mellum은 코드 완성부터 Diff 예측 등 다양한 코딩 작업에 각각 전문화된 포컬 모델의 집합체로 성장하게 될 것입니다.
이제는 기본 모델이 오픈 소스로 전환되어 Hugging Face에서 제공됩니다. 도구를 개발하든, 연구 실험을 실행하든, 그저 호기심 때문이든 빠르고 다국어 지원*이 가능한 이 모델을 자유롭게 활용할 수 있습니다.
*Mellum은 Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust, Ruby에 대한 코드 완성을 지원합니다.
🤔 Mellum을 오픈 소스로 제공하는 이유는?
이와 관련하여 내부적으로 많은 논의가 있었습니다.
Mellum은 단지 오픈 소스 모델을 세세하게 조정한 버전이 아닙니다. 이 모델은 처음부터 JetBrains IDE에서 클라우드 기반 코드 완성을 강화하려는 목적으로 개발되어 지난해 일반에 공개되었습니다. 또한 Mellum은 앞으로 출시될 코드 특화 모델 시리즈의 첫 주자이기도 합니다.
그럼에도 오픈 소스화한 이유는?
투명성과 협업, 그리고 함께 성장하는 힘을 믿기 때문입니다. Linux와 Git부터 Node.js와 Docker에 이르기까지 오픈소스는 기술의 비약적인 발전을 가능하게 한 핵심 동력이었습니다. 현재 오픈소스 LLM이 일부 업계 선두 모델들을 능가하고 있는 만큼, AI의 전반적인 발전 방향도 비슷한 흐름을 따를 가능성이 충분하다고 볼 수 있습니다.
Mellum은 플러그 앤 플레이 솔루션이 아닙니다. Hugging Face에 공개한 이유는 특수 목적 모델이 내부적으로 어떻게 작동하는지를 연구자, 교육자, 그리고 전문 팀이 직접 살펴볼 수 있도록 하기 위함입니다.
포컬 모델이란?
머신러닝에서 특화(specialization)는 새로운 개념이 아닙니다. 오히려 수십 년간 모델 설계를 이끌어 온 핵심적인 접근 방식으로, 모델들은 특정 작업을 효율적이고 효과적으로 해결할 수 있도록 만들어져 왔습니다. 어느덧 AI에 대한 논의는 모든 일을 해내야 하는 범용 모델로 방향이 바뀌었고, 이는 종종 막대한 컴퓨팅 및 환경 비용을 초래하게 되었습니다.
이와 달리 포컬 모델은 한 가지를 잘 하는 모델을 만드는 원래의 원칙으로 돌아갑니다.
이는 T자형 스킬 개념과 비슷합니다. 다양한 주제를 넓게 이해하는 능력(T자의 가로 막대, 즉 지식의 너비)과 특정 분야에 대한 깊이 있는 전문성(세로선, 즉 깊이)을 함께 갖춘 상태를 말합니다. 포컬 모델은 이와 같은 개념을 따르며, 모든 것을 처리하려고 만들어진 모델이 아닙니다. 대신, 깊이가 진정으로 가치를 발휘하는 영역에 집중하여, 하나의 작업에 특화되도록 설계되었습니다.
Mellum은 그 대표적인 예입니다. 코드 완성을 비롯해 코드 관련 작업에 특화되어 설계된 작고 효율적인 모델입니다.
이러한 접근 방식을 취한 이유는 뭘까요? 모든 문제에 범용 솔루션이 필요한 것은 아닙니다. 모든 팀이 전방위적인 대규모 모델을 실행할 리소스를 가지고 있지도 않거니와 가질 필요도 없기 때문입니다.
Mellum과 같은 포컬 모델은 다음과 같은 확실한 장점이 있습니다.
- 도메인별 작업에 특화된 정밀한 성능
- 실행 및 배포와 관련된 비용 효율성
- 컴퓨팅 및 탄소 발자국 감소
- 연구자, 교육자 및 소규모 팀이 쉽게 접근
이는 퇴보가 아니라 특화라는 검증된 원칙을 현대 AI 문제에 적용한 것입니다. 앞으로 나아갈 더 스마트한 방식이라고 생각합니다.
Mellum의 성능은?
Mellum은 다중 언어 4B 매개변수 모델로, 특히 코드 완성에 최적화되어 있습니다. 여러 언어에 걸쳐 다수의 데이터세트에서 벤치마킹을 실시했고, JetBrains IDE에서 사람이 직접 광범위하게 평가했습니다. 아래에 일부 대형 모델과 비교하여 Mellum을 평가한 자료가 나와 있습니다. 자세한 정보와 결과 및 비교 내용은 모델 카드에서 확인할 수 있습니다.
HumanEval Infilling | RepoBench 1.1(2K 컨텍스트, py) | SAFIM(평균) | ||
한 줄 | 여러 줄 | |||
Mellum-4B-base | 66.2 | 38.5 | 28.2 | 38.1 |
InCoder-6B | 69.0 | 38.6 | — | 33.8 |
CodeLlama-7B-base | 83.0 | 50.8 | 34.1 | 45.0 |
CodeLlama-13B-base | 85.6 | 56.1 | 36.2 | 52.8 |
DeepSeek-Coder-6.7B | 80.7 | — | — | 63.4 |
Mellum 사용 대상(비대상)
현실적으로 일반 개발자가 Mellum을 세부적으로 조정하거나 배포하지 않을 것입니다. 괜찮습니다.
현재 Hugging Face에 공개된 Mellum 버전의 대상자는 다음과 같습니다.
- AI/ML 연구자: 특히 소프트웨어 개발, 벤치마킹 또는 모델 해석 가능성에서 AI의 역할을 연구하는 경우
- AI/ML 엔지니어 및 교육자: 도메인별 언어 모델을 구축, 세부 조정 및 적용하는 방법을 배우거나 LLM 아키텍처 및 특화에 중점을 둔 교육 프로그램을 지원하기 위한 기초로 활용
지금 Mellum을 체험해 보세요
Mellum은 현재 Hugging Face에서 제공 중입니다. 저희의 여정은 이제 시작입니다. JetBrains는 범용 모델을 추구하지 않고, 하나의 목적에 집중하는 모델을 만들고 있습니다. Mellum이 단 하나의 의미 있는 실험, 기여, 혹은 협업을 만들어낸다면, 그것만으로도 충분한 성과라고 생각합니다.
여러분이 Mellum을 직접 사용해보시고, 저희와 함께해 주시면 좋겠습니다.
게시물 원문 작성자